M5StackとMIDIモジュールの組み合わせで利用できる
ファミコン風音源の使い方の説明です。
こんな音が出ます
→ 動画が表示されない場合はYouTubeでご覧くださいMIDIモジュールについて詳しくはコチラ
MIDIモジュールご購入はコチラ
necobit電子BASEショップ
→ necobit電子BASEショップで買う(別ウインドウでBASEショップページへ移動します。移動先のカートに入れるボタンをクリックして決済手続きへお進みください)
スイッチサイエンスマーケットプレイス
→ necobit電子スイッチサイエンスマーケットプレイスで買う(別ウインドウでスイッチサイエンスマーケットプレイスページへ移動します。移動先のカートに入れるボタンをクリックして決済手続きへお進みください)
コードのダウンロード
Github(https://github.com/necobit/M5Stack-MIDI-Module)よりダウンロードしたデータの中から
8bitNESSynthをM5Stackに書き込んでください。
MIDIモジュールを装着して、MIDI機器と接続すれば準備完了です。
音源部仕様
ファミコンと同様に矩形波音源2ch、疑似三角波1ch、ノイズ1chの
各パート単音の 4パート仕様です。(ADPCMパートはありません)
矩形波はプログラムチェンジ1-4、ノイズは1と2で下記の表の通り音色が切り替えられます。
MIDIコントロールチェンジ対応表
現在CH3もディケイコントロールできるようになっていますが、現在の仕様上綺麗に鳴らないため今後のバージョンでは非対応にする予定です。
カスタマイズ
Tunes::outpin = 25;
の25を26に変更して、M5Stackのボトムモジュールに出ているGPIO25と26の間に50kohm程度の可変抵抗を挟むと音量調整ができます。ただし、音量を絞ると内部回路の仕様により音色が変化してしまいます。
これはM5Stackのアンプ回路に問題があり、標準状態では過大出力(音が割れてものすごく大きい)になってしまっていることに由来する問題です。
これに対応するため、出力をデータ上1/16に絞っていますが、M5StackのDACは8bitなので1/16に絞ると256/16=16段階しか音量表現ができなくなります。
そしてこの16段階というのはCH2の疑似三角波の波形を出力するのに必要最低限の値です。これ以上は下げられないので、別に音声出力をハード的に設けるなどしない限り完全に解決はできない問題です。
認知の問題
- 音の消え際が急
- 全体のパフォーマンス改善
今後の改善予定
- 上記の問題の解決
- ピッチスイープ機能の追加
- 画面とボタンの有効活用
Pingback: M5Stack用MIDI Module – necobit電子 Electronic Control Products