4Eのデザイン実験で用いるシンセサイザーライブラリ
- .Net Core 3.1 SDKをダウンロード
- Windowsの場合はSDK Installer->x64で基本的にOK
- build-windows.batをダブルクリック
- Release/TestTool.Windows.exeを実行
- libsoundo/Linux-Release/にlibsoundio.a, libsoundio.so, libsoundio.so.2があります
- 任意の場所で
sudo apt-get install cmake libasound2-dev
git clone https://github.com/andrewrk/libsoundio.git
cd libsoundio/
mkdir build && cd build && cmake ..
make
- libsoundio.a, libsoundio.so, libsoundio.so.2ができているはず
Windows上で
- bash等で
sh publish-linux-arm.sh
- build/linux-arm/にlibsoundio.a, libsoundio.so, libsoundio.so.2をコピー
sh publish-and-sync.sh
- ラズパイの
/home/pi/TestTool.Platform
にlinux-arm以下がすべてコピーされる
次に、Raspberry Pi上で
- ラズパイのターミナル上で
/home/pi/TestTool.Platform
へ移動 chmod 755 TestTool.Platform
./TestTool.Platform
- 440Hzの音が出れば成功
- Visual Studioをインストール
- Synthesizer.slnを開く
- KSynthesizer
- シンセサイザーのコアライブラリ
- クロスプラットフォーム対応
- .Net Standard 2.1, .Net Core 3.1
- TestTool.Windows
- Windows向けのデバッグツール
- 波形表示やオシレータの調整が可能
画面上でFFTを確認できますが、周波数分解能が86Hzくらいなのでごく低周波では大して使えないです。 原因としては、FFTする際に最大でも512サンプルしか渡してないので、44100Hz/512=86Hzとなるからです。 必要ならWAVファイルをエクスポートして、古いですがこちらのツール等で解析するといいかと。 WaveSpectra
- Sin波
- 矩形波
- ノコギリ波
- 三角波
- ミキサー
- LPF
- HPF
- リバーブ
- 全体用のADSR(時間変化に大して音量を変化させる e.g. 減衰していく振動など)
- フィルタ用のADSR(時間変化に対してフィルタのカットオフを変化させる)
- キーボードからの入力
- PWM出力
- BPF
- コーラス
- ディレイ
Cookbook formulae for audio equalizer biquad filter coefficients