自作ハードウェアMIDI音源「fmSynth16」
2020-08-28
@LunaTsukinashi
0.目次
 1.はじめに
 2.経緯
 3.既存の作品
 4.ソフトウェアの構成
 5.ハードウェアの構成
 6.実際の演奏
 7.利点
 8.欠点
 9.今後
 10.まとめ
1.はじめに
 これは何
 YMF825Board(以下FM音源ボードと表記します)を
用いたスタンドアロンなハードウェアMIDI音源
です。
 https://github.com/Xi80/fmSynth16
 https://github.com/Xi80/fmFire
 この辺を参照
2.経緯
 MIDIをかんぜんにりかいしたのでMIDI音源が作りたい!!!
 元々はYMF288やYM2608を使ったMIDI音源を作る予定だった
 発音数が足りなかったりバスをユニバーサル基板で引きずるのも嫌
→YMF825を使おう
3.既存の作品
 既に同じFM音源ボードを用いた作品がインターネット上で複数存在するがそれらは
 PCが必要(PCから音色データ、MIDIデータを送信し演奏する)
 MIDIケーブルで受信ができない(USB-MIDI)
 使えるCC、SysExが少ない
といった問題があった。これらの問題を解消したのがfmSynth16。
 PCが不要(GM相当の音色テーブルを内蔵)
 MIDIケーブルによる受信をおこなう
 GM1.0のCC、SysExの大半が使用可能(一部GS,XGのメッセージにも対応)
概要はこんな感じ。
4.ソフトウェアの構成
MIDIドライバ
• MIDIの受信
• メッセージの
解釈
• メッセージに
応じた関数の呼
び出し
MIDI-YMF825ブ
リッジ
• ボイスアサイン
• CCやPCの値を
YMF825に合わせ
て調整
YMF825ドライバ
• 実際のコマンド
の送信
5.ハードウェアの構成
 MCUにはSTM32F303K8T6(72MHz,64KB Flash,12KB RAM)を使用
 フレームワークはmbedを使用
 音源にはYMF825Boardを使用
 壊しまくったのでこれで5台目
 ミキサーとアンプのICにはNJM386を使用
 本当はスピーカー用のアンプICですがヘッドホンに合わせて設計
6.実際の演奏
 https://www.youtube.com/watch?v=YGSEPjgV8T8
7.利点
 MIDIがつながる機器なら繋ぐだけですぐに音が出せる
 GM/XG/GSのMIDIをそれなりにキレイに演奏できる
 拡張性を持たせている(eVY1 Boardの追加を想定した設計)
8.欠点
 よくバグる
 リングバッファ/MIDI周りでおそらくバグがあり10%くらいの確率で最初の
音がおかしくなる
 高い
 YMF825Boardだけで3300円するのでお財布に厳しい
 リズム音源がない
 ただでさえ少ない発音数をリズム音に割きたくないので外付け(eVY1 Board
から流すことを想定している)
9.今後
 eVY1 Boardを追加してリズム音源とeVocaloidを得て真の「ぼくがかんがえたさいきょうのMIDI音源」を
作る
 ドキュメントの整備
 GitHubには旧バージョンのドキュメントしかないので書いていく
 バグの修正
 コードがそれなりの規模なのでなかなか気づけないバグが多い
10.まとめ
MIDI音源の自作はたのしい!

More Related Content

PDF
YMF825を使用したMIDI音源
PDF
fmSynth16-発表資料
PPT
使わなくなったiPhone3GSにAndroidとか色々入れてみた(かった)
PDF
Sensor
PDF
Web Music Demo Party #1 LT
ODP
EeePC901AにDebian導入
PDF
IchigoJam のくみたてかた(ビスケットボード)
PDF
マルチブラウザやりました (DMM.Study Night)
YMF825を使用したMIDI音源
fmSynth16-発表資料
使わなくなったiPhone3GSにAndroidとか色々入れてみた(かった)
Sensor
Web Music Demo Party #1 LT
EeePC901AにDebian導入
IchigoJam のくみたてかた(ビスケットボード)
マルチブラウザやりました (DMM.Study Night)
Ad

fmSynth16