ホーム > AVR, Syhthe > 汎用USB-MIDI基板 moco2Universal USB-MIDI board

汎用USB-MIDI基板 moco2Universal USB-MIDI board

2012 年 6 月 11 日

安価に作れて、汎用的に使えるUSB-MIDI用の基板(moco2)を作りましたので、紹介します。

iPadから手軽に使えるMIDIデバイスが作れます。

MeeBlipをモバイルシンセにする

MeeBlipをモバイルシンセにする

I designed a low cost USB-MIDI board named moco2. With moco2, one can easily build MIDI device which works with iPad.

Moco2 can be used as a converter between serial-MIDI and USB-MIDI.

MeeBlipをモバイルシンセにする

1. 回路図

基本的な回路は以前に作成した「USB-MIDI Converter もこ」と同じです。

moco2 Schematic

V-USBを使ってUSB-MIDIクラスのデバイスを作る場合、フラッシュメモリが2KBのTiny2313だとメモリ容量がたらず、あまり機能を作り込むことが出来ませんでした。最近、メモリ容量が2倍(4KB)のTiny4313がDigikeyなどで安く入手可能になったため、汎用的に利用可能な基板をおこすことにしました。

Tiny2313/4313を16MHzで動作させ、Serial MIDIとの接続のためのフォトカップラをつけます。

また、今回は他の用途にも使えるように、CPUの信号を取り出せるように18PINのピンヘッダを付けました。組み立ての際に利用する予定のないパーツは付けなくて構いません。例えば、シリアルMIDIの入力をしない場合には、フォトカップラは不要です。

2. アプリケーション

目的によってファームウエアを書き換えることで違ったデバイスを作成可能です。

以下に私の作ったプログラムを紹介します。

なお、tiny2313/4313にはブートローダ等は有りませんので、ISPプログラマで直接プログラムを書き込みます。V-USBを使い際にはFUSEビットの設定が必要になりますので、忘れず設定を変更して下さい。

2.1 USB-MIDIコンバータ もこ

MocoはUSB-MIDIとシリアルMIDIの変換をするプログラムです。容量の関係で、Tiny2313の場合にはどちらか片方向のみです。Tiny4313はUSB-MIDI <->Serial MIDIが双方向で動作します。

名称 機能 必要なチップ
Mico Serial MIDI -> USB-MIDI Tiny2313
Moco USB-MIDI -> Serial MIDI Tiny2313
MicoMoco USB-MIDI <-> Serial MIDI Tiny4313
シリアルMIDIコンバータ もこ

シリアルMIDIコンバータ もこ

プログラムはフォルダに分かれていますので、必要なコードを書き込んで利用して下さい。ソースコードはこちらからどうぞ。

2.2 ミニキーボード

単純なミニキーボードを作ってみました。

ピンヘッダに出ているピンをグランドに落とすことでノート信号をUSB側に出力する単純なものです。

moco2を使ったミニキーボード

moco2を使ったミニキーボード

利用可能なピン数の都合で、ちょうど一オクターブ分になりましたが、実用的には、一オクターブ上のCも出ると良いと思います。

note NO PIN
C4 PB1
C#4 PB2
D4 PB3
D#4 PB4
E4 PB5
F4 PB6
F#4 PB7
G4 PD0
G#4 PD1
A4 PD4
A#4 PD5
B4 PD6

ソースコードはこちら。

2.3 Note信号で光るLEDディスプレィ

ミニキーボードのちょうど逆で、ノート信号によってピンのH/Lを切換えるようにしたものです。

電流制限抵抗を経由してLEDを各ピンにつなぐことで、LEDの制御等に使えます。

MIDI制御のLED表示器

MIDI制御のLED表示器

なお、ピン配置はミニキーボードと同じです。

ソースコードはこちら。

3. 利用例

moco2は、自作機器に組み込んで利用することを想定しています。

そこで、オープンハードウエアなデジタルシンセサイザーMeeBlip microをiPadにそのままつないで、モバイルシンセサイザーとして利用可能にしてみました。

Meeblipをmoco2で制御する

Meeblipをmoco2で制御する

【改造のポイント】

  • USB-MIDIコンバータとして利用します。USB->Serial MIDIの一方通行で充分ですので、Tiny2313が利用可能です。またシリアル側からの入力もないため、moco2基板側にはフォトカップラは実装の必要がありません。
  • MeeBlipは基板上に5Vレギュレータをを持っています。今回は直接USBから電源供給を行うためレギュレータを実装せずにバイパスしました。
  • MIDI信号はmoco2とMeeBlipのフォトカップラを経由して接続しています。実はフォトカップラを経由せず直接接続しても大丈夫のはずです。今回は、改造が多くなるのでそのままにしてあります。
  • MeeBlipには制御用のボリュームやスイッチを接続することになっていますが、付けなくてもシンセサイザとして機能します。スイッチが無い場合には、MIDI経由でCCコマンドでパラメータを設定します。また、パラメータも初期設定されていますので、いきなりノートを送っても音が出ます。

【利用方法】

  • iPadからMeeBlipのパラメータを制御するためには、TouchOSCというプログラムを使うのが便利です。TouchOSC Editorというプログラムを使ってボタンやノブの配置、対応するコードなどのレイアウトを独自に設計することが可能です。
  • MeeBlip用にユーザが作成した設定が提供されています。ただし、MIDIチャンネルがなぜか3に設定されているため、全てのボタンの設定を1に変更する必要があります。
MeeBlipをTouchOSCから利用中

MeeBlipをTouchOSCから利用中

MeeBlipは使って楽しいシンセサイザーです。

ソフト制御は少し物足りないので、ケースに入れてボリュームやスイッチを付けたいと思います。

(了)

1. Schematic

The schematic of moco2 is the same with USB-MIDI converter named ‘moco‘.

moco2 Schematic

When V-USB is used to implement USB-MIDI class device,  flash memory of 2KB in Tiny2313 is not big enough to implement many functions inside. Lately, Tiny4313 , which has 4KB flash memory, is available.  They have sufficient memory for many generic application. I decide to design a new PCB for moco for general use.

In the schematic, Tiny2313/4313 is driven by 16MHz clocked and a opto-couppler is attached for bridge Serial MIDI.

The new PCB for moco2 has a 18 PIN connector for general use. All ports of Tiny2313/4313 are assigned in the connector. Note that not all of parts should mount on the PCB, if one would not use the function. For example, no opto-cuppler is required if serial MIDI is not used.

2. Application of moco2 board

Various kinds of MIDI device can be implemented on moco2 board with different firmware.

The following are examples which I actually built for the test. Please note that tiny 2313 / tiny4313 have no bootloader function. We need to program them via ISP programmer.  Remember that the fuse bits should set properly to function as V-USB device.

2.1 USB-MIDI Serial MIDI converter ‘moco’

The following firmware works to bridge between USB-MIDI and serial MIDI. As I described in the previous section, no sufficient capacity exits on Tiny2313 and only one direction can be implemented in it.  You need to choose USB-MIDI -> serial MIDI or vice  versa. With Tiny4313, both direction will work simultaneously .

name of program function Required CPY
Mico Serial MIDI -> USB-MIDI Tiny2313
Moco USB-MIDI -> Serial MIDI Tiny2313
MicoMoco USB-MIDI <-> Serial MIDI Tiny4313

シリアルMIDIコンバータ もこ

Source code of these firmware is here.

2.2 Mini Keyboard

This is very simple keyboard with tactile switch. When one of the switch is shorted to ground, the corresponding note is sent to USB-MIDI.

moco2を使ったミニキーボード

As the limitation of PIN,  the switches are assigned just one octave.

note NO PIN
C4 PB1
C#4 PB2
D4 PB3
D#4 PB4
E4 PB5
F4 PB6
F#4 PB7
G4 PD0
G#4 PD1
A4 PD4
A#4 PD5
B4 PD6

Source code of this firmware is here.

2.3 Note LED Display

This application is to display the note in LED. When the MIDI note is sent to this device, the corresponding pin is set to HIGH.

A number of LEDs can be connected to these pins via appropriate registers .

MIDI制御のLED表示器

Source code of this firmware is here.

3. Example

moco2 is designed to embedded as a part of MIDI device in mind.

I used to connect MeeBlip micro, which is OSS based digital synthe, with iPad.

Meeblipをmoco2で制御する

Points of Modifications:

  • moco2 is used as USB-MIDI converter. Only USB->Serial MIDI function is requires, and a Tiny2313 is sufficient for the purpose. No Opto-couppler is required.
  • As MeeBlip has 5V voltage regulator on the board. moco can supply 5V from USB-BUS, which can directly connect Meeblip board. I removed  voltage regulator.
  • Signal for serial midi from moco2 can directly connected MeeBlip MIDI-IN without Opt-couppler on Meeblip PCB. However, I want to avoid unnecessary modification, and I just connect through Opt-Couppler.
  • MeeBlip micro can be software controllable, which means it can be used without any switch and knobs. The parameters of Meeblip can change with CC from MIDI.

Usage:

  • I use TouchOSC to control the parameters of MeeBlip from iPad. With TouchOSC Editor on MacOSX , the design of User Interface, such as the size of button, the colors of those, and so on,  can customized.
  • For use with MeeBlip, a set of custom UI is supplied by an user. However, MIDI channel is set to 3 instead of 1.

MeeBlipをTouchOSCから利用中

カテゴリー: AVR, Syhthe タグ:
  1. コメントはまだありません。
コメントは受け付けていません。