動画の最後のOver Driveは、Over Driveエフェクタではなく、NJM13600への入力レベルを大きめにして歪ませてみた。
処理時間の比較
SPI VCA
ch1:D3 ch2:D2
ch1:D3がHの区間はサンプリング周期でエンベロープ出力のみに使った時間。およそ11us~14us。
ch2:D2がHの区間は同じく、全処理に使った時間(エンベロープ出力+波形出力)。およそ13~16us。
サンプリング周期が20us(50kHz)なのでほぼほぼ処理に時間消費してしまっている。
ch1:D3 ch2:CS
ch2:CSがLの区間は、MCP4922とのSPI通信に費やしている時間。おおよそ7us~9us。
エンベロープ出力に11us~14usかかっているので、4~5us程度がSPI通信以外のエンベロープ生成に使っている時間。
サンプリング・レートが50kHz程度だと、F446でも1chでSPI通信だけで9us程度使ってしまうので、MCP4922に2ch出力するのはキツそうだ。これ以上SPIクロックを上げてもあまり効果はなさそう。(参考「Nucleo F446RE(mbed)の内蔵DACとSPI DACのMCP4922の速度を比較する」)
内部演算
振幅変調をプログラムで行った場合。
ch1:D3 ch2:D2
エンベロープ計算に3us。波形出力完了まで4.8us。
SPI VCAのエンベロープ
SPI VCAの回路図
回路図のD-3エリアのトリマのR6とC3で構成されるLPFでエンベロープ波形を滑らかにしている。ここの波形を見るためにトリマを回しながらR7入口側のポイントの波形を見てみた。
R6最小
R6中間
R6最大
振幅変調のエンベロープはプログラムで滑らかにしているので、R6最小がパキっとした感じで良さそう。動画はR6を最小にして録音している。
0 件のコメント:
コメントを投稿