秋月 FT-231X をインストール(VCP)し、ボーレート 31.25Kbps(Windows API)を試してみる。
設定できる様(オシロで確認)なので、物理層を作成。
2014/04/10 ハード作成
・全て手持ちの部品で済ます
(PC-900V なんか、20年位前に客先から貰ってきたヤツ)
・駆動が 74LS なのでファンアウトがチョト不安
(無印7400 の手持ちが無かった)
・SW を THRU側にすると 「MIDIスルーボックス」として動作(USB給電は必要) -> 確認
・キーボード >> MIDI-IN / MIDI-THRU >> 音源
PC(Windows)側ソフトはこれから作成
・強力なフィルタリングが可 (1バイトずつ受信するので何とでもなる)
・Windows MIDI API「SysEx 受信中に MIDI Clock が混入すると MIM_LONGERROR が発生する」の回避
・microKORG + YAMAHA UX16 で発生
・microKORG側 MIDI Clock 停止で解決
・MIDI 仕様上 SysEx に MIDI Clock が混入する事は可
・UX16ハードか Windowsドライバか は不明
・自前通信ライブラリ(API使用・ポーリング) の class・イベント駆動 化 (C++Builder)
2014/04/25 ハード小変更
・パワーインジケータ追加
・オシロプローブ用チェック端子追加
PC側ソフト(Ver.叩き台)とりあえず完成
・とりあえず、ポーリングのまま (API timeSetEvent 1ms 間隔)
・「ランニング・ステータス」も考慮済 -> 動作未確認 (出力する機材がわからない JUNO-106 なら?)
・出力先をこのハード上の MIDI-OUT と Windows MIDI-OUT デバイス の両方とする
・ハード上の MIDI-OUT 出力 -> 確認
・キーボード(OUT) >> 【MIDI-IN ソフト処理 MIDI-OUT】 >> 音源(IN)
・データ送出完了までで最大 2.5ms の遅れが発生(*1)
・内 1.0ms は OS の USB スキャンの筈
・残りが、ポーリングタイミング・COM 読取/書出 による遅れ
・Windows MIDI-OUT デバイス出力
・キーボード(OUT) >> 【MIDI-IN ソフト処理 デバイスUX16(OUT)】 >> 音源(IN)
・ShortMsg 出力 (Note ON/OFF BitchBend 等々) -> 確認
・LongMsg 出力 (SystemExclusive) -> これから
・MIDI Clock / Active Sense のフィルタリング -> これから
(2014/04/28)
・[microKORG SoundEditor for Win] (IN/OUT:UX16)
・microKORG(OUT) >> 【MIDI-IN ソフト処理 デバイスUX16】>> UX16(IN) >> [SoundEditor](IN)
・[SoundEditor](OUT) >> UX16(OUT) >> microKORG(IN)
・ShortMsg 出力 (Note ON/OFF BitchBend 等々) -> 確認
・LongMsg 出力 (SystemExclusive) -> 確認
・MIDI Clock / Active Sense のフィルタリング -> 確認
・上記 microKORG エクスクルーシブ受信時の [MIM_LONGERROR] は回避
・[mictoKORG SoundEditor] は正常に動作
(*1) ↓最長 2.5ms のカーソルまで遅延が発生する 「遅延の蓄積」は無い筈
構想妄想:
インテリジェント化
・CPU は H8 マイコン 秋月 AKI-H8/3069F
・手持ち ROMデバッガ(冶具含む)あり
・SCI0 プログラムローディング
・SCI2 31.25kHz MIDI I/F
(SCI0,SCI1 は RS-232C レベル TTL レベルの取出しには基板加工が必要)
・設定保存は 手持ち EEPROM
・設定方法
・システムエクスクルーシブ ID番号 7D (非営利利用) ハンドシェーク
・給電は USB (電源のみ使用)
・「USB 機器として動作」は考慮しない (てか、調べ物・作法が多そうなのでパス)
いつになるやら… (ケース加工が億劫)
使わせていただいているソフト
回路図エディタ
ありがとうございます
MIDI 資料:
リットーミュージック MIDI 1.0 規格書 第1版