MIDIスイッチボックス

1999年2月 長嶋洋一


[AKI-80]24接点MIDIスイッチボックス 97/01/27 16:31


映像作家の△△さんの個展に使うということで、汎用を兼ねた機材
として、「MIDIで24個のリレー接点を制御」というマシンを作りました。
また例によって、とりあえずケースを買ってきて、適当に穴を開けてから
部品配置を考え(^_^;)、ハンダ付けしてソフトを書いて実働1日半ほどで
完成した、という手作り品です。(^_^)
回路図もフローチャートもなくて、2日もすれば全部忘れてしまうので、
ドキュメント代わりにここで紹介します。この出力を、たとえばMacの
キーボード内のスイッチ接点に伸ばして繋ぐと、「MIDIキーボードを
演奏してパソコンのキーボードを打つ」(^_^;)(^_^;)などという事も
簡単にできます。だからなんだ(^_^;)、と言われるとツライですが。
ちなみに△△さんは、映像エフェクタとかCD-Videoプレーヤの制御に
使うということです。映像作品をテープでなくCDに焼いてしまう時代
なのですね。(^_^)

以下、長いですが自作派のための詳細な情報を記します。等幅フォントで
ごらん下さい。お急ぎの方はスキップして下さい。(^_^;)

部品としては、5V程度のリレーが24個、必要です。僕は藤商電子という
渋谷のパーツ屋の通信販売で、100個9000円というので買いました。
バラだと1個300円ぐらいするかもしれません。メーカとかは何でもいい
のですが、ピン配置はまったく判らないので(^_^;)、テスタであてたり
試しにつないで解析しました。(^_^;)
あとは、もっとも簡単にラッチ574を3個でパラレルポートを増設しました。
MIDIは入力オンリーです。完全なディジタル回路なので、センサものよりも
初心者は作りやすいと思います。
ちなみに、僕はリレーからAKI-80まで全ての回路が16センチ×11.5センチ
のユニバーサル基板1枚にちょうど載りました。(^_^)


なお、上の回路図で3回登場するPBポートですが、AKI-80には1セットしか
ありません。(^_^;)
これは、たとえば「AKI-80のPB0は、3個の74HC574の2ピンに芋蔓式に
つぎつぎに接続される」という意味です。以下同文。つまり、パス接続
というやつです。

=====================================

次に、プログラムです。
以下の----------で挟まれた中身だけを***.HEXと適当なファイル名にして、
ROMライタで27C256などのEPROMに焼きます。
このプログラムは、[YURA_SW]という名前です。(^_^;)

---------------------------------------------------------------------------
:0700000031FF9FF3C368000C
:1C002000220008D9ED5B00883E80B2676BDB187713CB9AED530088D908FBED4DEF
:20006600ED452100803E0077237CFE0A20F73ECFD31D3E00D31D3E07D31D3ECFD31F3E0097
:20008600D31F3E07D31F3E18D31B3E04D31B3EC4D31B3E01D31B3E00D31B3E02D31B3E20E8
:2000A600D31B3E18D3193E04D3193EC4D3193E01D3193E10D3193E03D3193EC1D319ED5E26
:2000C600FBDB183E00D31E3E00D31C3E07D31C3E00D31C3E00320988320A88320B88CDE92F
:2000E6000018FBED5B02882A0088A7ED52C83E80B2676B4613CB9AED530288CB78281E78EA
:20010600FEF8D0FEF03805AF320488C978E60F32068878E6F0320488AF320588C93A04887C
:20012600FE00C8FEC0C8FED0C83A0588FE0020093C32058878320788C9AF320588783208CC
:20014600883A0488FE00C8FE802868FE90C03A0888FE00285E3A0788E67F6F2600011702FE
:20016600097E473A0988B0320988D31E3E01D31C3E00D31C3A0788E67F6F2600012702092B
:200186007E473A0A88B0320A88D31E3E02D31C3E00D31C3A0788E67F6F2600011F02097E9B
:2001A600473A0B88B0320B88D31E3E04D31C3E00D31CC93A0788E67F6F260001BF02097E8C
:2001C600473A0988A0320988D31E3E01D31C3E00D31C3A0788E67F6F260001CF02097E47F5
:2001E6003A0A88A0320A88D31E3E02D31C3E00D31C3A0788E67F6F260001C702097E473AE7
:200206000B88A0320B88D31E3E04D31C3E00D31CC9010204081020408000000000000000C9
:200226000000000000000000000102040810204080000000000000000000000000000000B9
:2002460000010204081020408000000000000000000000000000000000010204081020401A
:200266008000000000000000000000000000000000010204081020408000000000000000F9
:20028600000000000000000000010204081020408000000000000000000000000000000059
:2002A60000010204081020408000000000000000000000000000000000FEFDFBF7EFDFBFBF
:2002C6007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFBF7EFDFBF7FFFFFFFFFFFFFFFB7
:2002E600FFFFFFFFFFFFFFFFFFFEFDFBF7EFDFBF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17
:20030600FFFEFDFBF7EFDFBF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFBF7EFDFBF75
:200326007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFBF7EFDFBF7FFFFFFFFFFFFFFF56
:20034600FFFFFFFFFFFFFFFFFFFEFDFBF7EFDFBF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6
:01036600FF97
:00000001FF
---------------------------------------------------------------------------

さて、システムの仕様です。これは強烈に簡単です。(^_^;)

MIDI入力はノートイベントのみ有効。入力ノートナンバの数字を24で割った
余りに1を足した番号のリレーが、ノートイベントに対応してON/OFFされる、
というだけです。MIDIチャンネルは見ていません。(^_^;)

たとえばノートナンバ48のキー入力だと、これは24キー単位でいうと2周
回って最初に戻るので、スイッチNO.1がノートイベント入力に応じて、
リレーがカチカチと鳴ることになります。MAXのスライダーでノートイベント
をわらわらと送ると、24個のリレーがカチャカチャとそれは騒然とします。
これだけで、もう一種のインスタレーションです。(^_^;)

RE:[AKI-80]24接点MIDIスイッチボックス 97/01/31 14:46


◆今までのAKI-80オプションが入力装置だったのに対してこれは出力装置
◆ですね。
◆これをうまく使えば、MIDIで電子楽器じゃないものも鳴らすことが出来そ
◆うです。打楽器だったら簡単かな。

そうですね。床にズラリと人形を並べて、MIDIキーボードを弾くと
そいつらがワラワラと動く....というのは不気味かも。(^_^;)

◆ところで、今これは24OUT ですが、PA の数だけOUTを増やせるのでしょ
◆か? PB8ポート×PA8ポート=64OUT、とか。

今回はとりあえず8ビットのデータを保持するラッチ574を3個だけつけた
ので、8*3=24です。◇◇さんの推定どおり、この調子で8*8=64ポート
までは他の増設部品ナシでいきます。ソフトもまったく簡単です。
開発期間は数分でしょう。(^_^;)

ところで、AKI-80には8ビットポートが2つしかありませんが、まだまだ、
それだけでソフト的に出力ポート数を増やすことができます。たとえば、
デコーダ138をもっとも簡単には5個増設すると、574が40個ですから320
ポートがON/OFFできます。
さらにちょっと工夫すると、18個の138によって128個の574を制御すること
で、1024ポートまでは普通のAKI-80のPA/PBでできるようです。
簡単なパズルですから、考えてみて下さい。(^_^)

もっとワザを使うと、シリアルポートの汎用信号出力端子を利用することで、
この10-20倍程度までは拡張できます。(^_^;)

◆行き着く夢は、MIDIロボットです。(^^)

ぜひ、作ってみて下さい。原理はまったく単純ですから、失敗はありません。

RE:RE^2:[AKI-80]24接点MIDIスイッチボック 97/02/02 09:14


◆車の HONDA が人間型ロボット(ちゃんと歩くものらしい)を
◆開発したそうなのでI/Fとか制御フォーマット?を決めれば十分
◆いけるかも...。(^^
◆
◆#MIDIでガンダムとかグリフォンとか動かす...。

この書き込みで思い出しましたが、ICMAが会員の研究を紹介する
プロモーションビデオを作っているのですが、この第1巻(1991)に、
工場の自動生産ライン用の工業用ロボットアームをMIDIで制御して
踊らせる、というデモが入っていました。
DX-7でベースソロとかドラムソロを弾くと、アームの多関節がうねうね
と(^_^;)踊ります。

これは実際に、ニューヨークのホールでコンサートで上演された
作品では、人間のダンサーとロボットが共演するようなミュージカル
みたいなものだったそうです。

....まぁ、アイデアだけでなく、とっくにやられている事なの
ですね。(^_^;)
ただし、実現形態はまだまだ可能性はありそうです。大学とか高専とか
の「ロボコン」はいつもスポーツですが、たまにはWABOTみたいに
「ロボットによるポプコン」みたいなテーマがあったら、面白い
のにねぇ。鍵盤を弾く腕と指の動きは素晴らしいのに、自動作曲する
曲がダサイので失格(^_^;)、とか。

あとは、最近流行りのユニットものでは、せっかくだからタレントと
ロボットとのユニットもいいかも。バーチャルアイドルよりはリアリティ
があるでしょう。バッテリーが切れて倒れてきたら重量で人間が怪我を
する、というのは、画面内の仮想アイドルよりも存在感があります。
...なんか腹話術みたいではありますが。(^_^;)

RE:[AKI-80]24接点MIDIスイッチボックス 97/02/08 10:40


◆74HC574 のGNDは1PINとなってますが、10PIN じゃないでしょうか?
◆また、5vPINが記入されてませんが、20PINでいいのですよね?。

おぉぉ! いよいよ製作ですね。(^_^;)

574の電源の20ピン、GNDの10ピンはdefaultとして省略していますが、
ちゃんとつないで下さい。(^_^;)
ちなみに、リレーで電流ON/OFFするので、20ピンから最寄りのGNDまで、
105ぐらいの積層セラミックコンデンサほパスコンとして付けましょう。

ちなみに1ピンは出力イネーブルですので、敢えてGNDにします。ここを
オープンしていると、スリーステートというかハイインピーダンス出力
状態となって出力が出てきません。
あとは、それほど問題はないと思いますが。

P.S.
ちょっと今、考えている事があります。興味のある方はどのくらい
いるのか、興味があります。
Windowsパソコンで、プリンタというかパラレルのポートにAKI-80を
つないで、「サウンドブラスター互換もどき」のMIDI入出力バッファ
を作ろうかな、と思っています。シリアルものではなく、送信受信とも
に8KB程度の深ーーーいバッファリングしたものです。(^_^)
そして、WindowsのDOS窓の中で、Cで自在にこれを使ってMIDIソフト
を書ける環境にします。Windowsと完全共存、割り込みナシ、データ落ち
ナシのオリジナルのMIDIソフトがWindowsマシンで走ります。シリアル
ポートものはMIDI受信があまり強くないですし、SC-55カード等のサウンド
ブラスターもののMIDIだと、DOS窓から叩くソフトはBIOSを経由するために
Windowsに「DOSモードで起動しろ」と叱られますよね。
...どうでしょうか。(^_^;)

RE:RE^2:[AKI-80]24接点MIDIスイッチボック 97/02/09


◆>>いよいよ製作ですね。(^_^;)
◆ 実は、もう出来てます。夜中に少しづつ作ってました。

うーーむ、なかなか素早い。さすがです。(^_^)

◆材料は64リレー分買ったのですが、やはり24リレー分までで、
◆へこたれました。(^^;;)

そうでしょう、単純作業というのは、手ハンダではとってもツライです。
僕がIRCAMに作ったマシンも、中身は単純な多チャンネルのA/DとD/Aの
MIDIインターフェースなのですが、それぞれ32チャンネルずつ、という
ことで、ハンダ付けとケーブルの線の処理でめげました。(^_^;)
めげても、やったのですが。(もう一台、同じものが欲しいと言われたら
請求費用を3-4倍増しないと作る気になりませんね(^_^;))

◆そのうち、これでロボットもやってみたいです。とりあえずソレノイド
◆を工場にいって一ヶ借りてきました。

ソレノイドの駆動電流とリレー接点の容量に注意して下さいね。
仕様が合わないと、接点が焼き付きます。(^_^;)
小型リレーであまり容量がなければ、ソレノイドや大型モーターを
ON/OFFする大電力リレーをON/OFFする中型リレーを、まず小型リレーで
制御する、という二段階攻撃をする方法があります。原理的にはこの
方法で、AKI-80でキロワットオーダーの機器でもON/OFFできます。

◆12ビットAKI 快調です。(^^) しかし、激しく演奏するとニクロム線
◆が切れます。(^^;)
◆切れないように太いものにしようとすると、電流が流れすぎて電源が
◆ダウンするし、なかなかこのへん難しいです。

太いニクロム線の場合、長くするか、あるいは電源をスイッチングの
強力なものにするしかありません。でも大電流を流すと熱くて触れ
なかったりして。(^_^;)
最近は電磁対策とか静電気対策で、カーボンの粉末を入れて導電性の
あるプラスチックとかビニールとかゴムが、秋葉原で探すと結構
あります。(素材単体としてはなかなか売っていませんが)
これを利用する方法もありそうです。抵抗が大きかったら、OPアンプ
のボルテージフォロワで一発、受ければOKです。
シンセのリボンコントローラみたいに使えるかもしれません。

AKI-80によるMPU(^_^;) 97/02/10 13:29


◆いつも思っていたのですが,SCPカードにしろ,RS232Cにしろ,シリアルの
◆バッファは何故1-2バイトしか無いのでしょう。
◆(バッファ目当てでS-MPUも買ったのですが,だめでした(単純な送受信モード
◆ではバッファ機能は働かない))。
◆そのためソフト上で要らない苦労をしてます。

これは、詳しく書くとタイヘンなので(^_^;)、簡単に解説します。

パソコン等(AKI-80に内蔵のSIOも同じです)のシリアルというのは、
プロトコル処理付きのシリパラ変換LSIですので、バッファリングはダブル
程度です。昔、ヤマハのMIDI処理専用LSIでハード的に128バイトの
バッファリングをしていたのは例外中の例外です。

そこでパソコン等でこのSIO(USARTというやつです)しかシリアルポート
についていないところに、そのまま電圧電流変換だけのMIDIインターフェース
をつけてMIDIをする場合、MIDI送信は別に問題ないのですが、MIDI受信は
かなりキツイ割り込みが必要になります。皆さんも試しに自分のパソコン
で「MIDI受信」→「ソフト的にスルー」→「MIDI送信」と設定して、MIDI
入力にMIDI鍵盤(ピアノみたいに大きなものがいいです)をつないで、
MIDI出力にMIDI音源をつないでみて下さい。そして白鍵と黒鍵にそれぞれ
長さ1メートル程度の定規を当てて、両方を同時にグイと押しパッと離す、
という「全鍵ON/OFFイベント」を可能な限り高速に繰り返してみて下さい。
音源の音色は持続音にしておくと分かりやすいですが、鳴りっ放しの音とか
が出てくれば、これは「MIDI受信の取りこぼし」の実例を実現できたこと
になります。手慣れると実現に10秒もかかりません。(^_^;)(^_^;)(^_^;)
PC98でもMacでもIndyでも、データが落ちるだけならまだマシで、パソコン
がハングアップする場合も出てきます。
ノンインテリジェントタイプのMIDIインターフェースの限界です。

これに対して、ローランドのMPU401、三鈴エリーのEMU98、サウンド
ブラスター(もたぶんそうだと思うのですが詳細不明(^_^;))などの
インテリジェントタイプの場合には、「UARTモード」とは言っても、
実際には内部CPUが1-2KB程度のバッファリングをしています。
◆(バッファ目当てでS-MPUも買ったのですが,だめでした(単純な送受信モード
◆ではバッファ機能は働かない))。
とありますが、おそらくUARTモードでも、実は、やっていると思います。(^_^;)
バッファリングというのは、ホストのプログラムからは存在が見えないもの
なのです。書かれているように、
◆パラレルですばやく送ってあとはゆっくり送信してもらう。またたくさんの
◆MIDIデータをためて置いて,まとめて読み込んで料理する。
という動作をしていますが、見た目は区別がつきません。

ちょっと試してみて欲しいのですが、S-MPUから割り込みがかかってきても
敢えて無視して、ダラダラと受信データを読み込んでみて下さい。本当に
1-2バイトのバッファなら、これだとデータが失われて情報が化けますよね。
でもたぶん、割り込みを無視して低速でポーリングして読んでも、その間に
MIDI受信されたデータは、あとからゆっくりでも正しく取り出せる筈です。
これがインテリジェントタイプのバッファリングというものなのです。

◆Windows上のプログラムは組んだことがないので(^^;),良く分かりませんが,
◆DOS上で直接MIDIを制御する(もしくはされる)プログラムでは大変役に立ちそ
◆うですね。

僕もWin固有のプログラムなんて、したいとも思わない(^_^;)ので(X-GLを
体験していると、他の環境なんて阿呆らしくてやる気になりません)、
あくまでDOS窓の中です。ただ、いちいちDOSモードに出るのも面倒です
からね。
使い手としては、「MIDIのためのCプログラミング」の関数がそのまま
使えるものにするつもりです。ただしコマンドポートを省略して、いきなり
最初から「UARTモードに入る」という0x3Fが送られている(アクノリッジの
0xFEの送り返しは不要)状態というだけ、よりシンプルです。(^_^)

実は既に、テレビを見ながら回路図を設計してしまったところです。AKI-80
の他にICが数個、と見た目は簡単ですが、中身は技術的には相当にハード
な仕掛けとなっています。
◆パラレルですばやく送ってあとはゆっくり送信してもらう。またたくさんの
◆MIDIデータをためて置いて,まとめて読み込んで料理する。
という記述は核心を突いてします。

AKI-80版MPUの動作とは、
・AKI-80はバックグラウンドでMIDI受信をバッファに貯める
・AKI-80は受信MIDIデータがバッファにあればホストにリクエストする ☆1
  (DSR = data set ready)
・ホストはDSRを割り込みでなくポーリングで監視し、DSRがあればデータを
 取り込む
  (RD = read)
・このデータ取り込みの瞬間、ゼロウェイトでDSRはクリアされる ◎
・AKI-80はDSRがクリアされると、ホストの読み込み完了を待って☆1に行く
・AKI-80はMIDI送信データを受け入れ可能であればホストに知らせる ☆2
  (DRR = data receive ready)
・ホストはMIDI送信したいデータがあればDRRをチェックし、OKなら送る
  (WR = write)
・このデータ送り出しの瞬間、ゼロウェイトでDRRはクリアされる ◎
・AKI-80はこのデータ送りの完了を受けて、なるべく速やかにデータを
 送信バッファに積んで☆2に行く
・AKI-80はバックグラウンドで送信バッファのデータをMIDI送信する
というようなものです。PentiumバソコンはAKI-80などに比べて死ぬほど
高速ですから、上記のうち◎の項目については、AKI-80の割り込みでも
まったく追いつきませんので、ハード的に仕掛けないといけません。
ここに高速ロジック素子、フリップフロップが登場します。(^_^)

上記の仕様で、AKI-80とICを4-5個でMPU互換(上記のDSR,DRR,RD,WRという
信号名もまったく同じです(^_^;))の回路を設計する、というのは、そこそこ
かなりのレベルになると思いますが、どうぞ挑戦してみて下さい。(^_^)

....ただし残念なのですが、この製作はしばらくおあずけになりそうです。
単純なAKI-80回路ならスグなのですが、
この回路の場合、僕の自宅の2台のWindowsノートが総動員されないといけない
(AKI-80開発用とホスト実験用)ので、本腰を入れる必要があるのです。
ぼちぼち、行きたいと思います。

RE:RE^4:[AKI-80]24接点MIDIスイッチボック 97/02/10 13:29


◆>>ソレノイドの駆動電流とリレー接点の容量に注意して下さいね。
◆>>仕様が合わないと、接点が焼き付きます。(^_^;)
◆
◆あぶないあぶない、せっかく作ったものですから壊さないように
◆しなくちゃ。(^^;) ご忠告ありがとうございます。
◆手元にあるソレノイドは24v144オーム166mAなので、
◆電流は大丈夫ですが電圧が不安ですね。リレーは同じ
◆藤商電子のやつですが、接点容量とか判りません。(^^;)

一つ、あのリレーを開けてみると判りますが、たぶん100V1A程度まで
はいけると思います。そのソレノイドなら問題ありません。
最悪、焼けたら考えるということで。(^_^;)
(リレーはICソケットにつけてヒューズのように使う、というワザ
 がありますが、知っていました?)

ところで、藤商電子は秋葉原でなく渋谷にあるのですが、一度、覗いて
みることをお薦めします。僕も二度ほどしか行っていませんが、
なかなか凄いです。なんであんなところにあんな店があるのか、と
思ってしまいますが、結構ハマります。愛想悪いですが。(^_^;)

RE:用語解説シリーズ(^_^;) 97/02/10 13:30


◆さっき、とりあえず、台所にあるボウルや鍋、グラス、クッキーの
◆空き缶、茶碗などをコッツ楽団に叩かせてみました。総勢12コッツ。
◆グラスは、(お約束の)水を入れて音程を出したもの。
◆これはまさに、サイバー・キッチン・ミュージックですね。(^o^)

これは、けっこうイケルと思いますね。よく、たとえば鐘を並べて
クリスマスソングを叩く自動人形とか売っていますが、あれは曲
データがプリセットから選べるだけですが、コッツ楽団(^_^)だと、
MAXパッチでいくらでも新曲をセットできます。マリオンの時計人形が
時刻とともに違う曲を演奏できる、ということですし、他のセンサと
からめて、コッツ楽団とアドリブのセッションもできる、ということ
です。電子音源と違って、物理的に発音する「楽器」とのセッション
は、説得力も迫力も違いますから、絶対にウケます。保証します。

RE:AKI-80によるMPU(^_^;) 97/02/12 09:11


◆しかしこのバッファは「MIDI周辺機器」としては不可欠な物だと思います。
◆プリンタバッファのような物ならとっくに製品化されている所をみると,やはり
◆MIDI関係はマイナーなのでしょうかねぇ。(需要と供給(^^;))

マイナーなのです。(^_^;)

Computer Music Magazine誌では、Windowsパソコンのプリンタポートにつなぐ
MIDIインターフェースを新しく発売する、というのが載っていました。MPU互換
みたいなので、今回の企画と似ているかもしれません。ただし絶対的に違うのは、
パソコン側のソフトは提供されるドライバに完全限定なので、Cとかで自作した
ソフトでMIDIをする、というのは不可能ですね。ドライバがハードを叩いた瞬間
に「DOSモードでリセットしろ」と脅迫してきます。(^_^;)
価格も35000円ほどしているみたいです。それにしても国内は出ませんね。

◆ちなみに私は現在,PC98については,MIDI-I/FにRS232Cを使ってますが(出力
◆専用),この方法では,分周比の関係で31.25Kにきっちり合わない+抵抗1本
◆で大丈夫だろうか,という不安が常にあります。
◆(実用上差し支えがなくても気になるもんです)

えーと、このPC98用の簡易MIDIインターフェースですが、おそらくMIDI協議会
に正式に参加している楽器メーカーが自分のブランドでは出していないと
思うのですが、どうなんでしょう。
水晶を使っていてジャストが当たり前の世界で、一応のマージンとして規約で
誤差を許容しているところに付け込んで最初から正しくないクロックを使う、
というのはどう考えても「楽器メーカー」としてのモラルを疑われる姿勢
ですよね。また、RS232Cから抵抗1本で代行しているのも、オープンコレクタで
出力すべし、とされているMIDI企画書の水準に達していません。この意味で、
PC98の簡易型のMIDIインターフェースは、企業の良心として、少なくとも
「楽器メーカー」を看板に掲げる企業は作っていないと信じています。(^_^;)

ちなみに、Mac用のRS422版のものですが、こちらはクロックはホストから送る
のできっちり正確、さらにオープンコレクタゲートでちゃんと送っています。
ただし、Macから電源を取るタイプについては、実はここに落とし穴があります。
回路の消費電流が少ないところに目をつけて、信号ラインから大きなコンデンサ
に蓄電してそれを電源としているのですが、LEDをつけていますし、多量の
MIDI情報が受信されると、電源が消費されて電源ダウンの状態になります。

MIDIというのは、「MIDI出力は相手の電源を利用する」仕掛けになっている
ので、MIDIを入力する機器から供給される電流ラインをMIDI出力側の機器が
ON/OFFしていることになります。ということは、無電源タイプのMIDIインター
フェースをMacにつないで音源モジュールに出力している場合、この電源は
音源モジュールのから供給されて、まったく問題ありません。
ところが逆に、Macにつないだ無電源MIDIインターフェースにセンサなどの
多量のMIDIをつっこんだ場合、この回路の電源は上記のようにコンデンサに
仮に貯えられた儚い電力なので、MIDI入力が多いとデータが正しく受信され
ないことになります。この場合、同時にMIDI出力も化けてきます。つまり、
PowerBookだけでなく、デスクトップであってもまったく同等に、Macで
MIDIを異常なく行いたければ(特にMIDI受信の情報量がそこそこある場合)、
無電源タイプのMIDIインターフェースなどは恐くて使えない筈なのです。
皆さんご存じだったでしょうか。(^_^;)

もっとも、シンセやエレピを弾くとか、ニクロム線センサを
演奏する、という程度のトラフィックなら、まず問題はありません。MIDI
マージャで多数のMIDIセンサの情報をぐっちゃりとマージして、時間的に
まったく途切れずに(^_^;)MIDIを入力し続けていると、表面化してくる問題
です。「竹管の宇宙」のようなセンサの塊の
場合には、非常に重要になるわけで、僕はこのために電源内蔵の専用の
「Mac用インターフェース+MIDIマージャ」も製作しました。どうやっても
Macが市販のMIDIインターフェースでセンサMIDI情報を受けきれなかった
のが、これにしたら即刻、完璧になりました。(^_^)
この問題は、PowerPCとかの違いとはまったく無関係の一般的な問題です。

RE:楽器を叩く力。 97/02/12 16:07


◆ 「原人コッツ」の腕の一振りは、約0.2W(2.5v×0.08A)0.1秒
◆の通電で為されます。これでおわかりだと思いますが、かなり弱い
◆力です。迫力なんて、とてもとても......(^^;;)
◆
◆ そんなわけで、今、効率のいいものを色々と探しています。
◆そういえば、スズムシやコウロギは、あんな小さな体で大きな音を
◆出しますね。偉いと思いました。

人間のドラマー並みのパワーを自動ロボットらやらせると、ちょっと
恐いと思います。(^_^;)
蚊の鳴くような音がいいと思いますよ。(^_^)

◆ [AKI-80]24接点MIDIスイッチボックですが、スイッチオンの時、
◆全てのリレーがオンになってしまうことが、しばしばあります。
◆ 特に、しばらくオフにしたあと(その日の初め)とかでおこります。
◆何回かオンオフを繰り返すと治りますけども。
◆ 前のやつまでは、安定化電源キットを使っていたのですが、今回は
◆電源を3端子レギュレータで自作したのでそのせいかなー、と思って
◆ますがどうでしょう?

うーーーむ、一応、リセット起動時に全部のリレーをOFFるようには
しているのですが。
とりあえず、起動時にMAXでダミーのON/OFFを一斉に送ればいいとは
思いますが、焼き付きに注意して下さい。連続ONでも焼き付くことは
ありません(リレーの部分)が。

3端子だとすると、定常的な電流だけでなく、一斉のON/OFFの際には
かなり瞬間的な電流が流れる相当に容量の大きな回路としないと
いけないと思います。直流的な抵抗だけでは計算できませんので。

...そうだ、リレーごとに並列に電源と逆向きのダイオードを入れる
のをズボラをして省略しているのですが、このあたりも連続ON/OFFとか
初期状態で多少、関係するかもしれません。(^_^;)

RE:RE^2:楽器を叩く力。 97/02/13 19:47


◆あ、説明不足でしたが、スイッチオンのときに全リレーがオンになって
◆しまう場合はMIDIを受け付けません。ですからこの方法は利きませんね。(^^;)
◆また、このときリレーがカタカタ暴走することもあります。

うーーーむ、これはAKI-80の電源リセット不良ですねぇ。(^_^;)
僕の作ったのではこんな現象は起こらなかった(他のマシンも含めて)
ので、リセット回り、あるいは電源回りに原因がありそうです。
リセット用のトランジスタのようなICの向き、コンデンサの極性、
抵抗値などをチェックしてみた下さい。あとは電源の容量というか
立ち上がりの特性ですね。タラタラと立ち上がる電源だと問題が起きやすい
です。上記内容をチェックしても問題がなければ、AKI-80のリセット
端子とGNDの間に100-200μFあたりのケミコンを入れてみて下さい。
あるいは、AKI-80のリセット端子とGND間に短絡するノンロックのプッシュ
スイッチを入れれば、これで手動リセットとなります。

◆それと
◆>>人間のドラマー並みのパワーを自動ロボットらやらせると、ちょっと
◆>>恐いと思います。
◆ 実は、ソレノイドではこれをやりたいのです。(^_^)

くれぐれも「労災」に注意して下さい。毎年全国の工場で、加工ロボット
に叩かれて怪我したり亡くなったりする人が続いています。これはマジな
事実です。パワーを単純に与えるのは簡単ですが、ロボット三原則はそれ
とは別の問題である、というところは重要だと思います。

RE:RE^4:楽器を叩く力。 97/02/16 17:28


◆今月号のトランジスタ技術に電源回路の特集がのっていたので、それを
◆もとに電源を組み直したところ、解決しました。(^^)v
◆(具体的には、3端子電源の入り口前のコンデンサをパスコンだけだった
◆ところを、1000μF取り付けたという事です。)

うーーむ、3端子の入力と出力の両方に1000-2000μFは常識ではあります
が、考えてみるとそのあたりは僕はここにはまったく書いていないです
からねぇ。すいませんでした。(^_^;)

◆ところで、24接点MIDIスイッチボックスですが、一度に沢山のスイッチを
◆オンオフすると、AKI-80 がダウンします。8ポートを切り替えで24ポー
◆トにしているのですから、これは仕様ですね。鍵盤を押すタイミングにも
◆よると思いますが。(^^;)

え???
またまた意外なことが出現しましたね。(^_^;)
こんな「仕様」は、ありませんよぉ。
「AKI-80がダウン」という現象は、何をもってそう言われたのでしょうか。

全部のスイッチの「同時ON/OFF」といっても、MIDIではご存知のように
順に来ます。さらにこのAKI-80マシンでは、24個の複数のビットを同時に
上げ下げはしていません。かならず瞬間的に見ていけば、どれかの
ビットの状態を反転させているだけです。ですから、どんな入力パターン
に対して動作させていても、原理的にはAKI-80はダウンしようがないの
です。(^_^;)
ただし、元々が「Macやヒデオエフェクタのパネルスイッチに相当する
情報をMIDIから作る」ということから、反応というか処理スピードは
二の次にして簡単プログラムしていますので、多量の情報がジャンジャン
入って来た時のレスポンスはかなり悪く、あまりバッファに溜まると
情報が欠落することは有り得ます。しかし「ダウン」はありません。

考えられる可能性としては、二つあります。上記の「オンオフ」の時間間隔
がとっても短い場合に問題があるとすれば、リレーのコイルに逆向きに
入れるべきダイオードを省略している事の影響です。
そしてもう一つは、リレー回路とAKI-80の電源を共通にしているために、
多数のリレー駆動で電源ラインの電圧が瞬間的に低下して、リセットIC
が「異常」と判断して強制的にAKI-80にリセットをかけてしまう、と
いう可能性です。こちらがまずは有力でしょうか。

対策というか検証方法としては、たとえばリレー群については別の
スイッチングなど余裕のある別電源から供給して、AKI-80の電源供給
のための電源と分離してみて下さい。これで現象が起きなくなれば
(おそらく起きなくなると思うのですが(^_^;))、電源の余裕が
不足しているためです。山口さんは「3端子」とだけ書かれています
が、7805でしょうか78L05でしょうか。後者なら、たぶん瞬間的に不足
します。7805であっても、その上流のACアダプタ等の容量によっては
同様です。また、3端子の出力側のコンデンサとして4700μF程度まで
大きくしてみたらどうなるか、も試してみて下さい。

僕はいつも電源は大阪・日本橋の共立の店頭で格安で売っている、5V1Aの
「ゴリラ」と5V2Aの「パワーボーイ」という超小型スイッチングの
モジュールを使っています。今回はリレーなのでPowerBoyにした
のですが、まったくこういう問題は起きていません。

RE:MIDIインターフェースの恐い話(^_^;) 97/02/23 18:09


◆すっかり解決しました。(^^) いつもながら的確なアドバイス、
◆ありがとうございます。順を追って書きますと....。

よかったですね。(^_^)

◆別にハードメーカーの肩を持つわけではありませんが、上記不満の原因はWintel
◆です。WindowsのMME(Multi-Media-Extention)のAPI(Aplication Interface)に
◆準拠してドライバを呼び出せば、それだけでOKなはずなのですが...
◆ただ、一般自作派の人がそのAPIの仕様をどうやって手に入れるのか、仕様書を
◆読んだだけで実際にプログラムを書けるのか、というあたりに問題があります。

僕の場合は、MMEのAPIに合わせるつもりなど、最初からありません。(^_^;)
一般のポートはWindowsに叱られますが、旧来のパラレルポートは何でも
アリ、というところが魅力です。
昨日は秋月電子の、Windowsマシンのパラレルポートに接続するシンクロスコープ
のモジュールが来たのですが、いやいやなかなかのスグレモノですね。
これで、ほとんどブラウン管オシロはお蔵入りになると思います。(^_^)

◆相手側 MIDI IN のフォトカプラーのLEDを5mAの電流で点灯することができるので
◆あれば実用上の問題はないでしょう。
◆ビットレートも気にするほどの偏差ではないと思います。

ビットレートは精神的な問題ですが、電流の方は、LEDは点灯していても、
連続して送受信し続けていると電圧が低下する可能性はあります。Macの場合、
無電源(寄生タイプ)をPowerBookで使うと保証しない、という話はずっと昔
からありますよね。「実用上」の定義によりますが、実用にならない、
という事実も出ています。

◆最近のパソコンに載っているUARTチップには16バイト程度のバッファを持って
◆いるものもあります。(16550と呼ばれるもの)

16550になってだいぶマシになった、ということでしょう。でも、あまり本質的な
解決ではないと思います。まぁ、CPU速度が時代とともに非常に速くなったので、
「遅いCPUに負担をかけない」として出てきたのがMPUの元々の発想でしたから、
この前提がほぼ消滅しつつある、という状況ですね。

◆バッファによってパソコン側の処理がやりやすくなるのはいいのですが、バッファ
◆に大量データが溜まるということは、それだけ遅れが発生するわけですから、どこ
◆までリアルタイム性にこだわるかによってメリット/デメリットも変わってくるの
◆ではないかと思います。

これはその通りですね。バッファが効くのは、情報に疎密の波があることを
利用して、密な時のデータを疎の時に処理する、という発想ですから、ずっと
密だとパンクします。(^_^;)
でも、ここでの「リアルタイム性」は、少なくともMIDI音源の「受信してから
発音までの遅れ」とか、「シーケンスソフトの時間的精度」に比べたら桁違いに
高速ですから、このバッファの遅延にこだわるような人は、市販のMIDI電子楽器
のように発音遅延のスペックが非公開の上にベタベタに遅い道具や、タイムベース
が480とか960とか言いながら精度的な実力はそれより一桁は悪い市販のシーケンス
ソフトを使うことなどナンセンス、という事にもなりますね。(^_^;)