[Top]->VS1053bで作るお手軽MIDI音源
[Japanese] [English(N/A)]
更新日:2016-12-02

VS1053bで作るお手軽MIDI音源

Circuit

ガーバーデータ・回路図・部品表一式ダウンロード

概要

VS1053bを使ったMIDI音源を作ることにしました。VS1053bは圧縮音源のデコード機能を持つICですが、 GM相当の音源(パーカッションのみGM2対応)も内蔵しているため、スタンドアローンのMIDI音源として使用することができます。 沢山の方が製作されており100番煎じなネタですが、 ICをつなげるだけの簡単仕様なので、「ちょっと複雑な回路で基板制作を楽しむ」にはもってこいの題材だと思います。 ※製作したのは2016/5頃です。

MIDI受信回路の設計(フォトカプラの選定と周辺回路の設計方法)

Circuit
標準的なMIDI-IN回路

まずはMIDI回路(MIDI-IN)の設計です。基本的に、JISX6054-1 電子楽器ディジタルインタフェース(MIDI)-第1部:総則のリファレンス回路に従っています。

フォトカプラの選定

フォトカプラには、TLP2958を採用しました。JISX6054-1に推奨部品として挙げられているからでしょうか、ネット上の作例では、古めのICであるPC900Vが人気のようです。 PC900Vはまだ現役ICのようですがディスコンが怖いので(シャープ製だし…)、東芝製高速通信用フォトカプラから、次の点に注意して選定しました。

  1. オン電流が5mA以下
  2. 負論理(一次側に電流が生じると出力がL、電流源の遮断でHとなる)
  3. トーテムポール出力

上記1.や2.は、JISX6054-1により規定されています。トーテムポール出力を選択したのは、二次側の回路にプルアップ抵抗が不要なのと、電流の吸い込み・吐き出しをする他の回路と組み合わせられるからです(PC900Vのようなオープンコレクタ出力タイプでは電流の吸い込みのみ)。今回のように、LEDを接続してMIDI信号をモニタする程度なら別にトーテムポール出力でなくても良いと思います。(吐出・吸込電流の定格には注意)

※2016/11現在、TLP2958はRS-Onlineで購入できます。最低注文数は5ですが、1個あたり91円とそれなりに安価です。

一次側の電流制限抵抗R17

R17には、JISX6054-1記載の定数220Ωを使用しています。後述の理由から、R17を330Ω程度に設定しても良いとは思いますが、イマイチ自信が持てません(※)のでJIS通りにしています。 市販の機器はJISベースの回路通りに作られていると思うので、問題は起きないでしょう。

※MIDI-OUT側の機器のドライブ能力が「5mA以上」と規定されているため、一次側の電流値が5mAを超えないように設計した方が良いと思うのですが(もしかして間違った考え方?)、R17=220Ωの場合フォトカプラの\( V_F \)(順方向電圧)によっては5mAを超えます。例えば、MIDI-OUT側機器の内蔵抵抗が、JIS通りの220Ω×2=440Ω、フォトカプラのVF=1.45V(TLP2958)の場合を下図に示します。このとき、一次側電流\( I_1 = (5-1.45)V \div (440+R17)Ω \)と計算できますが、\( R17=220Ω \)の場合\( I_1=5.4mA \gt 5mA\)となってしまいます。一方、\( R17=330Ω \)の場合\( I_1=4.6mA \lt 5mA \)と、良い感じになります。 (それにしても、JISで挙げられているPC900Vを使用した場合\( V_F \)は1V程度なので、R17=220Ωではさらに電流値がアップする(6mA程度)と思います…)

Circuit
MIDI-OUTとMIDI-IN(JISX6054-1による)を接続した際の電流計算

フォトカプラ保護用ダイオードD2

D2はクランプ用ダイオードで、静電気などのサージによる内部LEDの破壊を防ぐために付けています。副次的な効果として、MIDIコネクタの4pin-5pinをテレコにした場合に、フォトカプラを保護することもできます(実際にやらかしました…)。 \( V_F \)が、フォトカプラLEDの逆耐圧以下のものを選んでおけば良いと思います。TLP2958の逆耐圧は5Vなので適当なDを付ければ良いでしょう。そこら辺に転がっていた汎用小信号用ダイオードを付けておきました。

電源回路

Circuit
適当な電源回路

VS1053bは厄介なことに、3.3V系と1.8V系の電源を必要とします。後述のアンプ回路駆動用電圧9Vと合わせ、3種類の電源が取れるようにしました。 秋月電子で買えるものから適当に選び、TA48M033(3.3V), NJU7223F18(1.8V)を選定しました。
※ちなみにこれはあまり良くない回路だと思います。異常電圧防止用のツェナーを入れたり、3端子レギュレータの逆電圧防止用Dを入れたりした方が良いと思います。

VS1053b周辺回路

Circuit
VS1053b周辺
ほぼVS1053bのデータシート通りの回路なので、特筆することはありません。 Real-time MIDI modeにするために、GPIO0をL、GPIO1をHにセットしています。

アンプ回路

Circuit
オペアンプによる非反転増幅回路

出力は、ゲインが3倍弱の非反転増幅回路です。ヘッドフォンをドライブしたいので、オペアンプには駆動電流の大きいNJM4556を使用しました。 図はステレオ出力の片側の回路で、R9,C12は入力フィルタ、C11,R12はオペアンプの発振防止用回路(Zobelフィルタ)です。 R7,R11はオペアンプのバイアス用抵抗で、バイアス電流を気持ち大きめにしています(好みの問題)。

プリント基板

またまた「痛基板」にしてみました。

Circuit Circuit
キュアビューティちゃん

音を聞いてみる

とりあえず、大昔にでっち上げたMIDIファイルを鳴らしてみました。Reverbは効きますが、ChorusやDelayは効かないようです。

余談

VS1053bは、かなり昔にこちらのサイトで初めて知りました。以来、製作してみたいと思っていましたが知識が追いつかず。ようやく作り上げることが出来ました。長かったなぁ。

参考文献

  1. 「VS1053Bで遊ぶ」,気紛れ作業録
  2. VS1053BのMIDI音源を作ってみた,からくり工房「ききょうや」
  3. 「JISX6054-1 電子楽器ディジタルインタフェース(MIDI)-第1部:総則」,日本工業標準調査会
  4. 「TLP2958データシート」,(株)東芝
  5. 「通信用ICフォトカプラの基本特性と応用設計」,(株)東芝
  6. "VS1053b Datasheet",VLSI Solution

更新履歴