さらにArduinoのMIDIシンセを細かくチューニング。
タイマー1のPWMをモード5のfast pwm(8bit)で
動かしていたんだけど、もうちょっと分解能を高めたい
と思って、モード6のfast pwm(9bit)にしてみる。
併せて、定数定義関係でconstを使っていたのを
#defineに直してSRAMの消費を抑えたり、そもそもの
定数定義の計算式で根拠が怪しそうだったところを
少し整理してみた。
8から9ビットになって、音質的には劇的には
変わった感じではないんだけど、ダイナミック
レンジが6dbほど上がったので、正弦波がより
正弦波に聴こえるようになったような感じ。
ただ、DDS計算を無理やり毎秒20000回詰め込んで
いる都合上、ここの処理落ちによるノイズが
いかんともしがたい感は拭えない。微妙に載る
ザラザラとしたノイズ。
まぁ、これ以上を求めるならアセンブラ使ったり
色々前提条件が変わってきちゃうので手を打つ。
さて、あとは16チャンネル全部からの受付ができる
ようにMIDIライブラリもどきを考えないとな。
processingって、webcamまで扱えるのか…
http://techno-st.net/2008/09/30/processing-webcam-1.html
webcam使いにはWinVDIGっていうのが要るんだな。
なんだろう?WinVDIGって。processing専用では
ないみたい。
あとで読もう。
http://processing.org/reference/libraries/video/index.html
|