ムライボックス (1)

「ムライボックス」とは、ゲームミュージック作家として知られる「村井聖夜」さんが 2012 年 5 月ごろに発案した「MIDI チャネルごとに分離し、別々のポートに出力するデバイスで、その際にチャネル番号を強制的に 1 ch に書き換えるもの」のことです。
機能を簡単に言い表しづらいので、「ムライボックス」という通称が付きました。
Google で「ムライボックス」を検索すると、「マックス むらい」さんの情報ばかり出てきますが、twitter で「ムライボックス」を検索すると必要な情報が出てきます。
下にその一部を引用します。


ムライボックス自体は 2012 年の話題なのですが、最近 twitter ユーザー名「sweacco」さんが UART 1 個と GPIO および外部に設けた OR ゲートで多出力を得る方法を考案されて ATtiny2313 を使って実現されています。
以下に sweacco さんの tweet を引用します。

これらの tweet をヒントに、従来通りに出力ポートの数だけ UART を用意する方法 (仮に「富豪版」と呼びます) と、sweacco さん風の 1 UART 版 (仮に「エコノミー版」と呼びます) を実現してみました。
「富豪版」は Cypress PSoC5LP 版 (11 ポート出力) のみですが、「エコノミー版」については内部に PLD 相当のモジュールを持ち、外部に追加の回路が必要ない

  • PSoC5LP Prototyping Kit (CY8CKIT-059) (16 ポート)
  • PSoc4200 Prototyping Kit (CY8CKIT-049-42xx) (16 ポート)
  • PIC16F18325 (4 ポート)
  • PIC16F18313 (2 ポート、外部回路追加で 2 ポート増加)

用のプログラムと、外部ロジック回路を併用する、

  • Arduino (7 ポート)
  • NucleoF401RE (7 ポート)

用のプログラムとを作りました。
Arduino / Nucleo 版では、ハードウェア的には SparkFun の MIDI シールドに機能的にコンパチな回路にムライボックスに必要な外部ロジック回路を組み合わせた「ムライシールド (仮称、未公認)」を作成して併用しています。