TK80/BSの
シンセシステムを復活
/拡張したい〜
その64
XFM2シンセの作製
MC80用バススイッチの作製
2021年
9月1日
アパート作業です。XFM2のGUIの続きです。
XFM2_Editor
の
YouTobe動画
の
5分位
から
waveset
の
波形選択
の説明が始まり、
動かない
と説明されています。現状では機能しなくて正解です。
9月2日
アパートの作業です。
DX7のROMの音色は
XFM2_Editor
を使ってシリアルフラッシュへ書き込みできますが、1個づつ書き込むため、全て書き込むのには128回行う必要があり、面倒です。Factory_Bank.bankの代わりに一体になった
DX7
の
ROM
の
bankファイル
を作成してみます。
dx72xfm2
でDX7のROM音色をXFM2用のSysexデータに変換すると、”
音色名.syx
”というファイルが32個生成されます。同時に
音色名
と
各パラメータ
の設定値が標準出力に
ログ表示
されます。
先頭に
00
を書いて、
syxファイルの先頭を
5バイト飛ばして
から、その後
2バイト
になっているSysexデータを
1バイト
に結合して順次511パラメータ分を書くと
bankファイル
の元ができます。1つの音色パラメータの長さは
512バイト
です。
32個のファイル全てを
bankファイル形式に変換して、1つにまとめる
スクリプト
を作成して実行します。
ファイルの大きさは32音色で
16Kバイト
です。
4つの
ROM1A
、
ROM1B
、
ROM2A
、
ROM2B
を結合する32音色が4つで128音色の
64Kバイト
になります。赤枠の
05
が付属のエクセルシートの先頭の
1番
のオペレータ1のアルゴリズムの
パラメータです。
Factory_Bank.bankの代わりに作成した
DX7_1_2.bank
ファイルをXFM2へ書き込みます。無事DX7のROMの
128音色
が書き込みできました。
変換時に出力される
ログ表示
から、音色名の
リストファイル
も作成しました。XMLにすれば
音源定義ファイル
も作れます。
9月4日
アパートで
DX7_1_2.bank
ファイルを作成しましたが、続きでのROM3とROM4から
DX7_3_4.bank
ファイルを作成しました。
DX7_3_4.bank
ファイルをXFM2にロードして動作を確認します。良好です。
音色リスト
ファイルも同様に作成しておきました
現在のシ ンセシステムはシーケンサが
TK80BS
と
互換機
の2種類、MC80バスを受けるシンセが旧シンセの
DCO(含むMC80)
+
FPGAトーンジェネレー タ
、
FPGAシンセ
、作製中のRep_Dma
ウェーブテーブルシンセ
、予備の4種類です。これらを相互に接続するMC80
バススイッチ
を作製します。現在は
TK80BSと互換機は
ケー ブル
で切り替え、シンセ側はパラレル接続しているので、これをやめて、機器の電源の
投入順序
を気にしなくても良いようにします。回路は
スリーステートバッファ
と
クイックスイッチ
で構成しましす。ブ ロック図を作って、ケースのリアパネルに取り付ける
コネクタ基板
を作製しました。30ピンのコネクタを
8個
取り付けました。
コネクタ基板は
アングルコネクタ
で
ボード接続
します。
8255
の3ポートが30ピンに接続してありますが、そのうち、バススイッチに配線するのは
ポートA
のデータ
8ビット
と
ポートC
の
4ビット
の合計12ビットです。
9月5日
リアパネルの
加工図
を
QCAD
で作成します。
ケース
は
USB−パラレル変換
機や
ベロシティパッチと同じサイズの物を使います。
2.54mm
ピッチで図面を作成します。
XFM2用に
USB−パラレル変換機
のプログラムを変更します。USBから
11チャンネル
を受信した時に
MIDI
へ出力するようにします。
1〜8チャンネル
がMC80バスの
シンセ
に使用し
9
、
10
(リズム)と追加の
11チャンネル
を
MIDI
に出力します。これで
9
と
11チャンネル
を
XFM2
で使えます。
XFM2
の受信チャンネルを
9
と
11チャンネル
に設定して、
動作確認
を行いました。
動作良好
です。
9月9日
アパートの作業です。先週末に
USB−パラレル変換機
を11チャンネルに対応させたのですが、XFM2のMIDIチャンネルを
1と2以外
にすると、ノートオン/オフ、プログラムチェンジ以外の
Sysexデータ
を
受け取らなく
なってしまうようです。ユニット1のMIDIチャンネルが
1チャンネル
の時は、GUIのXFM2_EDITORのPAN操作で
パンポット
は正しく
動作
します。
この時にRealTermで受信した
Sysexデータ
を表示さると、
XFM2_EDITOR
が
PANの情報を
正しく
送信していることが分かります。
XFM2_EDITORで
ユニット1の
送信MIDI
チャンネル
を
9チャンネル
に設定します。
続いて、XFM2の
ユニット1の
受信MIDIチャンネル
を
9チャンネル
にした後、
FM2_EDITORで
PAN
を変更すると、
以前と同様にSysexデータを受信しますが、
パンポットは
変化しません
。
ノートオン/オフ、プログラムチェンジはそれぞれ、9x、8x、Cxでメッセージ中のxに
MIDIチャンネル
が入りますが、SysexデータにMIDIチャンネルは無いので、GUIの問題ではなく、
XFM2
のロジックの
不具合
と思われます。
9月11日
バススイッチ
の部品を
マルツの通販で
購入しました。
74LV245
と
ピッチ変換基板
、30ピンの
圧接コネクタ
とタカチの
アルミケース
です。
左は
クイックスイッチ
で別の基板に実装されていた
74CBT3245
で、ピッチは0.635mmです。この
変換基板は
幅広
なので、中央を切り取り、幅を狭くしました。
右は購入した新品の
スリーステートバッファ
の
74LV245
でピッチは0.65mmです。
スリーステートバッファの
74LV245
を
4個
、クイックスイッチ
74CBT3245
を
8個
ユニバーサル基板に実装します。
9月12日
クイックスイッチ
は
中古デバイス
のため、アナログディスカバリの
パターンジェネレータ
でクロックを入力し、出力をオシロで
レベル確認
し、ロジックが正しく
通過
するか確認しました。
動作良好
です。
コネクタ基板
と接続する、裏側の
配線
を少し
進め
ました。
9月13日
お昼休み作業です。
バススイッチ
のリアパネルの加工をCNCフライスで行うために図面を
修正
します。CNCフライスで加工するためには
お作法
があり、すっかり忘れていました。ガレージと同じ環境のFreeBSDが動く、WIN10の
VMware上
で変換結果を確認します。修正したDXFをCNC用のデータに変換後、CNCフライスの制御プログラムに読み込んで、
切削動作
をさせます。当然、機械は繋がっていないので、デバイスは
/dev/null
です。ほんの1秒位で終了します。
gnuplot
でプレビューや、
切削経過
が確認できます。
正しく
変換できているようです。
バススイッチ
の
ブロック図
を作成しました。スリーステートバッファの選択は
排他的
、クイックスイッチは対象のシンセの電源が入っていたら
イネーブル
にします。
9月16日
アパートの作業です。
今年の2月ごろの
Nexys Videoボード
を使ったDMAウェーブテーブルシンセの続きです。Digilent社のDDR3を使ったI2Sの
録音/再生デモ
のロジックから、
DMA、
I2SとI2Cを削除して、
緑枠
の
myip1
の
MC80バスのデータの
ラッチ
と
DDS
、
赤枠
の
Rep_Dma
、
FIFO
、
デルタシグマADC
を1チャンネル分追加しました。
DDR3の温度キャリブレーションを
定数
に変更していますが、
ベロシティ制御用の
XADC
はまだ追加していません。
必要な
FMC
と
PMOD
コネクタの信号線を
制約ファイル
に追加して、合成、インプリして
デバイス図
と
使用量レポート
を確認します。スライスの使用量は
約12%
です。上手く行けば
Nexys Videoボード
で1チャンネルのウェーブテーブルが動作するはずです。その後はFIFOとデルタシグマADCの間にHLSで作成した、
DCF
、
DCA
、
EG
、
LFO1
、
LFO2
のFPGAシンセユニットを入れると
1チャンネルの
ウェーブテーブルシンセ
ができる予定です。先は長いです。
秋月で
Nexys Videoボード
が
期間限定の9月末まで46400円で
安売り
しています。1万円以上安くなってます。
9月18日
今週末から1週間遅い
夏休み
です。
バススイッチ
の
配線
を進めます。
9月20日
バスの入出力のイネーブルを
制御
する
74HC00
のICソケットを3個追加し、
フロントパネル
の
コネクタ
も追加します。
リアパネル
の穴開け加工を
CNCフライス
で行います。生アルミなので、柔らかく
バリ
が出ます。
基板固定用
の穴とフラットケーブルの
コネクタ
の加工が完了しました。全て2.54mmピッチなので、ネジの位置も
ぴったり
です。圧接コネクタも
干渉しない
ことを確認します。
9月21日
フロントパネル
の
レタリング
の原稿をQCADに入力します。
ドリルセンタ
、
文字
、
ライン
の
レイヤ
に分けて作成しました。
HeeksCNCで
DXFを
Gコード
に変換し、その後、レーザ加工用に変換し
NCVC
で
確認
します。
問題なさそうなので
レーザ加工機
でレタリング刻印を行います。パネルは黒の
アルマイト処理
です。穴加工用の
ドリル
の
センタ
もマーキングします。
9月22日
接続機器から
電源ステータス
を出力するように改造します。初めに
USB−パラレル変換機
です。
切り子が中に入らないように
厚紙
で保護して、電動ドリルで
3.5mmジャック
の穴開けを行います。
電源ステータスの
追加完了
しました。
フロントパネルの
ドリル
センタ
に
ポンチ
を打ってボール盤で
穴開け加工
を行い
LED
を取り付けましたが、緑LEDが
漏電
してます。LEDは3mmで樹脂が薄く、アルミパネルの
エッジ
が
電極
に接触しています。エポキシ接着剤で固定した後に見つかったため、一度接着剤を剥がして漏電しているLED3個を
交換
しました。
FPGAシンセ
に電源ステータスを
追加
しました。
続いて
FPGAトーンジェネレータ
です。こちらも電源ステータスの
追加完了
です。
9月24日
続いて、
MC80+
です。
リモコン
から電源ステータスが取れないか、分解してみましたが、5Vでは無く、C−MOSの
4000シリーズ
を使った
6V電源
でした。基板が追加されて、
アナログスイッチ
が実装されていました。記憶が無いです。
リモコンからの電源ステータスはあきらめて、
リア
のヒートシンクに付いている5Vの
3端子レギュレータ
から150オーム抵抗を介して分岐しました。L字金具を作って
絶縁ジャック
を取り付けました。
MC80+の
リモコン
ですが、
標準フォーマット
ではありませんでした。前に購入したマルチファンクションテスタはリモコンのデータ表示機能があるので、確認してみましたが、
認識されません
でした。普通のテレビ用のリモコンなら右のように
波形
と
コード
が表示されます。このリモコンは80年代に
秋月
で売っていたものです。MC80+の
スタート
、
ストップ
がリモコン制御できます。
TK80BS
本家から
電源ステータス
を取り出します。筐体を分解するのが面倒なので、
拡張インターフェースバス
の電源から取り出す専用の
コネクタケーブル
を作製しました。抵抗はジャック内に実装しました。
秋月で購入した
部品
が届きました。安売りしてた
Nexys Vedeoボード
、
ユニバーサル基板
、
74HC00
、2.5mm
プラグ
と
ジャック
です。
プラグとジャックは個数を
間違え
ました。9個必要なところ、
8個
しか買ってなかったです。
ついでに購入した
FT232H
モジュールです。USBから
GPIO
や
SPI
を制御できます。
FreeBSD
から制御する予定です。
2.5mmプラグとジャックの数を間違えて足らないので、
仕様変更
して、TK80BSと
互換機
の電源ステータスは
フラットケーブル
で送ることにします。バスの30ピンのケーブルは
4ピン
が
余っている
ので、その内2ピンを
電源ステータス
に使います。初めは
TK80BS
本家です。シンセ用の8255コネクタに抵抗を追加して
5V
へ接続しました。上で作製した
コネクタケーブル
は
ボツ
になりました。
続いて、
互換機
の電源ステータスです。同じく、
拡張インターフェース
のシンセ用コネクタに
抵抗
を追加して
5V
へ接続しました。
9月25日
フロントパネル
の配線を行います。赤枠の入力切替側のジャックは
3.5mm
に変更しました。この2個のジャックは
フラットケーブル
から電源ステータスが来るので
未使用
です。
バススイッチは
USB−パラレル変換機
と接続します。30ピンの
圧接コネクタ
と
フラットケーブル
で接続ケーブルを作製します。下の2本がUSB−パラレル変換機の接続用、上が
FPGAシンセ
のケーブルです。
9月26日
バススイッチの
リアパネル
と
基板間
の配線、フロントパネルの
電源
の配線を行いました。
バススイッチの上に
USB−パラレル変換機
を乗せます。上で作製した
ケーブル
で
接続
してみます。
動作確認
を行います。初めに
入力側
です。
TK80BS
と
互換機
を接続して確認します。両方の電源がオンの時には
互換機
が
優先
になることを確認しました。
続いて、
出力側
です。旧シンセ用のバスは
MC80+
、
DCO
、
FPGAトーンジェネレータ
、
USB−パラレル変換機
の4つ
全て
の電源がオンになっていれば
イネーブル
です。2.5mmのプラグに
ダミー
の電源を接続して確認しました。他のバスは
対象機器
と
USB−パラレル変換機
の電源がオンになっていれば
イネーブル
です。
制御回路は
動作良好
です。
実際に
音出し
して確認します。USB−パラレル変換機は使用しないで、ケーブルで
スキップ
させて確認します。
動作良好
です。
続いて、
USB−パラレル変換機
を接続して
音出し確認しました。
正面から見ると
赤LED
が
明るすぎ
ですが、動作は問題ありません。
旧シンセの
DCO
から
電源ステータス
を取り出します。DCOは1chだけMSP430のDMAを使った
ROMエミュレータ
が接続されています。USBケーブルを通すためにボリューム外した
穴
を使っています。この穴を通して
電源ステータス
も取り出します。MSP430の
5V電源
に抵抗を介してケーブルを接続しました。