M2DX — MIDI 2.0 対応 DX7 互換 FM シンセサイザーを TestFlight で公開しました
iOS 向けの MIDI 2.0 対応 DX7 互換 FM シンセサイザー M2DX を TestFlight でパブリックベータ公開しました。
6 オペレータ × 32 アルゴリズムの DX7 系 FM 合成方式を、Pure Swift 6 で実装しています。シンセシスエンジンには別途公開している M2DX-Core ライブラリを使用しています。
過去に書いた DX7 エンジン本体と Property Exchange の解説記事はこちら:
TestFlight ベータ参加方法
iOS / iPadOS 18 以上でお試しいただけます:
- App Store から Apple の TestFlight アプリをインストール(初回のみ)
- iPhone / iPad で testflight.apple.com/join/BAtGszPw を開く
- 「承認」→「インストール」をタップ
※ ベータ App レビュー承認直後の最初のインストールは、反映までに 1〜2 分(場合により 24 時間程度)かかることがあります。
現在のステータス — TestFlight 公開の理由
M2DX はまだ楽器として実用レベルには達していません。以下の制約・未検証項目を抱えたまま、フィードバックを集めて改善するために TestFlight でパブリックベータとして公開しています。
MIDI 2.0 の検証範囲は限定的
- MIDI 2.0 対応ハードウェアを十分に調達できておらず、UMP の動作確認は限られた機材の組み合わせでしか行えていません
- macOS のバージョンごとの MIDI 2.0 サポート差異(CoreMIDI の挙動違い等)は完全には把握できていません
- 各メーカーが MIDI 2.0 仕様の上に載せている独自拡張・独自プロファイルの解析は一部のみ(具体的には KORG の一部)対応しており、他社の独自実装は未着手です
プリセットの音作り
- 32 種類の初期プリセットを内蔵していますが、ビンテージ FM 音源と比較したときの音作り検証は途上です
- ユーザーが手元の
.syxバンクを読み込めるパスは今後の TestFlight ビルドで段階的に整備します
エフェクトチェーン
- 6 段の FX チェーン(EQ → Drive → Chorus → Reverb → Stereo → Maximizer)はひとまず動く形で実装した段階です。パラメータの可聴範囲・エンドポイント値の音楽的調整、CPU 効率、相互作用の最適化は今後行います
不具合・違和感を見つけた方へ
クラッシュは Firebase Crashlytics で自動収集されます(詳細はプライバシーポリシー)。再現条件のある不具合は特定が早まりますので、可能であれば hirose@hakaru.net までご報告いただけると助かります。
主な特徴
MIDI 2.0 UMP 完全対応
Universal MIDI Packet (UMP) をネイティブにサポート。16 ビットベロシティ(65,536 段階)、32 ビット CC、32 ビットピッチベンドによる滑らかで表現力豊かな演奏が可能です。MIDI 1.0 にも自動フォールバックします。
DX7 系 6 オペレータ FM エンジン
6 オペレータ × 32 アルゴリズムの DX7 系 FM 合成エンジンを Pure Swift で実装。Int32 Q24 固定小数点演算により、ビンテージ FM 音源らしいキャラクターを目指しています。32 種類の初期プリセットを内蔵しています。
16 ボイス ポリフォニー
16 ボイスの同時発音、サスティンペダル(CC64)、ピッチベンド(±2 半音)に対応。Padé 近似 tanh によるソフトクリッピングでデジタル歪みを防止します。
6 段エフェクトチェーン
EQ → Drive → Chorus → Reverb → Stereo → Maximizer の信号順で構成された高品質エフェクト。すべてのパラメータを MIDI Learn で任意の CC にマッピングできます。
MIDI-CI Property Exchange
155 以上のパラメータを階層構造で公開。対応する DAW やコントローラーがパラメータを自動発見でき、JSON ベースのプリセット管理(SysEx 不要)が可能な、自己記述型インストゥルメントです。
低レイテンシ
AVAudioSourceNode による直接レンダリングで、CoreAudio レンダーコールバック上で FM エンジンを駆動。バッファキューイングのオーバーヘッドを排除し、iOS の IOBufferDuration(約 5ms)が実質的なレイテンシとなります。
動作環境
- iOS / iPadOS 18 以上(TestFlight 配信中)
- macOS 版は将来対応予定
よくある質問
「インストール」がグレーアウトしている
ベータ App レビュー承認直後は、TestFlight への反映まで時間がかかる場合があります。約 24 時間後に再度お試しください。
クラッシュした場合は?
v1.3.1 (build 5) から Firebase Crashlytics による自動クラッシュレポートが有効になっています。クラッシュを再現していただくと、ログから原因を特定して迅速に修正できます。収集データの詳細はプライバシーポリシーをご覧ください。
DX7 の SysEx プリセットは読み込めますか?
32 種類のファクトリープリセットを内蔵しています。SysEx 互換性については今後の TestFlight ビルドでご案内します。
MIDI 2.0 対応の DAW が必要ですか?
いいえ。MIDI 1.0 にもフォールバック対応しているため、従来の MIDI コントローラーや DAW でもお使いいただけます。MIDI 2.0 対応環境ではより高解像度の表現が可能になります。
AUv3 プラグインとして使えますか?
現時点ではスタンドアロン iOS / iPadOS アプリです。AUv3 対応については検討中です。
リンク
- サポートページ: https://hakaru.net/M2DX-support/index-ja
- GitHub: https://github.com/hakaru/M2DX
- シンセシスエンジン: M2DX-Core(Pure Swift DX7 FM ライブラリ)
- プライバシーポリシー
お問い合わせ
ご質問・不具合報告・機能リクエストは hirose@hakaru.net までお気軽にどうぞ。
Discussion