MIDI FX Switching System
MIDI FX Switching System
新着記事リストからoutしてしまったので、保守アゲ。この項は順次updateする。
以前にPICマイコンで作ったエフェクト・ループ・プログラマ
を大幅にバージョンアップ*1しようとするのがこのMIDI Controlled FX Switching System、旧名からの連続性で言うと プログラマブル・エフェクト・ループ・スイッチング・システム。
前作のあと何回か(5回目ぐらいか)検討するも、その都度 別プロジェクトへ浮気して完遂していなかった本プロジェクトも今度こそまじめに検討開始。白眉な仕様のVersion2、今ここに。
進捗
- 2004/11/20-21
- ロジックボードの製作作業
- 2004/11/13
- フロントパネルの加工
- 2004/11/07
- フロントパネルの加工
- 2004/11/03
- フロントパネルの検討・設計開始
- 2004/10/30
- 10月中はほとんど進まなかった。プロフェット調 LED付きタクトスイッチを基板に並べて、それにあったスリットをフロントパネルにあけなくてはならない部分で、フロントパネルの設計で二の足ふみふみ中。
- 2004/09/28
- プログラマ部のロジックボードをstep by stepで組み上げ中。テストプログラムを組んでUI部分の実験中。
- 2004/09/04
- プログラマ部のロジックボードをstep by stepで組み上げ中。ときどき他に浮気するので進みは鈍い。
- 2004/08/31
- LED内蔵タクトスイッチ(プロフェット風)を万能基板に並べて悦に入る。
名称案
組み合わせて使うものなのでシステムであるとは言える。「プログラムしたエフェクタのループのパッチをMIDIで切り替えるシステム」なので、MIDI Controlled FX Switching System
だけれど、名前が長ったらしいのが難点。
システム仕様
- プログラマ部と信号ルーティング部とを分離する
- それぞれ独立した1Uラックに組む
- プログラマ部からの制御信号は port0 (8ループ) / port1 (8ループ) が出力される
- ルーティング部は1-port分の制御信号を受け、8ループのON/OFF(ないしはA/B)を切り替える
- 制御信号はオープンコレクタ出力
信号ルーティング部仕様
- プログラマからの信号に従って8ループを切り替える(サイズの関係)
- 1ループあたりはA/B boxとなっている
- ところどころ send-return を挿入可能とする。挿入個数はパネルレイアウトして決める
- 切り替えはメカニカルリレーを基本とする
- ついでに信号を引っ張り出して、BOSS FS-5L互換端子を設ける
-
4個ぐらい用意すればいいだろう
- その4個のときは selectable? 悩むぐらいなら8個出す考えも
- 1ループあたりのA/B boxと同時動作で良い
- いや、センターオフのSWを使って、切れるようにしておくべきか。
- 位相切り替え(NO, NC)を設ける → P板上の実装で可とする(ケースの穴あけが面倒なので)
-
4個ぐらい用意すればいいだろう
プログラマ仕様
- 16ループをプログラムできるようにする
- 出力は8ループずつ port0/port1に分ける
- しかしプログラムは16ループに対して対応付けされる
- 出力はオープンコレクタ
- アナログ・マルチ・エフェクタ(id:Chuck:20040417)の切り替えも可能とする
- パッチ切り替え(通常)モードとエディットモードをもつ
- 状態は、INIT, SELECTION, EDIT, POWER DOWN を想定。POWER DOWN を採用するかは検討中
- パッチ切り替えはMIDI program change(MIDI PC) から行う
- MIDI chは起動時に設定値を読み込む
- コントローラは BOSS GT-3 と Generic MIDI(128プログラム)を考える
- パッチ切り替えは内蔵ロータリ・エンコーダからも行う
- 現在選ばれているパッチ番号を7セグメントLEDで表示する
- そのパッチにおける16ループのON/OFF状態をLEDで表示する
- エディットモード時に16ループのON/OFF選択をしてWRITEボタンで記録する
- 電源断処理を行う
- スーパーキャパシタでバッテリバックアップ (待機時消費電流しだい)
- バックアップからの復帰と電源投入とで動作を変える
- 完全に電源が切れているところからの Start-up RESET
- バッテリバックアップに入っていて Power Down mode からの RESET
割り込み線は足りるのか? (シリアル(MIDI)、ロータリ・エンコーダ、スイッチ押されて wake-up、電源断検知)
プログラマ実装案
- ポート数と内蔵EEPROMのワード幅に鑑み、マイコンは2個用意する
- ひとつあたり8ループをプログラムできるようにする
- clock/reset回路は共通のものを用いる
- 2つのマイコンのプログラムは同一のもの
- master/slave 動作をさせるかどうかは未定
- 開発言語は avr gcc とする
- MIDI ch/コントローラ選択のDIP SWは2つのマイコンで共有する(メドがたった)
- マイコンはAVRを選択する
-
AT90S8515 またはAT90S8535。RTC / タイマーを3個 を使いたいときに8535を選択する
-
- 7セグLEDはシリパラしてラッチして表示するタイプとする(ピン数節約のため)
- 74HC595で行う
- 8ループ出力のLEDについても同じようにするべきか → やらない。点滅させるにしても動作は同期させる
- ロータリSW を回しても、一瞬の不感時間をおいてプログラムが有効になるようにする。ロータリSWをぐるぐると回す使い方に対して、信号ルーティング部がメカニカルリレーであった場合の寿命に鑑みて。
必要な部品
-
AT90S8515 orAT90S8535 ×2 - ロータリ・エンコーダ 秋月のが安いのでアレを使おう
- LED内蔵タクトスイッチ (Prophet調) ×18
-
3-digit4-digit 7seg. LED - 74HC595
×3×4 - TLP552
- 5pin DINジャック
- DIP SW 6P or 8P
- スーパーキャパシタ
- コネクタ
- DF1B-*S-2.5R
- DF1B-*P-2.5DSA
実装方針
部分に分けて、ライブラリを作りながら、少しずつやる (^^;)
メモ
- 74HC595
- (source/sink): ±35mA、 ±25mA
- (source/sink): ±70mA
*1:ていうか作り直し