Wizard Notes

Python, JavaScript を使った音楽信号分析の技術録、作曲活動に関する雑記

Sonokinetic の音源をKontaktで読み込めない/インストールできないエラーへの対処方法

先日の Sonokinetic 社の Holiday Gift/Sale で 同社の音源を入手された方も多いと思います。 Sonokinetic - Sample libraries and Virtual Instruments Carousel - Sonokinetic - Sample libraries and Virtual Instruments Sonokinetic 社の音源はSonokine…

Python PyFilterBankで環境音をオクターブバンド分析

はじめに 音信号の分析では、時間波形を直接分析するのではなく、様々な周波数分析手法を利用します。 比較的細かい周波数成分を見る方法としては、 STFT (短時間フーリエ変換) CQT (定Q変換) メルフィルタバンク がよく使われています。これらのライブラリ…

PyQtで作るdB単位の音量フェーダー

dB単位の音量フェーダー pic.twitter.com/mJK2E6RmnJ— Kurene (@_kurene) 2020年12月22日 PyQtで作るdB単位の音量フェーダーを作ってみました。 信号に乗算するゲイン係数は、音量フェーダーのdB値 x から、 として算出しています。 ソースコード GUI クリッ…

PyQt Qsound でオーディオファイルを再生/停止

PyQt 5 / PySide 2 には、オーディオファイルの再生/停止ができるモジュール QSound があります。 使い方は非常に簡単で、play(),stop()といった関数でオーディオの再生/停止を操作できます。 from PyQt5.QtMultimedia import QSound audiofilepath = ...…

メロディ分析/抽出のための、librosa.salience() によるSalience (顕著性) スペクトログラムの算出

はじめに Python の音楽信号分析モジュールである LibROSAには、楽曲の音高/メロディ/和音情報をより精度よく抽出するためのツールとして、Salience (顕著性)スペクトログラムを抽出する関数 librosa.salience が実装されています。 今回は、librosa.sal…

LibROSAにおける Salience (顕著性)スペクトログラムの算出方法の解説

はじめに この記事では、 以下の記事で紹介 LibROSAのSalience スペクトログラムの算出方法を解説します。 www.wizard-notes.com 実際の計算方法、プログラムはlibrosa.salience() をご参照ください。 Salience スペクトログラムとは Salience スペクトログ…

RxPY での並行処理(ThreadPoolScheduler,subscribe_on() と observe_on() の比較)

RxPY でのrx.scheduler.ThreadPoolSchedulerを使った並行処理の書き方です。 注意として、rx.scheduler.ThreadPoolSchedulerは from concurrent.futures import ThreadPoolExecutor を利用しています。 Pythonでは GIL (Global Interpreter Lock, GIL) によ…

RxPY 3 入門メモ(簡単なサンプルコード、用語、使用例)

Python 用の Reactive Extensions ライブラリである RxPY を勉強し始めました。 RxPY を使えば、非同期的に流れてくるデータのシーケンス/ストリームに対する処理を簡単に記述できます。 https://www.atmarkit.co.jp/fdotnet/introrx/introrx_01/introrx_01…

PyQt でアプリの背景色やテキスト文字の色などの属性を設定する方法

PyQtを使っていると、背景色やテキスト文字をサクッと設定したいことが多々あります。 各QWidgetオブジェクトごとに設定してもいいのですが、面倒なので、まとめて設定する方法を紹介します。 方法1:QPallete QPaletteクラスを使うことで、コンポーネントご…

removestar: Pythonでワイルドカードインポートを明示的インポートに自動で置換

pypi.org Pythonのワイルドカードインポートimport * は便利ですが、どの変数・関数を利用しているか分かりにくいです。 そんな場合、このremovestarを使うと、ワイルドカードインポートを明示的インポートに置き換えてくれます。 import文周りがスッキリす…