2015年10月13日火曜日

固定小数点演算でリズムマシンのプログラミング(Visual C++)

Visual C++でリズムマシンのコードを書いた。

12bitのデータを数値出力してGoldwaveで再生したものをYoutubeにアップした。


Visual Studio 2013のプロジェクト
https://github.com/ryood/DDS_RhythmMachine_Test/tree/fixedpoint/DDS_RhythmMachine_Test

ソースコード
https://github.com/ryood/DDS_RhythmMachine_Test/blob/fixedpoint/DDS_RhythmMachine_Test/DDS_RhythmMachine_Test.cpp

浮動小数点演算が出てこないようにしたが、波形の出力周波数の設定値だけはdouble型のまま。

32bit固定小数点型にすると2^32と掛け算するときにオーバーフローするので保留。
→リズムマシンなので音程の精度は必要ないので問題があれば整数型にするつもりだ。toneAmountで位相変調して周波数の微調整をすればいいかな?

スネアの音にスナッピーを入れたり、クラップやその他も作りたいけど、一旦PSoCに落とし込んで様子を見たいと思います。