2007-03-26
MIDI同期バグ
MFSH |
![]()
今週は凶エフェ・セミナ派生ネタでいこうと思う。
今回、昨年作のMIDI同期MFSHをセミナに持っていった。
鳴らしてみるとときどきサンプル&ホールドしなくなった。
がさん「音変わってる?」
Chuck「おや?」
Analogさん「暴走しているのでは?」
プノンぺん。さん「え? 暴走なんてするの?」
などという会話(うろ覚え)がっ。
そうなんです。マイコンが入っているので(バグを踏むと)そのソフトウェアが逝ってしまうことがあって、暴走が考えられるわけなのです。電源のOFF/ONでサンプル&ホールドしたフィルタ音になった。でもときどきトリップ…
MIDI同期では全音符から32分音符まで同期設定できるようにしてあって、その切り替えスイッチを切り替えたときにどうやら飛んでいってしまっているようだ。これは実は思い当たる節があって、そういえば初披露の爆音新年会(id:Chuck:20060108:p1)でも起こっていたような気がする。
きっとこれはMIDIクロックのF8をカウントしているところで、カウンタの値がカウント終了設定値を潜り抜けてしまって、通るべきではないカウント値(いわゆる状態遷移でいうところのマイナ・ループ)を延々と回っているせいに違いない、カウント終了条件をフォールト・トレンラトにすれば良いのだ、などと呟きながらソースを見ると対応されている。以前のエントリでも自ら指摘していることを発見(id:Chuck:20050904:p4)。
うーん、このhexファイル、カウント終了条件を直したあとにbuildした形跡はあるけど、マイコンに書いたっけ?
ということで、チェックしなくては。111111番のキリ番プレゼントにしようと思っていたけれど、間に合わなさそう…
2007-02-19
MFSH クリックノイズ除去
もう1年前になってしまうけれど、突貫で組み上げたMFSH(id:Chuck:20060106:p1 ちなみにMIDI同期するようになってる)はイベントをこなした後 ジャンク箱行きになっていた。実はid:Chuck:20070214:p1で書いたようにわずかながらクリックノイズが残っていて、それでランダムノイズをS&HしたCVで回路の「サー」ノイズをランダムフィルタリングして出てくるという、笑える仕掛けに…
組み始めた前後でMFSHを組んでクリックノイズに苦慮しているような記事をあちこちで見ていた。たいして電流を引けない電圧コンバータは使わなかったが、それ以外に起因してクリックノイズが出たら対策すればいいやとしてあまり深く考えずにランダムノイズ生成回路に始まって、少しずつ追加マウントしていって、最後は突貫で組み上げていた。小音量でのチェックではクリックノイズを認めなかったが、大音量ではそれなりに出ることを確認して13ヵ月放置、いよいよ手を入れることとなった。
GGGにある大元の回路図では電源デカップリングがあるのだけれど、本作ではわざとこれを取り除き、電源チェーンの最初にランダムノイズ生成・LFO系、チェーンの終わりにフィルタ等本線系を配置*1する(P板ではなく手組み)という本来だったらやらない配置を採用、やっぱりクリックが生じて前述のようなノイズが出ていた。配線パターンに問題があるためで、まぁ無理もないかな。
さすがに突貫で作ったものだから電線の配線も汚い。やっつけ仕事のおかげで、ケース加工もいい加減で、基板に機構部品がぶつかりそうだったりして変更の自由度がない。
ということで、純電気的にやってみた。
まず正負の電源チェーンを切って、ランダムノイズ生成・LFO系 と フィルタ本線系 に電源島を分けて、レギュレータ出力からそれぞれ持ってきた。回り込みが取れないようならあとでコイルでも入れよう。
続いてGNDがランダムノイズ生成・LFO系 と フィルタ本線系の真ん中あたりに落としていたのもそれぞれ分けて、入出力ジャックのGNDポイントをまとめて回路本線系の入り口に落とした。
以上でクリックノイズは消えた。他にも対策案*2をいくつか引き出しに持っていたのだけれど、使わずにあっさりと。今回もインダクタの出番はなかった。「サー」というノイズ*3は残るけれど、これはまた別のメカニズムで発生しているもののようなので、今回は対象外。
↓が作業後の写真。汚いですな。

それにしても何をやったか文章で表すのは難しいなぁ。MFSHは凶エフェセミナに持ち込む予定なので、詳しくはそのときにでも。
2006-01-06
MFSH 突貫工事2
id:Chuck:20060104#p1 で突貫工事。突貫工事は続く。あとで問題が出そうだが、明日の爆音新年会を乗り切ればOK(コラ)。
ここまで動いた。
いよいよ本線系のチェック。
MIDI側パルスがフィルタのCVをきちんと制御しているのかどうか、「動くはず」と設計した値そのままで組み上げてしまったのだが、実は実験していない。アナログLFOとMIDI同期との切り替えもうまくいくのかなぁ…
従来回路どおりのLFOとMIDIコントロールとはスイッチで切り替えることにした*1。Sample&HoldのFETは共通で、ゲートへ行く線をトグルスイッチでLFO/MIDI側と切り替えるわけだ。LFO側はOK。
だがしかし、MIDIからの制御でフィルタがパタパタ切り替わらない(Sample&Holdしない)。ワンチップマイコンの出力はちゃんと出ているんだが…
id:Chuck:20050704#p1 で挙げた筆者回路を眺める。
ぢーーーーーーーっ
間違い発見 (^O^;)
(どこが間違いだかわかりましたか*2?)
で、修正した。
だがしかし、まだ動かない。オシロをあてるとパルスはきているんだが、、、ってちょっと待て。
オシロをQ3のコレクタにあてるとSample&Holdしている
よくよく基板を見ると、筆者回路のR10を省略して実装していなかった。ということは Q3がOffのときにQ4のゲートバイアスされず浮いている、と。 GGGにある大元の回路図(のQ5)ではオペアンプからの出力がSample&HoldのFETに行っているので浮くということは無いのだが、MIDIからマイコン・トランジスタスイッチ経由の筆者回路では、ちゃんとゲートを手当てしてやらないといけないわけだ。回路図には描いてあるのに。
ということで修正して、
本線系動いたよーん。
あとは、
か…
MFSHはそれでいいけど
それ以外も手を入れないといけない。
モジュール・エフェクタ(id:Chuck:20000119)の電源どうしようか…
2006-01-05
進捗
作, SYNTH, MFSH, VCO, VCF, CTRL, LFO, PSU |
![]()
休みが終わってしまった。
id:Chuck:20051221#p1 で挙げた項目はどれぐらいできたのか。
MFSH の完成(箱入れ)
蜜柑もとい未完。かなり良いところまで作業は進んだ。2006-01-07 の爆音新年会に向けてなんとか作業中。爆音新年会は 現時点*1であと2名様、枠あります。
4069 VCO + PIC NG の(一時的)(アクリル)パネル製作
一時しのぎのアクリルパネルに組み上げることができた。オクターブの調整やらは未だ。NGはさっそく活躍。
Chaotic Wave Generator PWM版 の基板製作
まったく弄れなかった。ATmega88 と LPFを6回路並べるだけなんだが…
VCF (ダイオードラダー、SSM2164) の基板製作
ダイオードラダーのVCFは基板を作って、一時しのぎのアクリルパネルに立ち上げた。フィルタ動作している模様。発振もしている。ノイズや調整されていないVCOからパッチしてミヨミヨと遊んだ。
SSM2164 はブレッドボードに火を入れることもできなかった。
それ以外でできたもの
- 電源分配箱
- シンセ用電源に +5V出力の追加
いや何のことは無いACアダプタを同一スイッチで使えるように小細工しただけ、と思ったらACアダプタが壊れた。+15Vとショートさせてしまったのだろうか。さっきまで +5V出ていたのが 0.6Vしか出ていない。また秋月で買ってこなくては… - CV発生冶具(id:Chuck:20060102#p1)
写真(再掲)

*1:2006年1月5日 07:00 時点
2006-01-04
MFSH突貫工事
エンベロープフォロワをはずし、MIDI同期のランダムフィルタ機能を取り入れたMFSHであるが、昨年来から引きずっている(日記内を「MFSH」で検索)。
しかしここに至って突貫ながらも鋭意作業中。
- まずケースを加工し、
- 正負電源回路を組み上げ、
- うわ、コンデンサがない。手持ちで組んだら正負が違う容量だが、ま、いっか。
- 少しずつケースに収め、
- ありゃ、フューズとフューズホルダの寸法が合っていないのか? ミゼット管のはずだが… ホルダを買ってきて付け替えないといけないか?
- うわ、フットスイッチが電源基板に当たる… スイッチの取り付け方で回避しよう…
などとやって、なんとか配線まで終わった。あ、うそ。MIDI同期周期切り替えロータリスイッチの配線をまだやっていない。今はソケットに挿したDIP SWがその機能を果たしているが、フロントパネルに立ち上げるために、追ってここの部分を改造しなくては。LED周りも未だ。
さて、火入れして、
- 電源OK
- ±9Vが出ている
- MIDIの結線が逆→修正
- 「さん、ハイッ」ペダル(id:Chuck:20050711#p1)を使って、仕込んでおいたLEDの点灯確認
と、ここまでやって時間切れ。
MIDI側パルスがフィルタのCVをきちんと制御しているのかどうか、「動くはず」と設計した値そのままで組み上げてしまったのだが、実は実験していない。アナログLFOとMIDI同期との切り替えもうまくいくのかなぁ…
作業の続きは明日移行に。しかし休みは今日までなのよね。あと2日でどこまでデバッグできるか…
2005-10-12
MFSH関連2題
MFSH関連の話題があったので触れてみる。
なお筆者の製作はまったく進捗していない(きっぱり)。MIDI同期のコア部分はできたんですけどねぇ(言い訳)。「さん、ハイッ」ペダル id:Chuck:20050711#p1 と併用すればタップテンポOK(宣伝)。
ノイズ
id:Chuck:20050301#p1 とか id:Chuck:20050306#p1 とか id:Chuck:20050314#p1 とかでノイズの場当たり的検討実験を記したが、ここにきて RJBさん(ご本家, ブログ)による秀逸なレポートが発表された(RadioJunkBox@cocolog: ノイズトランジスタの実験)。
筆者もこれまで「逆バイアスでノイズ源になります、ハイ、実現回路」以上の解説を見たことがない。どこかになにか参考文献があるのでしょうか。きっと楽器メーカにはレポートが蓄積されていたりするのだろうけれど、発表されることはないだろうし…
全般にわたって大いに参考になるRJBさんのレポートだが、特に、
バイアス電流との関係ですが、2SA733と2SC945は10~20uA程度でノイズ量が最大になり、これ以上流すと逆に低下傾向を示します。この2つのトランジスタは、再び逆バイアス電流を10uA程度に下げても元のノイズ量に戻らないこともわかりました。
むむ、ということは、とっかえひっかえしているうちに回復不能な破壊を起こして、「あれ?さっきよりノイズが小さくなっちゃった」ということも起こりえるわけですな。きっちりと電流量を見ながらやるべし、と。闇雲は良くないということですね。
ところで、破壊してしまった後は hfe はどうなっちゃっていたりするのでしょう。興味あります。
そもそもどうしてノイズが発生するのかもよくわからんな~熱雑音てわけじゃないし大元はアバランシェ発振?ほんとは(?)カオスなんじゃないの? などとイメージを巡らせようとしたらIII族とV族が攻めてきて、不純物を注入していったり、ジャンクションだ空乏層だ*1、アロイだエピタキシャルだ、うわー物性の単位を落とすー… と居眠りから目が覚めた。うーむ。
回り込み
とある掲示板で回り込みに悩む投稿を見た。
以前に挙げた作例(id:Chuck:20050615#p1)を参照しているようだ。この作例は電圧コンバータを使って +9V電源から -9V電源を作るという、この形式の動作の回路として考えるとチャレンジングなものである。
CV系と信号系で電源をデカップリングしているにもかかわらず小容量コンデンサによるパスコンが入っていない点が、この形式の動作の回路として考えるとよろしくない。と思ったら、GGGにあるオリジナルと思しき回路図からして入っていないのね… TonePad のは MAX1044に置き換えただけか… P板パターンも少なくともGNDの引き回しについて、あまり良いとは思えない。あのパターンではトラブルシュートは難しいかも知れないな。
LFOパルスが電源を揺すってパルスノイズが出るかもというもののほかに、ランダムフィルタでCVが急峻に大きくジャンプするときにも避けがたいクリックがOTAで発生するかも、という気がする。CVを鈍らせるのが無難かも。
ところで、id:r0r0さんもサンプル&ホールドのLFOによる回り込みで苦労されていたようでしたが、パスコンの追加で軽減したのでしたっけ?>id:r0r0:20050508, id:r0r0:20050509
*1:これは関係ない。
r0r0そうです。ふんだんに奢ってやりましたw
おかげで、ぽこぽこ(CVのジャンプしている音だったのかしら??)言っていたのがあんまり言わなくなりました。
MAX1044だとスイッチングのノイズのほうはどうなんですかね。
やっぱり、ピーーーーとか言っているんですかね??
ミキサーと、エコーだぴょんをかたずけてMFSHにリベンジしたいところです。
Chuckコメントありがとうございます。パスコンでうまくいった事例ですね!
MAX1044のデータシート見てみました。Tonepad の回路だと70kHz弱で発振していると思われるので(http://pdfserv.maxim-ic.com/en/ds/ICL7660-MAX1044.pdf の Fig.9)、スイッチトキャパシタのスイッチノイズが音として聞こえる可能性は小さいかと思います。
それよりも負荷電流に応じて出力電圧や出力リプルがかなり変化するようです(同 Fig.3)。やはり揺れモノには避けるべきじゃないかなぁと思いました。
私もMFSHに復帰しないと!基板上の端子を見ても「何だったっけ」状態です。
r0r0基板上の端子を見ても「何だったっけ」状態です<
僕も昨日、オートワウ部分の何がいけないのか調べようと思い回路と基板を照らし合わせたのですが何がなにやらさっぱり・・・・でした。
2005-09-04
MIDI同期 ― その4. NGMIDISH
MFSH |
![]()
前回(id:Chuck:20050711#p2)からあまりにも間があいてしまったので、すっかり忘れ去られたに違いない、Maestro Filter を MIDIに同期して Sample and Hold しようという企て。
勢いつけてソフトウェアを完成させた
ですよ。
サンプルパルスの発行周期を15モードほど用意した。32分音符から三連符から1小節、4小節まで*1。
現時点で問題になっていることとして、動作途中にモードを変えたときに、
- MIDIシステムクロック(0xF8)のカウンタとモード設定値の比較で潜り抜けてしまうと戻ってくるのに時間がかかる
- 位相がずれる
1. はイコール判定にしているのを大小判定にすればいいのだと今気がついた。2. は避けようが無い。もう一度 スタート(0xFA) を送ってもらうしかない。
さてそろそろ箱入れをしなくては。今回はモジュールにはしないで、箱に入れてみようと思う。電源も組み込んじゃおうかな。
でもその前に、MIDI同期時とそうでない時のモードをどう切り替えようか、いろいろと考えているうちに色気が出てきつつあるので、もうしばらく検討フェーズ。
ポカ
で、ソフトを書いていてやらかしたポカ。
- AT90S2313 を逆挿しして STK500*2のレギュレータをアッチッチにしてしまったこと
- ちゃんと設定していないのにパラレルモードで書き込んでしまったこと
- ちゃんと書けたと思ったら、今度は作った基板で 2313 に VCC が未結線だったこと
- UARTの受信割り込みが disable のままで「おかしい、動かない」と言っていたこと
- 2313 のポートでハードウェアと違うポートを指して「おかしい、動かない」と言っていたこと
- 2313 のポートの pull-up 設定を上書きして「おかしい、動かない」と言っていたこと
- 以下略
前半の間違いは致命的だが、幸いにも金銭的損失はなかった。くれぐれも真似をなされないよう…
r0r0わーいわーい。 MIDI同期MFSHの記事だ。
僕のミキサーが完成する頃には
完全動作&箱詰め完了→いろいろ大公開。
となっていることをお星様にお願いしておきます。
RJB僕もMIDI同期LFOにPNを追加しようとしたきり、放置状態になっています・・・ 6N139は規格表ではtfmax=60us(typ.)なので、フォトカプラでも相当遅い部類のようですね。
Chuckお、期待してくれていた方が。がんばりまっす>r0r0さん
うわー、60μsec。MIDIの31.25kbps は 32μsec だから…
どこかで 6N139 での作例を見たことがあったので使ったのですが、ちょっと危険かもしれませんね。>RJBさん
genie休刊のお知らせをどうもありがとうございました。出張から戻ってフォーラムに復帰しつつあります。今後ともどうぞよろしくっ!
2005-07-11
MIDI同期 ― その3. NGMIDISH
MFSH |
![]()
id:Chuck:20050704#p1 で回路図を掲げた NGMIDISH。
MIDI回りからQ2あたりまでを子基板に追いやってみた。U4の78L05 もこの基板に抱えて、メイン基板との間で「+9Vは貰ってくるものの、5Vを持って行かなくていいし、-9Vを持ってこなくてもいい 」という位置付けにしてある。微妙に修整*1した回路図は追って掲載する予定。
写真を撮ったらバックグラウンドのチラシがうるさかったので画像処理してある。
*1:水晶のところのコンデンサを takedaさんからいただいた 56pF にしているのである。
- http://emusic.g.hatena.ne.jp/Chuck/20050904
- http://emusic.g.hatena.ne.jp/Chuck/20040130
- http://emusic.g.hatena.ne.jp/Chuck/20051012
- http://emusic.g.hatena.ne.jp/Chuck/20051128
- http://emusic.g.hatena.ne.jp/Chuck/20051229
- http://emusic.g.hatena.ne.jp/Chuck/20060104
- http://emusic.g.hatena.ne.jp/Chuck/20060109
- http://emusic.g.hatena.ne.jp/Chuck/20060303
- 電音の工場ブログ - [作][MIDI2CV2] MIDIモニタ機能
2005-07-04
MIDI同期 ― その2. NGMIDISH
これまで、
- [MFSH] MIDI同期 ― その1. 敵を知る1 → id:Chuck:20050604#p1
- [MFSH] MIDI同期 ― その1. 敵を知る2 → id:Chuck:20050608#p1
などと勿体つけて書いてきたが、面倒くさくなったので、ここにホイッと いきなり回路図。NG + MIDI + SH 部分の回路図である。id:Chuck:20050314#p1 で示した*1 ノイズジェネレータ+サンプル&ホールドの回路図 と見比べていただければどういう変更をしたかわかると思う*2。
なお、
- まだ組んでいない
- ソフトも書いていない
- 先に書いたパルス幅を発生させたとして、LEDがちゃんと光るか不明
であるので、注意されたし。ま、「こんな回路でできるんだなぁ」という程度で。
あ、MIDIのレシーバ部分に 6N139 を使っているのは以前海外通販したときの余りが筆者の手元にあったからで、手に入りにくい場合は TLP552 で良いでしょう。R4の値も変更せずそのままいけるし。
追記
上記で挙げた回路図には間違いがありますので、このままコピーされませんよう(ここまでの情報だけで、コピーする人が居るとも思えんが)。







AVR使ってましたか...