秋月電子に、アナログシンセサイザーパーツセット(NOISE TOATSTER)というものが販売されています。 このセットを組み立てて出来上がるシンセは、NOISE TOASTERという名前が付いているとおり、キーボードで音階を奏でるようなシンセサイザーではなく、ヘリコプタの音や機関銃の音、風の音などの疑似音・効果音を作って遊ぶシンセサイザーです。 私も以前に購入して遊んでみたのですが、効果音を鳴らしているだけでは面白くなく、これにMIDIキーボードを繋いで音階をだせないものかとキーボードの接続に挑戦してみました。 2.NOISE TOASTERの外部CV入力 NOISE TOASTERのホームページを見てみますと、基板設計の段階で外部からのCV入力の信号接続が考慮されていました。 ページを下のほうへ繰って行くとModification Pads#2の項目で、次のような図がみつかります。
ここに、PICマイコンで作ったMIDI-CVからの制御電圧を繋げば、音階を奏でることが出来そうです。 解説のVCOの項を読んでみると、As a matter of fact when the output of U1-C changes by about 18mV (up or down) the oscillator's frequency changes by approximately an octave (also up or down). 実際のところ、U1-Cの出力が約18mV(上下)変化すると、発振器の周波数は約1オクターブ(上下)変化します。(google翻訳)との記述があります。 これより、MIDI-CVの制御電圧はオクターブ毎に等間隔の電圧を生成(シンセ製作の場では普通)すればよいことになります。18mVへの電圧スケールの変換は、基板写真のRによって行います。 3.MIDI-CVの製作 MIDIキーボードのMIDI信号を読み取って押された鍵盤のノートナンバーに応じてしかるべく制御電圧を発生するのがMIDI-CVの役目です。通常はゲート信号も合わせて発生させるものですが、今回は、電圧発生だけにしておきます。 MIDIキーボードとの接続は、レガシーキーボードならDIN5ピンのコネクタを使ってフォトカプラを通してPICのUARTに繋ぎます。USB-MIDIのキーボードならUSB-HOSTの機能を持ったPICにUSBで繋ぎます。 どちらのキーボードであっても、扱うMIDI信号は同じですので、接続に関する部分の説明は省略し、制御電圧の出力について説明します。 使ったPICは、USBキーボードをPC98に接続するキーボード変換器の製作で作った基板を流用しましたので、PIC32MX220F032Bとなります。 PICのアウトプットコンペアモジュール(OC2)を使いPWMで電圧を生成しました。 OC2モジュールのタイムベースには、Timer3を使い、次のように設定を行いました。 T3CON = 0; T3CONbits.TCKPS=0b010; // 1:4 40MHz/4=10MHz PR3 = 255; // 10MHz/256=39.1KHz T3CONbits.TON=1; // Go Timer OC2CON = 0; OC2CONbits.OCM=0b101; OC2CONbits.OCTSEL=1; // use Timer3 OC2RS=255; OC2R=128; // Note Number 60(C3) OC2CONbits.ON=1; // OC2 on この設定でPWMの分解能は256となります。中央ドの音C3の出力が、PWMの中央値128で約1.65Vとなるようにしました。 キーボードからのノート番号に対して次のようにプログラムしています。OC2の出力パルス幅は設定値と反転します。 void cv_out(int note_number) { if(note_number >= 92 || note_number <= 28){ OC2R = 254; }else{ OC2R=256- ((note_number - 60)*4+128); } } 以下、各オクターブ毎の出力は次のとおりとなりました。
F0からG5までの範囲の音階を出力しています。オクターブ毎の電圧差は、実測で全て0.61Vになっています。
PWM信号は、PICのRB5から出力します。1KΩの抵抗と1uFのコンデンサで積分回路を構成して直流電圧にします。基板に接続する抵抗は、(0.61V/18mV)*2KΩで、68KΩとなり、51KΩと可変抵抗で構成しました。 4.動作確認 製作したMIDI-CV回路にMIDIキーボードを接続し、NOISE TOASTERに繋いで音出しのテストを行って見ました。
さて、期待どおりに音階を奏でることが出来たでしょうか。次の動画をご覧ください。 なんとなくドレミがそれなりに鳴っているようですがもう一つです。2オクターブに跨って鳴らしてみると音階がくずれているのが判ります。そこで、NOISE TOASTERのVCOの制御入力電圧と発振する周波数の関係を調べてみることにしました。 操作パネル左上のFrequencyのボリュームで周波数を動かします。動かした時の周波数とボリュームの出力電圧を測定します。 測定箇所は、端子X1の入力電圧とオペアンプU1の1番端子のランプ波形出力です。テスターとオシロの周波数計で測定しました。 測定結果です。差電圧のバラつきが大きいです。
これでは、うまく音階を奏でることは無理です。もう一度周波数を少しずらして測定してみました。
5.さいごに NOISE TOASTERにMIDIキーボードを繋いでメロディーを演奏するとそれなりには鳴りますが、使えるものではないということが今回の実験で判りました。 もともと、音階をきちんと奏でるように設計されたものではありませんので期待する方が無理ということでした。 |