筐体
基本はMDFでフレームを作り、アガチス材で作ったサイドパネルをつけて見栄えを良くしています。
「ベースマシンの筐体づくり」
「ベースマシン 筐体のサイドパネルをニスで塗装してみた。」
シーケンサー部
ブロック図
Nucleo F401RE
シーケンサーのコアとなるボードです。ユーザーインターフェースからの入力(POT/Rotary Encoder/SW)をまとめ、SPI接続のGraphic LCDにフィードバックしつつ、シンセ部(Synth)にSPI通信でシーケンスを送信します。
電源はシンセ部(synth)から+9Vの供給を受けています。
ファームウェア mbed repository:
https://os.mbed.com/users/ryood/code/BaseMachine/ Revision:29
その他は「ベースマシン まとめ(弱め)」から、大きな変更はありません。
シンセ部
ブロック図
+/-9V PSU
DC12VのACアダプタから±9Vを作る電源ユニットです。
「LT1054」
5V/3.3V/2.5V PSU
±9V PSUから、5V、3.3V、2.5Vを作り出す電源ユニットです。±9V電源もパススルーしています。
「5V/3.3V/±2.5V安定化電源」
SPI Bus Buffer
シーケンサー部からのSPI信号をバッファリングしています。
「SPIバス・バッファ(TC74HC541)基板の製作」
PSoC4 DCO
PSoC4 Prototyping Kitを使った矩形波/ノコギリ波のDCOです。同じパラメーターで矩形波のパルス幅、ノコギリ波⇔三角波のモーフィングができるようにしています。
「PSoC 4 Prototyping Kit DCOでけた。」
「PSoC 4 DCO ノコギリ波~三角波を可変して出力するようにしてみた。」
ファームウェア
https://github.com/ryood/PSoC4_DCO/tree/master/PSoC/PSoC4_PrototypingKit_DCO_for_NucleoF401RE.cydsn
SVF DCF
最初はVCVS DCFを使っていましたが、仮想GNDの取り扱いに問題があり、新たにSVF DCFを製作しました。←VCVS LPFもいずれ作り直すつもりです。
「SVF DCF」
「SVF DCF 出力のGNDを修正 仮想GNDの扱いには注意するべし」
OTA DCA
「NJM13700 DCAの基板でけた。」
課題
KIK01とベースマシンをMIXして問題が見つかりました。
https://soundcloud.com/od-ryo/sync03
WaveSpecraでFFTしてみると
KIK01とベースマシンのMIX
1kHzとその高調波にピークが出ています。
おそらくF401REのファームウェアでRTOS Timerの1ms周期でシンセ部にSPI送信を行っているためだと思います。
ベースマシンのみ
ベースマシンのみの出音の場合は波形の歪が多く発見が困難。
KIK01のみ
KIK01は32kHz周期でエンベロープ波形を更新しているため32kHzにピーク。
上記が原因という確証はないのですが、ベースマシンの波形更新処理時間を測定するなどしてもう少し調べてみたいと思います。
ただ、mbedのRTOS Timerの割り込み間隔の最小は1msなので、更新周期を速くするにはタイマー割り込み(Tickerクラス)に変更する必要があるのでやっかいそうです。
こういう音(歪、ノイズ)と割り切る手もありそうですが(^q^;
0 件のコメント:
コメントを投稿