TK80/BSの

シンセシステムを復活/拡張したい〜

その38

FPAGシンセ作製
2019年
4月20日
先週、パラメータ設定器からFPGAシンセ本体へチャンネル/ファンクション番号が送信できることを確認しましたが、実際にパラメータを変更しもFPGAシンセ側に反映されませんでした。送信データのポストアンブルが間違えていました。FPGA側はプリアンプル=0xA5、ポストアンブル=0x5Aの時に有効データとしているところを、
ポストアンブルも0xA5で送信していました。早速、パラメータ設定器のMSP430のプログラムを修正して動作確認します。


デバッグ用のロジックを追加して、パラメータ値をボード上のLED表示するようにします。パラメータを0x40にすると、正しく表示します。



パラメータを0x50にすると、LEDも0x50になり、シンセのパラメータ変更されるようになりました。


4月21日
2chのFPGAシンセのパラメータをパラメータ設定器から設定できるように、ロジックを追加修正します。また、DCF前段にDCOの各波形をミックスするミキサーを実装します。修正箇所が多いので少しづつ修正して、動作確認します。



5月6日
連休の前半でミキサーを実装したので、動作確認します。はじめにノコギリ波のみです。


続いて、矩形波のみです。矩形波のデューティはLFOとEGで変調できます。下はデューティ50%です。


続いて、基本波の2倍の矩形波のみです。デューティ比50と25%を選べます。下はデューティ50%です。


続いて、基本波の1/2倍の矩形波のみです。デューティ比50と25%を選べます。下はデューティ50%です。


次に肝心のミックスです。矩形波2倍の矩形波と1/2倍の矩形波を同じ比率でミックスしてみます。矩形波のデューティ比は50%です。


上記と同じ比率で、デューティ比を25%にしたときです。


続いて、ノコギリ波矩形波2倍1/2倍の矩形波を適当に加算して、ノコギリ階段状に調整してみます。パラメータのうち、外部入力DCO2は未実装のため、未検査ですが、その他は動作良好のようです。


DCO1の矩形波のデューティのパラメータ10にしてみます。出力は太い凸パルスです。


上記と同様で矩形波のデューティパラメータをF0にしてみます。出力は細い凸パルスです。このパラメータ値はノコギリ波と比較する閾値なので、パラメータ値とパルス幅はなります。


5月12日
以前にLFOを修正して三角波/矩形波と同時にゲート用信号を同時に出力できるようにしました。このIPを現在のロジックに組み込んでみます。細いパルスを作り、EGに入力して、周期的に発音してみます。正常動作しています。



5月15日
2チャンネル分実装しているFPGAシンセを4チャンネルに拡張しました。アパートでの作業なので、4つあるデルタシグマDACの出力をアナログディスカバリで確認しただけで、実際に音出ししていません。波形を見る限り、問題なく動作しているようです。リソースの使用率はLUTスライス約30%DSP約26%(64個)です。これであれば
8チャンネルまで組み込めると思われます。余裕があれば1chあたり、DCOLFOを2個実装します。


4チャンネルをインプリしたデバイス図です。一瞬、半分以上使っているように見えます。



5月18日
アパートで実装した4チャンネルの動作確認を行います。デルタシグマDACの出力に抵抗を繋いで簡易ミックスして音出しします。問題ありません。


5月19日
4チャンネルから8チャンネルに修正します。
リソースの使用率はLUTスライス約67%DSP約53%(128個)です。


8チャンネルをインプリしたデバイス図です。空いていた下側も使われています。


8チャンネルのデルタシグマDACを簡易ミックスして、録音してみます。


DCFに入力する波形は矩形波の基本、2倍、1/2403010の比率でミックスします。


フーガの技法の1番(4声)を1〜4チャンネルと5〜8チャンネルに同じパートで出力して確認します。各DCOをデチューンして、少しLFO周波数変調します。クリックするとMP3をダウンロードできます。録音時のパンポットとエフェクトは無しです。


パラメータ設定器にパラメータリストを表示するヘルプ追加しました。パネルにはP1〜6とSW1〜3のレタリングしかないため、全部のパラメータを覚えられません(笑)。ロータリエンコーダのを押しながらを押すとヘルプ表示に入ります。パラメータリストは最大で3ページあり、ファンクションによっては2ページもあります。ページ指定はP7の3つのスイッチで行います。下はDCO1の1ページです。


続いて、ページです。


ページはP7のスイッチの説明です。ロータリエンコーダのを押しながらを押すとヘルプ表示から抜けます。


ヘルプ表示用のテキストを編集して、パラメータリストを作成しました。緑色は未実装/未検証です。
[DCO1/2]
 P1:Tune
 P2:EG Mod
 P3:LFO Mod
 P4:Pw Offset
 P5:Pw LFO Mod
 P6:Pw EG Mod
 P7:SW
  1:Mod LFO1/LFO2
  2:Pw LFO1/LFO2
  3:EG Mod Nom/Inv

[MIX]
 P1:Saw Lev
 P2:DCO1 Pw Lev
 P3:DCO1 Pw*2 Lev
 P4:DCO1 Pw/2 Lev
 P5:DCO2 Lev
 P6:Ext Lev
 P7:SW
  1:DCO1 Pw 50/25%
  2:DCO2 Saw/Pw
  3:-

[DCF]
 P1:Cutoff
 P2:EG Mod
 P3:LFO Mod
 P4:Resonanse
 P5:-
 P6:-
 P7:SW:
  1:Mod LFO1/LFO2
  2:-
  3:-

[DCA]
 P1:Hold
 P2:EG Mod
 P3:LFO Mod
 P4:-
 P5:-
 P6:-
 P7:SW
  1:Mod LFO1/LFO2
  2:-
  3:-

[EG]
 P1:Att Time
 P2:Dec Time
 P3:Sus Level
 P4:Rel Time
 P5:VELO Lev
 P6:-
 P7:SW
  1:Manul Gate
  2:LFO1 Gate
  3:LFO2 Gate

[LFO1/2]
 P1:Freq
 P2:Pw
 P3:Dly Att Time
 P4:Dly Rel Time
 P5:-
 P6:-
 P7:SW
  1:Wave Tri/Pw
  2:Mode Nom/Sync
  3:Manual Gate


デルタシグマADC基板を接続するために、デバッグ用のSPI−DACをPMODコネクタからCHIPKITに移動しました。PMODコネクタ3つが空き、これでデルタシグマADCを接続できます。







back