M5Stack+MIDIモジュールでファミコン風音源

Pocket

M5StackとMIDIモジュールの組み合わせで利用できる
ファミコン風音源の使い方の説明です。

こんな音が出ます

→ 動画が表示されない場合はYouTubeでご覧ください

MIDIモジュールについて詳しくはコチラ

→ M5Stack用MIDIモジュール

MIDIモジュールご購入はコチラ

necobit電子BASEショップ


BASEで購入する Buy Now necobit電子BASEショップで買う→ ¥3,680 送料無料♪ M5Stack用MIDIモジュール(ケース付き)

BASEで購入する Buy Now necobit電子BASEショップで買う→ ¥2,980 送料無料♪ M5Stack用MIDIモジュール(ケース無し)
(別ウインドウでBASEショップページへ移動します。移動先のカートに入れるボタンをクリックして決済手続きへお進みください)

スイッチサイエンスマーケットプレイス

スイッチサイエンスで購入する Buy now necobit電子スイッチサイエンスマーケットプレイスで買う→ ¥3,680+送料 M5Stack用MIDI Module(ケース付き)
(別ウインドウでスイッチサイエンスマーケットプレイスページへ移動します。移動先のカートに入れるボタンをクリックして決済手続きへお進みください)

コードのダウンロード

Github(https://github.com/necobit/M5Stack-MIDI-Module)よりダウンロードしたデータの中から
8bitNESSynthをM5Stackに書き込んでください。
MIDIモジュールを装着して、MIDI機器と接続すれば準備完了です。

音源部仕様

ファミコンと同様に矩形波音源2ch、疑似三角波1ch、ノイズ1chの
各パート単音の 4パート仕様です。(ADPCMパートはありません)
矩形波はプログラムチェンジ1-4、ノイズは1と2で下記の表の通り音色が切り替えられます。

音色の説明とチャンネル対応表

MIDIコントロールチェンジ対応表

CC=コントロールチェンジ

現在CH3もディケイコントロールできるようになっていますが、現在の仕様上綺麗に鳴らないため今後のバージョンでは非対応にする予定です。

カスタマイズ

Tunes::outpin = 25;
の25を26に変更して、M5Stackのボトムモジュールに出ているGPIO25と26の間に50kohm程度の可変抵抗を挟むと音量調整ができます。ただし、音量を絞ると内部回路の仕様により音色が変化してしまいます。
これはM5Stackのアンプ回路に問題があり、標準状態では過大出力(音が割れてものすごく大きい)になってしまっていることに由来する問題です。
これに対応するため、出力をデータ上1/16に絞っていますが、M5StackのDACは8bitなので1/16に絞ると256/16=16段階しか音量表現ができなくなります。
そしてこの16段階というのはCH2の疑似三角波の波形を出力するのに必要最低限の値です。これ以上は下げられないので、別に音声出力をハード的に設けるなどしない限り完全に解決はできない問題です。

認知の問題

  • 音の消え際が急
  • 全体のパフォーマンス改善

今後の改善予定

  • 上記の問題の解決
  • ピッチスイープ機能の追加
  • 画面とボタンの有効活用

One thought on “M5Stack+MIDIモジュールでファミコン風音源”

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です