とれすけのブログ -10ページ目

とれすけのブログ

IT、Mac、音楽、ひとり旅、メイカーズ、その他ゆるゆると。
Slackでバンドサポート

PM-M0841CKを使った自作スピーカーだが、ネットの記事を見ると、低音がけっこう出ているよだ。
なので、少し調整をしてみた。
作成時に吸音材を、バックロードホーンののどの部分に配して、出力を抑えるようにしたのだが、これで音は締まるが当然低音の出も悪くなっているわけだ。
なので、これをやりなおすことにした。

のどを塞ぐ形にしていたのを取り払い、いったんそのまま鳴らしてみる。
低域は出るようになったが、音が暴れる感じだ。
ホーン入口の底面に配置してみると、かなり落ち着いた感じ。
以下、いろいろ試してみたのだが、聴感上だけで判断するのは難しい。
オーディオ雑誌ではよくスペクトラムアナライザみたいな分析見かけるが、そんな装置はない、のだが、iアプリでそういうものがあるんじゃないか、と思ったらありました。

いくつかそういうアプリはあって、私は e-scope 3-in-1(https://itunes.apple.com/jp/app/e-scope-3-in-1/id660574048?mt=8)というアプリを導入してみた。
有料だけど、240円と低価格なのもあって、迷わず導入した。
使い方が始めはよくわからなかったけれど、iPhoneのヘッドホン端子にアンプをつないで自作スピーカーから音が出るようにしておいて、ホワイトノイズやサイン波を出力させてそれを計測する。
今回は周波数特性を測りたいので、最初はホワイトノイズを出力させてリアルタイムで周波数カーブを見ていたが、測定するにはSweepを使うといいことがわかった。

測ってみてわかったことは、このスピーカーは400Hz付近で鋭くレベルが落ちていて、その両隣の山が高くなっている。
どうもこの付近でスピーカーの前面音とホーン出力音が干渉しているようだ。
音楽で確認すると、この山のところの音がやたらと目立って聞こえてしまって不自然。
共振している感じもある。
これを改善すべく、吸音材の配置をあれこれやってみたのだが、この谷を解消することは今のところできなかった。
いくらかマシな設定で測定した結果が以下。
2

赤線がピークを保持した値。どうであろうか、不自然な山と谷が400Hz付近で認められる。
これだけ急なカーブだと、イコライザでは対処できない。
やはり、多少低音は犠牲にしても、ホーンからの出力を抑える方がいいみたいだ。
ということで、ホーンののどの部分にスポンジを置いたのが以下の例。
1

これだと、少しだが山のピークが抑えられている。
低音の減衰もさほどではなく、実際音楽を聞いてみると、先ほどよりは聞き易くなっている。
しかし、微妙な差でも聴感上はかなりの違いとなって聞こえる。
まだ調整の余地はあろうかと思うが、この先は筐体を考え直さないとだめだろう。

しかし、エイジングが進んだこともあるのか、この状態でかなり低音も満足のいく出方になってきた。ダイナミクスさが加わった感じで、これならサブウーハーなしでもそこそこいける。

*アマゾンの段ポールがたまたま2つあったので、簡易の密閉型エンクロージャーとして試してみた。
結果は、バランス悪くないという感じ。
但し、中音域が強めに出て、低音は思ったより出ない。
バックロードホーンの方が低音は出る感じがする。
でも、このスピーカーユニットがなかなかイケルものであるという感は強くなった。
もっとちゃんとした設計を行えば、もっといい音が絶対に出せると思う。

今回は、調整前と比べて、低音もアップしたし、ダイナミクスも得られるようになった。
ただ、ピーク周波数にクセがあるので、ここが課題である。
イコライザで250Hz、500Hzあたりを少し下げてやることで若干改善できる。
吸音材の調整は大事だと認識を新たにした1日であった。



解析アプリがこんなに手軽に使えるというのが、今回最大の発見であった。

あれこれやっていたMIDIスイッチャーのコードは、いくつか課題を残して一旦終了。
一番の課題だったバンクナンバー切替の表示を修正。
こんな感じになった。


見て分かるとおり、パッチナンバーの表示の際にちょっともたつきがある。
いろいろ試みてみたのだが、今段階ではここまでで限界。
なかなか思った通りにいかない。
ZOOM MS-50Gの方の切替が遅れているように見えるが、LCD画面の表示の切替かなり遅い感じで、信号はさほど遅滞無く切り替わっている。LEDの点灯、消灯のタイミングを見てもらうとわかるかと思う。

電源OFF時の設定を記憶するようにしたのだが、ON時に表示は復帰するが、その段階でMIDI信号を送出するのが、結局うまくいかなかった。
ずっとここでひっかかっていた。
理屈と現実がマッチしないところがあったのと、変数も付けたし付けたしになって、段々わからなくなってしまうという、ちょっと情けないところもあった。
他にMIDI受信時に、そのナンバーも表示するようにした。
このスイッチャーはレガシーMIDIからUSB MIDIへのコンバーターにもなっている。
機能的にはほぼ目標に達したので、これはここで一旦終了にした。

あと、よく見えないかもしれないが、7セグLEDにアクリル板も取り付けて、輝度的にも見やすくなったと思う。

案外悩んだのがUSB MIDIとレガシーMIDIを同時に送信するところ。
USB MIDIのコードは以前載せたことがあったと思うが、それにレガシーMIDIを加える時にはMIDIライブラリは使えない。
なので、シリアル通信で送出する。

サンプルコード
int data1;

void setup() {
  Serial.begin(31250);
}

void midiPg(char status, int data ) {
  Serial.write(status);
  Serial.write(data);
}

void loop(){
  data1 = 1;
  midiPg(0xC0, data1);
  delay(1000);
  data1 = 2;
  midiPg(0xC0, data1);
  delay(1000);
}


こんな感じのコードで解決した。
とにかく、最初にコードありきじゃなくて、機能を考えてからコードを探してるという感じなので苦労は多い。
また、その場その場でコードを足していくから冗長になるし、変数も統一が取れていなかったりと、かなりみっともないことになってしまう。
今回も20,000バイトくらいのスケッチサイズになっていて、使ってない変数の定義があったりとか、なかなか思うにまかせないけれども、実用に使うのが目的なんで、ちゃんと使えればいい、と割り切っている。

さて、次ぎに取りかかっているプリセットボリュームだけど、Arduinoの基盤と左右のバッファー回路の基盤まで一応作ったところ。
問題はボリュームコントロールするためのデジタルポテンションメーター。
まだ、実物を手に入れていないのだが、色々種類があって、どれが最適かがわからない。
また、チップも表面実装タイプとDIPタイプがあり、製作上はDIPタイプを使いたいのだが、これは通販でもあまり選択肢がない。
とりあえず、標準的なものをとりあえず発注した。
思った通りの動作をするかが問題。
これはやってみないとわからない。
あと、心配なのはノイズの問題。
デジタル系は5V、信号系は9Vと電源も分ける予定だけど、どうもこの辺がやってみないと分からない。

仕様としては、5プリセットで、MIDI受信で切り替える。
設定をどう記憶させるかだが、ボリュームを5つ並べようかとも思ったのだが、せっかくなので、左右別々に音量を設定できるようにしようかと思っている。
そうするとやはりEEPROMに記憶させるスタイルになりそう。
ちょっと基盤に載るかが心配。
これもまあぼちぼちやっていきたい。
また気が変わるかも知れないし。

前々回取り上げた自作スピーカーだけど、型番(PM-M0841CK)での検索もあるようなので、タイトルに入れてみた。
メーカーも分からないスピーカーユニットだけど、超高音質かというと、超まではつかないと思う。けど、悪くはない。
(最も、このクラスのスピーカーを比較した経験もないので、これはなんとも言えない)

さて、しばらく聞き続けていて、音の出もよくなって来た感じだが、低音部はやはり物足りない。
そこで、サブウーハーを思いつく。
サラウンドシステムはYAMAHAのTSR-15というのを使っていて、ただこっちはスピーカーをBOSEの501Zにつないでいるので、付属のサブウーハーが余っていた。
このサブウーハーをつないでみたところ、いい感じ。
低音に余裕が出る感じで、1クラスあがったような音質になる。
ただ、このサブウーハーはそのままつなぐと結構中音域も出ていて、重なる部分が出てくる。
また、そうなるとどうしても中央定位が強くなって広がりが損なわれる。
低音に絞る為、ネットワーク用のコイルでも買うかと思っていたのだが、考えてみるとBOSEの501Zのウーハーというのは1つボックスにLRの入力があり、中はそれぞれ独立したユニットになっている。
で、サラウンドアンプからはサブウーハー用の出力は1つだけなので、片チャンネル分ユニットが余っている。
これを使わない手はないということで、自作スピーカーと組み合わせてみたところ、これが結構いける。
低音は音量的にそんなに出ていないのだが、全体に低音の余韻というのが加わり、また帯域的にもかなり低い方を補っているので、クロスオーバーも少ない。
それでも、イコライザで250Hz付近を少し落とすことで、バランスのいい音になった。

自作スピーカー本体の方も、追加で薄いスポンジ状の吸音材?を買い足して、ホーン開口部付近に置いたり角に沿うように置いてみたりして聞き比べている。結構音が変わるのが実感できる。
ウーハーと組み合わせることでかなり満足のいく音になった。
低音はブーミーという感じでもなく、うるさくなくなんというのか礼儀正しい感じ。
中音の伸びはよく、高音は控えめでシャリシャリしない。といってバランスも悪くない。
聞きやすい音だし、久しぶりに音楽に聞き入ってしまう時間が持てた。
ダンス系の曲もばっちりで、BGM的に聞くには申し分無い。
ただ、ドンシャリにはならない。
広がりもあるが、余裕のある音ではない。
口径の限界という感じはある。
全体的に締まった音である。
しかし、口径7cmということを考えると、しかも値段400円ということを考えると、十分すぎるという気がしている。
もともと、そう低音を出せる環境でもないので、ウーハー抜きで聞いても、夜などはそれはそれでいい感じもする。

いい音の定義は難しいが、私の場合は単純に自分の気に入った音である。
また、日によって気に入った音も変わる。
なので、積極的にイコライジングする。
それでも、スピーカーの性能によるところは大きく、もともと出ない音はどんなに持ち上げても出ないし不自然になる。
バランスの崩れたものを直すのもこれまた難しいが、出のいいスピーカーはイコライジングもし易い。
今回のスピーカーは割と調整し易い感じであった。
作る楽しみも含めて、これは良い買い物であったと思う。


MIDIスイッチャーの方は、バンクチェンジの仕組みを直そうとコードを直している。
ただ、集中しないと出来ないんだな。
そういう時間が取れず、まだ未達。
A-B BOXは日常使用に組み込んで、MIDIスイッチャーで利用しているが、なかなか使える。
ループセレクターなくてもこれがあれば、ほとんどこと足りる。
ZOOMのMS-50GとA-B BOXとコンパクトエフェクター数個ですめば、そんな大きなエフェクターボードを持ち歩かなくて済むのがありがたい。

さて、動作はこんな感じ。



MIDIプログラムチェンジナンバーで偶数を受信した時は緑LEDが点灯し、信号はBに切り替わる。
ここにはディストーションをつないである。
Aループにもエフェクターはつなげるが、何もつながないとスルーになり、今回はスルーにしてある。
この後ろにZOOM MS-50Gをつないであり、簡易ではあるが、MIDIでコンパクトエフェクターとMS-50Gを同時に切り替えられる。

簡単だけど、コードを載せておく。


//---------------------------------------------
//MIDI A-B BOX version1.0
//2015.08.21
//by tolesuke
//--------------------------------------------
//MIDI設定
#include <MIDI.h>
MIDI_CREATE_DEFAULT_INSTANCE();

//-------------------------------------------

void setup()
{
    //MIDI開始
  MIDI.begin();
 pinMode(9, OUTPUT);
 pinMode(10, OUTPUT);
 digitalWrite(10, HIGH);
}
  //------------------------------------------

void loop()
{
  //---------------------------------------------------------------------------
  //MIDI受信セクション
  int MIDIdataROM;
  uint8_t MIDIdata1;
  if (MIDI.read())
  {
    switch(MIDI.getType())
    {
      case midi::ProgramChange:
      MIDIdata1 = MIDI.getData1();
      int MIDIdata2;
      MIDIdata2 = MIDIdata1 + 1;
if ( MIDIdata2 % 2 ) {
    
    digitalWrite(9, LOW);
    digitalWrite(10, HIGH);
else {
  digitalWrite(9, HIGH);
 digitalWrite(10, LOW);
}     //****************************
    }
       }
    delay(50);
  //MIDI受信セクションの終わり
  }




コードは、MIDIプログラムチェンジを受けたら偶数か奇数か判断して、LED点灯=リレー駆動するだけのものだ。
本体はつまみもスイッチもないシンプルなものにした。
こういうものが1台あると便利だと思ったのだが、いかがだろうか。
スピーカーのその後もまた書きます。
A-B BOXができたところで、ちょっと一休みして、実はスピーカーを作っていた。
部品調達に秋葉原に行った時に、スピーカーユニットを買っていたのだ。
使用中のサラウンドのセンタースピーカーがちょっとしょぼかったので、もう少し音域の広そうなスピーカーにしようとかねがね思っていたのだが、あるお店で"超高音質"と書かれたスピーカーが税込み400円。ものは試しと買っておいた。
その時もう一つジャンクの楕円スピーカーも1個買って試していたのだが、センタースピーカー用には楕円スピーカーの方がマッチしていた。
そもそもエンクロージャーなしでは比較も何もないのだが、素の鳴りは楕円の方が良く、人の声が聞きやすい。
で、余ったスピーカー、PM-M0841CKという口径7センチほどのユニットなのだが、コーンが白くてちゃんとエンクロージャーに入れればそれなりに聞けそうということで、再度秋葉原に出かけた時にもう一つ購入してきた。

で、エンクロージャーはというと、本屋でStereo誌のスピーカー工作の基本ちゅうやつをちらっと見ていた記憶があり、これにはバックロードホーンスピーカーのエンクロージャーキットがくっついている。これを利用しようと早速購入。
MDF製のキットだが、木工用ボンドでくっつけるだけなので、僅か数時間で出来る。
入れ物は出来たのだが、実はキットのバッフルはフォステクスの10センチスピーカー用なので、PM-M0841CKだと穴が大きすぎる。
そこで、バッフルだけを別途作ることにした。
ただ、このユニット、まん丸いだけで取り付け用のアソビがほとんどない。
丸穴開けの工具もないではなかったが、精度を考えてここは加工を業者さんにお願いすることにした。
ネットでいろいろ探して、図面もなく私のようなアバウトな注文にも対応してくれそうなところを探して、ストーリオ株式会社さんというところにお願い。
MDF材も扱っており、今回は4mmの板に丸穴を開けて頂いた。
ところが、私が迂闊にも採寸を間違ってしまい、72mmであけるところを82mmで注文してしまった。
届いた板では、まったくとっかかりが付かない。
やむなく正しいサイズで再注文。
連休以降はしばらくまとまった休みがとれないので、なんとか連休中に再送頂けないかとお願いところ、最短でやって頂けた。料金は倍かかっちゃったけど助かりました。感謝!

さて、バッフル面にはまずボンドでくっつけて、その後ホットボンドで裏から一周回して固定。
このユニットは案外マグネットが大きく、重量もあるので、ダメ押しの固定をしないとちょっと不安。
バッフル面は、キットのエンクロージャーに木ネジで止める。
出来上がりはこんな感じ。

スピーカー


音出しだが、最初に出て来た音は、正直期待はずれ。
低音がほとんど出ていない感じで、バランスが良くない。
卓上でしばらく鳴らして、それから中の吸音材の配置を決めようといろいろ試す。
吸音材といっても、キット付属のものは薄いスポンジ状のものが1ユニット1枚あるきりだ。
でも、これで結構音が変わる。
で、エンクロージャーの中のユニットからすぐの、いわゆる空気室の出口を塞ぐような形でこれを配置すると、音が締まって、低音の響きもよくなった感じがした。
3時間くらい聞いていると低音が出て来るようになった感じ。エージングってやつか。
そのままさらに数時間聞いて、どうもホーンから出る低音にちょっとクセがあって、やはりバランス的にもホーンの出音を少し絞った方がいいと判断して、空気室を遮るように吸音材を配置。さらにたまたまあった食器用のスポンジ(無論新品)をちょっと切って中に配置。
これで結構締まった音になった。
この状態で、固定していなかった横板をエンクロージャーに木工用ボンドで固定。
もう中はいじれないけど、いいのだ。

概ね乾いたところで、聞き込む。
やはり低音は、期待ほど出ない。
いや、400円のスピーカーということを考えれば期待以上なのだが。
また、低音不足も不自然な感じでは無く、タムタムの響きやベースラインなどはちゃんと出ており、低音がないということではない。
ドラムのキックが、ドンドンじゃなくてタンタンという感じ。
あと、低音に余韻がない感じか。
サイズ相応の音といえば、そう思える。
また、低音の特定の周波数にピークがある感じ。これはホーンの特性だと思う。
イコライジングで無理に出そうとしてもブーミーになってしまう感じだ。
ユニットの特性上はこんなものかも知れない。
ただ、バックロードホーンでなく、密閉型やシンプルなバスレフの方が、ユニットの音を活かせる感じがする。
逆に中高音は、きれいで伸びがある。耳障りなところもなく、クセもそう酷くない。
サブウーハー的なもので低音を補ってあげるとちょうどいい感じになるような気がする。
もともと、いつも聞いているのがBOSEのスピーカーだったりするので、それと比較してしまうと、物足りなく感じるのは当り前か。

置く場所もそうないので、ホーン開口部が耳の高さくらいのところに設置。
大きさ的にも、音的にも卓上に置くという感じではない。
耳に近いところで鳴らすよりも、多少距離があったほうが響きも広がりもよくなる気がする。
そんな状態で十数時間聞いたところで、また音が少し変わってきた。
前に出てくる感じ。
いろんなジャンルを聞いてみたが、クラシック系はやはりものたりない。
ダンス系も、低音が出ない分割り引かざるを得ない。
ただ、中高音ののびがいいので、よく聞くギターインスト系は気持ちいい。
アコースティックギターの音はよくマッチする。
ポップス系は録音の質でかなり違う。ペライ録音の音は本当にペラく聞こえる。
ボーカルは悪くなく、特に女性ボーカルはいい感じだ。

値段400円のスピーカーとしては、期待以上のものがあるかもしれない。
これは、最初にユニットありきの話なので、”本当にいい音”かどうかは何とも言えません。
もともとそんなにHiFiを突き詰めるほどでもないし、私の耳は日々変わっているので、別な日にはまた別な感想になるでしょう。
そうそう、人間の耳は自動的に補正がかかる、っていうのを何となく実感している。
イコライジングを色々とやっていて、低音の64Hzあたりをがっつり落とすと、かえって低音が出ているように聞こえる。
変な干渉がなくなって、となりの音域が強調して聞こえるせいだろうか。
この辺もまた面白いし、奥が深そうだ。
ちょっとまた間が空いてしまったが、近況報告。

MIDIスイッチャーの方はコードをまだ修正してる。
結局、バンクスイッチを押した後、点滅状態にしてパッチスイッチを押したら確定する、みたいな、完全なBOSS仕様がやはり分かりやすいという結論になったのだが、コードの構成をかなり変えないとできないので、まだ決定版に至っていない。

その間、アイデアとして、MIDI受信で切り替わるA-B BOXを作ろうと思い立った。
幸い、手元にある部品だけで出来そうだったし。
基本は練習用のコンパクトな機材を欲したということ。
今のシステムだと、MIDIスイッチャーとループセレクターで結構なスペースをとってしまう。
MIDIスイッチャーでZOOMMS-50GのMIDIチェンジが可能となったので、これに連動するA-B BOXがあれば、最小限のシステムとしてループセレクターを使わずシステムが組めるというのが動機だった。

これはブレッドボード上ではすぐ回路もできたし、コードも難しくはない。
基本、MIDIプログラムチェンジナンバーの奇数の時はAループになり、偶数ナンバーを受信するとBループになるというしろもの。
フットスイッチも排して、MIDIだけでコントロールする、極めてシンプルな構成。

ケースは、昨年の楽器フェアに行った時にもらったアルミケース。
スペースがないのでArduinoは、単独動作できるように基板に実装。
基板はクガデンのAB基板。IC用の基板と3端子レギュレーターの電源回路と、フリー基板のドッキングした基板を使った。
回路もArduinoの他はMIDI受信のフォトカプラ、スイッチとしてもリレーを積むくらいで、たいした回路ではない。
ただ、年をとると、ハンダ付けがやはり最大のネックになる。
電源はDC9Vをジャック入力し、3端子レギュレータで5Vに落としている。
でも組んでみると、やはりケースぎりぎりになってしまった。

途中、リレードライバ回路のトランジスタを反対に付けてしまうなど、ミスもけっこうあったが、無事完成にこぎ着けた。
使ってみると、MIDIスイッチャーでこのA-B BOXとMS-50Gが同時に切り替わる。
案外使い出がありそうだ。
スタジオ練習にはこのシステムでいい。ループにはディストーションなどが入り、クリーントーンとリードトーンの切替も一発。

ただ、今回はスペース上の制約がありすぎて、リレーを1個としたため、トュルーバイパス仕様にはできず、特にクリーントーンからリードトーンに切り替える時には切替ノイズが乗る。
ここはもう割り切った。
マイコンと信号ラインがかなり近づくので、ノイズが心配だったが、信号ラインは極力シールド線にして、実際デジタル系のノイズはさほど気にならない。

小物だけど、これは重宝しそうな気がしている。
実質2日ほどで作ってしまったけれど、使いたいものが作れる喜びというものはひとしおのものがある。
そろそろ、エフェクターボードに組もうかと思っている。
動作の状況などは、また次回ご紹介したいと思う。

使用してみてわかったのだが、バンクスイッチを押すと、プログラムチェンジを送信するという仕様は、結局NG。
チェイン式に使えるかとも思ったのだが、バンクを切り替えるだけで考えた場合は、都度音が変わってしまう。
なので、やはりBOSS式にバンクスイッチを切り替えてからパッチスイッチを押したところでプログラムチェンジを送信するように変更。
これは、まあコードを1行コメントアウトするだけで済んだ。

あと、設定値が127までしか行かない問題もついでに修正。
あとは、LCDをはずしたので、その辺のライブラリとコードを削除。
一旦これで様子を見る。
やはり、実際使ってみて気づくことがある。
ケースを開ける必要はあるが、修正が簡単にできるのがなんともありがたい。

プリセットボリュームのことも考えて、ループセレクターの方もコードを修正してみる。
こちらは、石に書き込んでから交換となるので、まだ実装していない。
プリセットボリュームを作ってからにする。だいぶ先になりそうだけど。

で、その後も使い続けてみると、今度はバンクセレクトした後に、例えばパッチ1になっている状態でパッチ1のボタンを押しても変化が無い。一旦他のパッチを選んで1を押せば反応するが、これではまだダメだ。
もう少し修正がいる。

システムはまあ出来上がってきたが、市販品と比べてみたらどうかと思って色々見てみると、大体ループスイッチャーという形のものが多い。
安いもので4万円程度だから、自作と比べても悪くない値段だ。
私の場合は、ループセレクターとスイッチャーが別々なので、スペースを考えると、断然いい。
といって、今さら買うわけでもないのでアレだけれども、考えて見れば、スイッチャーとループセレクター一体でも作れない訳でもなかった。
最も、発想の順番が逆だったし、いきなり作るには敷居が高かっただろう。

先月久しぶりにギターマガジンを買ったのだが、自作エフェクターコンテストなるものが開催されており、なんかそういう時代なのかと妙な気分になった。
触発されるものがあればと思う。



五輪のロゴデザインから始ったデザインの問題がかまびすしい。
しかし、他人のデザインを丸々パクって自分のものとし、利益を得るという人の神経はどういうものだろうか。
参考にするというのはあるのだろうが、一連の作品を見ていると、どうも確信犯のようだ。

さて、スイッチャーの方はまず実際の動作を。



液晶画面を写したかったのでちょっと暗めにしてある。音声なしで申し訳ないが、解説すると、
まず、パッチの2~5を順番に切り替える。
MS-50Gの画面が切り替わっているのがわかるだろうか。
その右にあるのが、MIDIループセレクターで、これも同時に切り替わっている。
次に一番左にあるバンクスイッチで2~5、また1へと切り替えている。
ここでも、プログラムチェンジは送信される。
次に、パッチの3に行ったところで、背面のモードスイッチを押す。
スイッチは緑色に点灯する。
ここでボリュームを動かすと、プログラムチェンジナンバーが変わる。
025にしたところで書き込みボタンを押す。
モードボタンを戻す。
一旦パッチの4を選び、再度3を押すと、先ほど設定した025になっている。
今度は、ループセレクターの方の設定用ボリュームで設定を025にし、ループON-OFFボタンで4つともONにしておいて書き込みボタンを押す。
スイッチャーでパッチ3の025にすれば、その状態が再現される。

という訳で、かなり自由度の高いシステムが出来上がったと思う。
ただ、実際に配置してみて、ボードを組むとなると配線の関係で結構な大きさになってしまいそう。

注意点として、消費電流の問題がある。
実測してみたのだが、大体110mAほどになる。
結構な消費量で、4桁7セグLEDが一番電流を食っているようだ。
ついでにMS-50Gの方も電流量を測ってみたのだが、アイドル状態で150mAほど。
推奨の電源アダプターが500mAとなっているので、もっと流れる可能性はある。
測定はアナログのテスターで行っているのでアバウトな点はご容赦願いたい。
で、問題はMS-50GをUSBでつなぐところにある。
MS-50Gに外部電源アダプターを差さずにスイッチャーとUSBで接続すると、USBから給電されてON状態になる。
この状態でスイッチャーの電流量を測るよと、0.25Aのテスターのレンジを振り切ってしまう。
まあ、合計の消費電流なので当然なのだが、今回の製作ではArduinoへの電源供給は、外部9Vのアダプターから電源スイッチを経てArduinioのVinピンにつないでいる。
Arduinoのレギュレーターを通るので、ここに負荷がかかりすぎてしまう。
また、そもそも使用している9Vの電源アダプターの容量が200mAだ。
ということで、このまま使うと機器損傷の危険が大きい。
本当は、回路上で工夫したいところ。
MS-50Gに9Vで外部電源供給すれば、USBからの給電は切れるようなので必ず外部電源を使用したい。
この場合、電源アダプターをつないだからといって物理的に切れている訳ではないので、スイッチャーの電源を先に入れるとMS-50GはON状態になってしまう。
なので、必ずMS-50Gを先に電源投入し、消すときは先にスイッチャーの電源を切るようにしないといけない。
面倒なので、スイッチ付きの電源タップで同時にON-OFFしている。
いずれにせよ、リスクはあるということで、参考にする場合は自己責任で行って頂きたい。

もう一つ発見した問題点は、プログラムチェンジを設定する際の値が、127までしかいかないこと。
ボリュームを振り切った状態で、127と128でふらついて、128では安定しない。
以前作ったループセレクターも検証してみたが、こちらはそうでもない。
コードを手直しすればいいのだが、使用には今のところ差し障りがないので、当面このままでいく。

USBのハングはやはり接続し直したりすると発生し、電源投入したあと必ずリセットボタンを押す必要があったりし、現象が一定しない。
USBまわりの結線が甘いのかも知れない。
また、掟破りのUSB端子増設が原因かも知れない。
コードも完全とは言えない。
2台つないだ時の動作は、正直言って分からない。
電流量のこともあり、あまり欲張らない方が無難かも知れない。

パネルや足のこともあるが、当面この状態で使い込んでみたい。
コードについては、今の段階ではバギーなものであるので、一旦控えておきたい。
部分的な解説は試みてみたいと思う。

次はラズパイでPdもいいが、ステレオ仕様のプリセットボリュームみたいなものも作ってみたいと思っている。
実際に必要なものを作っていると言う感じなのだが、結局、かの大塚明氏のハンドメイドプロジェクトネタである。
思い返せば、私が初めて買ったギターマガジンに載っていたのが、まさにプリセットボリュームだった。
当然、作った訳だが、以前にも書いた通り、便利に使わせて頂いた。
今も残骸は残っている。
今様に考えると、ステレオ仕様で、これもMIDI対応にしてみたい。
なにしろ、今ある機材だけで結構なスペースを取ってしまう。
この上、フットスイッチ付きのプリセットボリュームは置けない。
なので、プログラマブルにする。
ここで、面白いのが、MS-50Gはパッチが50しかないのである。
51以上のプログラムチェンジを受けても反応しない。
なので、プリセットボリュームは51以上の設定にする。
そうすると、今回のスイッチャーでプリセットボリュームだけを切替できる。
踏み替えはちょっと面倒だけど、例えばバンクの5にだけボリューム用のプログラムチェンジを設定しておけば、5段階の切替ができる訳だ。
ループセレクターの方はコードの書き換えが必要だが、使うナンバーが5個しかなければ、例えば124~128は無効にしておけば、影響を受けないで済む。
この仕様なら、おそらくコンパクトエフェクターサイズで納まる。
この辺は、色々考えると面白い。

ということで、次作は、またちょっと間が開いてしまうと思うが、頑張ってみたい。










随分と間があいてしまったが、ようやく完成。

別なことをやっていて、中断していたのだが、お盆で落ち着いたこともあって、2日間で一気に組み上げた。
実は、中断の原因となっていたレガシーMIDIの出力のコードは、かなり前に解決していて、部品も調達し終わり、後は組むだけの状態になっていた。
ただ、Arduinoをそのまま使うのか、石を焼いて基板で組むのか、また電源回路を別途用意するかなど、いくつかのオプションを決められないでいた。
あまり欲張ると頓挫しかねないのと、今回はUSBホストシールドを使うこともあり、Arduinoをそのまま使うことにした。

出来上がりはこんな感じ。



フットスイッチの他に角形のプッシュスイッチが並んでいるが、これは手で押すことを考慮したもの。
自宅で使うときは、足でなく手を使うことになるので、このように2Wayにした。
4桁7セグLEDの方は上にアクリル板を付ける予定だが、適当なものがまだ見つけられていない。
角穴は、やはりなかなかきれいにできない。
ちょっと見た目は悪くなってしまっている。

動作確認したところ、一発でちゃんと動いたのだが、いくつか問題が発生している。
どうもUSB系統が不安定で、抜き差しするとハングしてしまう。
USBホストシールドのリセットスイッチを外に出すことで一応の対策とした。

電源は、Arduinoの外部電源端子を利用するつもりだったのだが、そうすると、電源スイッチのない仕様になってしまう。なので、DC INの端子を別途設け、電源スイッチを経由することにした。
Arduinoの外部電源端子はセンタープラスなので、他のエフェクターと揃える意味と手持ちの電源アダプターの仕様もあり、センターマイナスの結線にしている。入力は9V。

配線図はFritzingというソフトで作成している。
使用できるパーツに限りがあるので、実際のパーツとは異なるところがあるが、そこは読み取って欲しい。
回路図や基板パターンの作れるようなのだが、そこまでは使わず、お絵描き用として使っている。
簡単に描けるので随分と工作の助けになっている。




これで何ができるのか、もう一度解説。

基本は、MIDIプログラムチェンジ信号を出力するスイッチャー。
プログラムは5パッチ×5バンク。
各パッチには任意のプログラムチェンジナンバーを設定できる。
出力はレガシーMIDIとUSB MIDI両方同時に送信。
MIDI INがあり、これは他の機器からプログラムチェンジを受けると、スルーしてレガシーMIDIとUSB MIDIに出力する。

作成の動機としては、ZOOM MS-50GやMS-70CDRのパッチをプログラムチェンジで切り替えるのがまずあって、それにレガシーMIDIをプラスすることで、前回自作したMIDIループセレクターを同時に切り替えるということを目指した。




スイッチが6つあるうち一番左がバンク切替、以下5つがパッチ。
バンクはもっと増やすことも可能だが、スイッチがアップしかないので、元に戻すことを考えると5バンクくらいがいいだろうという考え。
パッチのスイッチの上の角形のスイッチはフットスイッチと同じ動作をする。これは宅内では手で押すことを想定して付けたものだが、フットスイッチもこのタイプはそんなに押しがきつくなく、なくても良かった。LED内蔵のスイッチなので、表示兼用。

表示の4桁7セグLEDはバンクとプログラムチェンジナンバーを表示する。
左の一桁がバンク(1~5)、残り3桁がプログラムチェンジナンバー(1~128)。




背面は、左側から電源スイッチ、USB出力×2、DC-IN、MIDI IN、MIDI OUT、MIDI OUT KILLスイッチ、書き込みボタン、プログラムチェンジナンバー設定用ボリューム、モード切替スイッチになっている。
USB出力は、USBホストシールドのUSB端子の接点をそのまま並列に接続してある。
MS-50GとMS-70CDRを両方一緒に切り替えるということを目論んで2つにしている。
但し、実機がないので実際に動作するかは未知数、またUSB規格的には邪道な仕様であろう。
MS-50G一台では動作できている。

MIDI OUT KILLスイッチというのは、レガシーMIDI OUTへの接続線の切断スイッチで、MIDIの接続の仕方によって、ループを防ぐため設置してある。
使い方として、MIDI OUTにループセレクターのようなものを接続するだけならいいのだが、例えばMIDI INにBOSS GT-8のようなものを接続して使う場合、MIDI OUTにもGT-8を接続すると、GT-8の設定によっては信号がループしてしまう。
あまり想定しづらい環境だが、念の為に付けておいた。

モード切り替えスイッチは、通常のスイッチャーのモードと、各パッチにプログラムチェンジナンバーを設定する際のモードの切替を行う。
設定モードにした時に、設定用ボリュームでプログラムチェンジナンバーを選ぶ。選んだら、書き込みボタンを押すことで、その時に選択されているパッチにそのナンバーが設定される。
ブレッドボード上で半固定抵抗を使っていた時は、設定値のふらつきが随分出ていたが、可変抵抗器と、あと電源を外部電源9V供給にすることでかなり安定した。
当初、この設定の部分は上面パネルに配置する予定であったが、やはりサイズ的に厳しいのと、どう考えてもボリュームつまみがフットスイッチを足で踏むときの邪魔になるので、背面に移動した。




サイドは片側にArduinoのUSB端子と外部電源端子を出してある。
スケッチの書き換えはこれでばっちりなのだが、MIDIとの干渉防止のスイッチは内部の基板上にある。なので、書き換えの際はやはりケースを開けなければならない。
外部電源は、背面のセンターマイナスの方を使用する。
Arduinoの外部電源端子ももちろん使える。が、スイッチがないのとセンタープラスなので基本使わない。
両方同時に電源供給すると壊れるらしいので、ここは注意。
右上に見える黒いものが、USBホストシールドのリセットスイッチ。
USB MIDIがハングしたら押すので、外から押せるようにした。
後付けで考えたので、普通の基板用のタクトスイッチをホットボンドで固定しただけのものだが、案外勝手がいい。

上面のフットスイッチは6つ配置でぎりぎりの感じ。これ以上狭くなると足での踏み替えに差し障りが出るだろう。
ケースは最初でかいかなとも思ったが、実際に実装してみると丁度良い感じ。
基板の配置も配線も技術のない私には作業しやすいサイズだった。
今回初めて使った4桁7セグLEDは視認性が良く、LCDから変更して正解であった。
I2C接続なので配線も楽だし、コードもアルファベット表示など、難しいことを考えなければライブラリのおかげで簡単に実装できる。ライブラリの作者には感謝したい。

実際に動作させてみると、他のエフェクターと同じ電源アダプターから電源供給すると、やはり信号にノイズが乗る。電源アダプターを別途使用すると気にならない。
最大の問題は、切り変えの際のタイムラグ及び音切れだが、これも思ったほど悪くなかった。

コストの方は正確な数字はちょっとすぐ出ないが、部品実費で大体2~3万円というところか。
Arduino本体とUSBホストシールドをそのまま使っているのでそこそこコストは上がってしまう。
また、フットスイッチが1個700円ほどするので、ケースと合わせてこれだけで1万円は超えてしまう。
ただ、その他の部品は点数的に多くないので、さほどかからないと思う。




基板は、今回はブレッドボードタイプのものを2枚使った。
配置的には、配線も考慮してかなり余裕を持たせている。
もっとコンパクトにすることはもちろん可能だが、今回は楽を取った。
ハンダ付けはユニバーサル基板と比べれば随分楽であったし、配線ミスを防ぐ意味でも今回は正解であった。
USB端子用に1枚ユニバーサル基板を使った。
こんなサイズはいらないのだが、もうこのまま使った。
USB端子は基板取り付け用のものなので、こんな形になったが、パネルの穴は蓋の側にあるので、合わせが難しかった。結果、USB用の角穴は結構みっともないことになっている。

大変なのはケース内の配線で、これは結構配線ミスをやった。
皆、途中で気づいたのでこと無きを得たが、案外ダメである。
今回は一カ所不良ハンダはあったものの、一発で動いたのがなんともうれしい。
トラブルシューティングはやはり大変だし、気がめいる。

あと、4桁7セグLEDのアクリルパネルとゴム足を付ければ完成。
角穴の加工の甘さは、USBの穴とかちょっと恥ずかしいけれど、動作には関係ないのでもうこれで良しとする。

次回、スケッチの解説をしたいと思うが、さほど自信のあるコードではない。
とりあえず動作する、というレベルであることをあらかじめお伝えしておく。

なお、今回の製作もネット上の情報に支えられていることを記すと同時に、多くの情報を提供下さっている皆さんに改めて感謝申し上げたい。

追記:

ラズパイ・オーディオなる見出しに惹かれて、初めてトランジスタ技術という専門誌を購入した。
内容は、さすがに理解の域を超えるものが多い。
が、エフェクターの製作記事などもあり(回路図まで、というところが私には厳しいのだが)、多いに触発される。
ラズベリーパイのアナログ出力関係の理解ができ、次はラズベリーパイ+Pdのエフェクターに取り組んでみようかなどと思っている。














サインスマート UNO R3 ATmega328P 互換ボード + USBケーブル(Ardui.../サインスマート(SainSmart)

¥価格不明
Amazon.co.jp

USBホストシールド 2.0 for Arduino (compatible with Goo.../梅本有限責任事業組合

¥価格不明
Amazon.co.jp

かなり間が開いてしまった。忙しいのと、ギターを弾く時間にかまけて、ついつい更新が。
ギターはまあ、ほとんど中毒かな。
この歳になって、こんなに弾くようになるとは思わなかった。
指が動くと、ついつい気持ちよくなってしまう。

最大の理由は音色。
前にも書いたが、YAMAHAのディストーションDI-01+ZOOM MS-50Gのアンプシミュの組み合わせが気持ちいい。
ただ、これはヘッドホンでの話。
しかもBOSS GT-8で基本の音色は作ってある。
なので、かなり加工された音、ということになる。
バンドで使う音ではない。
しかし、気持ちのいい音色だから弾くのが楽しい。
逆に、気に入った音色でなければ楽しくないだろうと思う。
要はそれを気持ちいいと感じる脳みその問題なのだろうが、私の脳みそはその点単純にできているようで、これはこれで幸せなのだろうと思う。

もう一つの理由が、以前に作ったループセレクターにある。
DI-01とMS-50Gはこれでひとつの音色を作ってある。
クリーンな音を出すときは両方ともOFFにする。
このスイッチングがワンタッチでできる訳である。
大体私は座って弾く事ばかりなので、エフェクター本体のフットスイッチを手でON-OFFするのが、実は結構簡単ではなかったりする。
特にこの古いヤマハのエフェクターとMS-50Gのスイッチは固いのだ。
こいつらを2個、順番に手で押すなんていうことだと、続いていなかった気がする。
これが、ループセレクターの、これはまた小さなプッシュスイッチで操作できるというのが、何とも楽なのである。

弾くと言っても、1日1時間くらいなものだからたいしたものではないが、このところ毎日という感じである。
それだけ疲れているということかな。
あと、ブルースの教本を買ったことも影響しているかも知れない。
いや、まだ1曲しかやってないんだけど、フレージングというか、かなり変わって来た感じはする。
新しい刺激があったからというのも理由のひとつかも知れない。
スケールの本を買っては、結局放置状態になる私にとっては、曲として学べる方式はあっているのかも知れない。
元々、楽しいからこそギターを引き続けている訳で。

そんなこんなで、工作の方はちょっと滞っている。
実はMIDI出力のところでつまづいてしまっていて、解決策がまだ見えていないのだ。
現状でさほど困っていないというのもある。
でも、例えばDI-01は今までDC電源が取れなかったのであまり使っていなかったものが、DCアダプタに接続できるようにしてから常時使うようになったりと、工作の恩恵はかなりあるので、この先も続けていくと思う。