Skip to content

YMM4でSF2を介したMIDI音声ファイルを再生することができます。加えて、MIDI作成・編集に役立つ機能も搭載しています。

License

Notifications You must be signed in to change notification settings

routersys/YMM4-MIDI

Repository files navigation

統合 MIDI読み込みプラグイン for YMM4

License .NET Release

YMM4(YukkuriMovieMaker v4)で、MIDIファイル(.mid, .midi)を音声アイテムとして読み込めるようにするファイルソースプラグインです。

高品質なSFZ/SF2音源と、多機能な内蔵シンセサイザーによる音声生成に対応しています。

image


概要

このプラグインを導入すると、MIDIファイルをタイムラインにドラッグ&ドロップするだけで、自動的に音声に変換(シンセサイズ)され、音声アイテムとして利用できるようになります。

レンダリングエンジンは、高品質なサンプルベース音源「SFZ」「SoundFont (.sf2)」と、波形選択・フィルター・ADSRエンベロープなどを備えた「内蔵シンセサイザー」から選択可能です。また、コンプレッサーやリバーブなどのエフェクトも搭載しており、柔軟な音作りができます。

主な機能

  • MIDIファイルのサポート:

    • .midおよび.midi形式のファイルを音声アイテムとしてタイムラインに追加できます。
  • 高品質なシンセサイザーエンジン:

    • SFZ音源:
      • プロフェッショナルな用途でも使われるサンプルベース音源フォーマット「SFZ」に対応。リアルで表現力豊かな演奏が可能です。
      • 外部ライブラリsfizzをレンダリングエンジンとして採用し、安定した再生を実現します。
    • SoundFont (.sf2) 音源:
      • 従来の.sf2形式のSoundFontファイルにも引き続き対応しています。
      • プラグインフォルダ内のSoundFontファイルを自動で読み込み、高品質な音源でMIDIをレンダリングします。
    • 内蔵シンセサイザー:
      • サイン波、矩形波、ノコギリ波などの基本的な波形から音を生成します。
      • アタック、ディケイ、サステイン、リリース(ADSR)エンベロープや、各種フィルターを搭載し、積極的な音作りが可能です。
      • SFZ/SF2音源が見つからない場合のフォールバックとしても機能します。
  • グラフィカルな設定画面:

    • プラグインの全設定を、YMM4のメニューから開ける専用UIで直感的に操作できます。
    • オーディオ、パフォーマンス、音源設定、エフェクトなど、タブごとに設定が整理されています。
  • 高度なオーディオエフェクト:

    • マスター出力に対し、以下のエフェクトを適用できます。
      • コンプレッサー: 音量の粒を揃え、全体の音圧を調整します。
      • リバーブ: 残響音を付加し、豊かな響きを作ります。
      • イコライザー: 低域・中域・高域のバランスを調整します。
  • 動的な音色変化への対応:

    • MIDIのコントロールチェンジ(CC)イベントを利用して、演奏中にリアルタイムで音色を変化させることができます。
  • 高度なオーディオエフェクト:

    • ディレイ、コンボリューションリバーブ(空間エフェクト)を実装しています。
  • ノート記法による音声合成:

    • MIDIファイルとは別に、独自のノート記法(EMEL, ACS)を使って音声アイテムを作成できます。
    • EMEL記法専用のテキストエディタツールも搭載しています。
  • MIDI エディター:

    • プラグインとして自己完結されたMIDIエディタを提供します。ノートの設定・CC/テンポ・メトロノーム・リアルタイム演奏・音量・クオンタイズ・サウンドピークを実装しています。
    • また、音声ファイルとして書き出し機能も実装されています。
  • 外部連携API

    • 名前付きパイプを通じて、外部アプリケーションからプラグインの機能を制御するためのAPIを提供します。

導入方法

  1. リリースページ から最新版の .ymme ファイルをダウンロードします。
  2. ダウンロードしたファイルを実行(ダブルクリック)してインストールを開始します。
  3. YMM4にプラグインが登録され、インストール完了です。

使い方

  1. タイムラインに音声ファイルとして.midまたは.midiファイルをドラッグ&ドロップします。
  2. または、「音声アイテム」からMIDIファイルを読み込みます。

Note

ファイル選択ダイアログでMIDIファイルが表示されない場合は、右下のファイル形式フィルターを「すべてのファイル (.)」に変更してください。

Important

YMM4の設定にある「ファイル」>「ファイルの種類」に音声ファイルとして MIDIMID を追加してください。

  1. YMM4にある「設定」→「MIDI 設定」から、音源の種類やエフェクトなどの詳細設定が可能です。

免責事項

このプラグインを使用したことによって生じた、いかなる損害についても作者は責任を負いません。自己責任でご利用ください。

クレジット

  • GeneralUser GS: S. Christian Collins
  • sfizz: BSD 2-Clause License
    • The SFZ rendering engine.
  • ComputeSharp MIT License
  • マテリアル シンボル
    • Apache License バージョン 2.0
  • MessagePack - MIT
  • NAudio.Lame - MIT

リリースノート

[2025/11/26] v8.2.0

  • [追加] MIDIエディタ - ショートカットキーのカスタマイズ:
    • ユーザーが好みに合わせてキーボードショートカットを変更・割り当てできる機能を追加しました。
  • [追加] MIDIエディタ - 視認性強化:
    • 黒鍵盤・白鍵盤の行の色の反転を行い、ノートの配置位置を直感的に識別できるようデザインを調整しました。
    • 1小節ごとに実線のグリッドラインを追加し、リズムの把握や編集作業を容易にしました。
  • [追加] MIDI - レンダリングモードの追加:
    • 新しいレンダリングモードを追加し、出力やプレビューの用途に応じた柔軟な選択が可能になりました。
  • [追加] MIDI - 分散処理機能の追加:
    • ネットワークを介した分散処理機能を追加しました。複数のリソースを活用することで、負荷の高い処理の効率化を図っています。
  • [修正] MIDI - 新規作成時のタイミングずれの解決:
    • MIDIファイル新規作成時に開始時間がずれる問題を解決しました。
  • [修正] MIDI - ymidi読み込み時の例外発生の解決:
    • ymidiファイル読み込み時、新規作成ファイルで例外が発生する問題を解決しました。
  • [改善] プリセットの挙動変更:
    • プリセットの保存および適用時の挙動を変更し、より直感的で管理しやすい動作に改善しました。

[2025/11/24] v8.1.2

  • [修正] MIDI ピアノロール(図形)の鍵盤表示領域の修正:
    • 鍵盤と背景の描画処理において、描画処理のループ範囲を、パラメーターで設定された minNote から maxNote の値に厳密に一致するように修正しました。

[2025/11/23] v8.1.1

  • [修正] タイムルーラーの挙動修正:
    • 水平ズーム・垂直ズームで入力待ち状態でスライダーを動かした際に解除されない問題を修正しました。
    • 水平ズームの場合、縮小時に時間表示が消えてしまう問題を修正しました。

[2025/11/23] v8.1.0

  • [修正] プラグイン名の統一:
    • 音声エフェクトの名前を英語に統一しました。
  • [修正] MIDIエディタの描画エンジンの修正:
    • ビットマップ形式へ移行しました。
  • [追加] エディタモードの実装:
    • MIDIエディタのタイムライン操作の挙動変更を可能にしました。
  • [追加] 新しいオーディオエフェクトの追加:
    • マルチバンド・サチュレーター/エンハンサーを追加しました。

[2025/11/11] v8.0.0

  • [追加] 音声合成の追加:
    • EMEL/ACS/SUSLによる言語ベースの音声生成(メロディから音声まで)が行えるようになります。
  • [追加] MIDI エディターの追加:
    • MIDI を編集するためのエディターを追加しました。
  • [追加] MIDI 音楽用語補完の追加:
    • 音楽用語を補完するAIテキスト生成を追加しました。
  • [追加] MIDI ピアノロールの追加:
    • 図形プラグインとして、ノーツを表示します。エフェクトによる演出機能も追加しました。
  • [追加] MIDI ファイル出力の追加:
    • 音声をMIDIに変換するファイル出力機能を追加しました。
  • [追加] DELAYの追加:
    • 音声エフェクトとして追加しました。

[2025/09/16] v2.5.0

  • [追加] サウンドフォントのレイヤー機能:
    • 複数のサウンドフォントを重ねて使用できるようになりました。UI上でレイヤーの追加、削除、順序変更が可能です。
  • [追加] ユーザーWavetableシンセシス:
    • ユーザーが独自のWavetable(.wavファイル)を使用してカスタム音色を作成できる機能を追加しました。
  • [追加] 新規エフェクト:
    • 高品質な「アルゴリズミックリバーブ」、ステレオディレイ「ピンポンディレイ」、音を歪ませる「ディストーション」、音質を劣化させる「ビットクラッシャー」を追加しました。
  • [改善] エンベロープ機能の強化:
    • 従来のADSRに加え、より柔軟な音量変化を定義できるカスタムエンベロープジェネレーターを導入しました。
  • [改善] LFO(低周波オシレーター)の拡張:
    • ピッチ、音量、フィルターカットオフに対してLFOによる変調をかけられるようになり、より表現力豊かな音作りが可能になりました。
  • [改善] UIのレスポンシブ対応:
    • 設定画面のウィンドウサイズに応じて、タブの表示がハンバーガーメニューに切り替わるレスポンシブデザインを導入しました。
  • [修正] SoundFontの複数適用ロジック:
    • 複数のSoundFontルールが適用された際の処理を改善し、レイヤーとして全ての有効なSoundFontが読み込まれるように修正しました。

[2025/09/16] v2.4.3

  • [修正] コードの削除:
    • ファイルの完全な読み込みが完了するまで処理をブロックするコードを間違って追加していたため、削除しました。

[2025/09/16] v2.4.2

  • [修正] クリックノイズ(プツプツ音)の発生を抑制:
    • 音声合成処理全体にアンチポップ機能を実装し、特に音の鳴り始めと終わりに発生していた不快なクリックノイズを大幅に低減しました。
  • [修正] GPU利用時の安定性を向上:
    • 非同期処理におけるGPUリソースの管理方法を改善し、特定の環境でMIDI読み込み後に発生していた ObjectDisposedException エラーを修正しました。
  • [修正] 特定条件下で発生していたノイズを修正:
    • GPUエフェクトのDCオフセット除去フィルターの不具合及び、一部のシンセ音源(Karplus-Strong)の初期化処理を修正し、意図しないノイズが発生する問題を解決しました。

[2025/09/16] v2.4.1

  • [改善] GPUデバイス管理の効率化:
    • GPUデバイスの初期化処理を改善し、リソース管理の効率と安定性を向上させました。

[2025/09/16] v2.4.0

  • [追加] リアルタイムレンダリングモード:
    • CPUおよびGPUを活用したリアルタイム音声レンダリングモードを導入し、プレビュー時の応答性を大幅に向上させました。
    • 高品質モード(従来通り)とリアルタイムモード(低遅延)を設定画面から選択可能です。
  • [追加] シーク機能の高速化:
    • リアルタイムモードにおいて、再生位置の変更(シーク)時の音声再生成を高速化しました。
  • [改善] SFZ音源のリアルタイム処理対応:
    • SFZ音源の再生エンジンを刷新し、リアルタイムでのイベント処理とシークに対応しました。
  • [改善] MIDIイベント処理の安定性向上:
    • MIDIチャンネル(1-16)のインデックス計算を修正し、特定のチャンネルで発生していた範囲外エラーを解決しました。
  • [改善] GPU設定の連動:
    • GPUアクセラレーションが無効の場合、GPUレンダリングモードを選択できないようにUIを改善しました。
  • [修正] MidiProcessorのバグ修正:
    • MidiProcessor.cs内のチャンネルインデックスの取り扱いに関するバグを修正し、安定性を向上させました。

[2025/09/16] v2.3.0

  • [追加] アップデート通知機能:
    • 起動時に新しいバージョンが利用可能かを確認し、設定画面に通知する機能を追加しました。
  • [追加] SFZおよびSoundFontのGUI管理機能:
    • 設定画面から直接SFZファイルとプログラム番号のマッピング、およびSoundFontの適用ルールを編集できるようになりました。
    • ファイルリストのダブルクリックで、各ファイルのマッピングやルールを直感的に編集できます。
  • [追加] ファイルリストの更新機能:
    • SFZおよびSoundFontディレクトリを再スキャンし、ファイルリストを更新するボタンを追加しました。
  • [改善] UI/UXの向上:
    • 設定画面のレイアウトを改善し、各ファイルの割り当て状況(マップ済み、未割り当て、ファイル欠落)が色で視覚的にわかるようになりました。
    • ボタンにアイコンを追加し、より直感的な操作が可能になりました。
  • [改善] 設定ファイルの堅牢性向上:
    • 設定ファイルの読み込みに失敗した場合、自動的にファイルをバックアップしてデフォルト設定で起動する機能を追加し、予期せぬエラーへの耐性を強化しました。
  • [改善] レンダリングの安定性向上:
    • SFZ音源のレンダリングに失敗した場合、SoundFontまたは内蔵シンセサイザーへ自動的にフォールバックする機能を追加しました。

[2025/09/15] v2.2.0

  • [追加] GPUアクセラレーションによるパフォーマンス向上(試験的機能):
    • GPUシンセシス: 対応するグラフィックボードを利用して波形合成処理を高速化し、CPU負荷を大幅に軽減します。
    • GPUエフェクト処理: イコライザー、コンプレッサー、リバーブなどのエフェクト処理をGPU上で行うことで、リアルタイム性能を向上させました。
  • [改善] メモリ使用量の効率化:
    • オーディオ処理におけるバッファ管理を最適化し、ArrayPoolSpan<T>を全面的に採用することで、メモリ使用量とGC(ガベージコレクション)の発生頻度を削減しました。
  • [改善] UIとUXの向上:
    • 設定画面にGPUアクセラレーション関連の項目を追加し、各機能の詳細なツールチップを拡充することで、ユーザーが設定内容を直感的に理解できるよう改善しました。
  • [改善] 安定性の向上:
    • GPU処理でエラーが発生した際に、自動的にCPU処理へフォールバックする機能を追加し、処理の安定性を高めました。

[2025/09/15] v2.1.0

  • [追加] 内蔵シンセサイザーの機能拡張:
    • エイリアシングノイズを低減するアンチエイリアシング処理を導入し、特に高音域における音質の向上を実現しました。
    • FM音源ウェーブテーブル音源カープルス・ストロング弦合成といった多彩な合成方式を追加し、より複雑で表現力豊かな音作りが可能になりました。
    • 音の立ち上がりや減衰を滑らかにするエンベロープ・スムージング機能を追加し、クリックノイズの発生を抑制します。
  • [追加] オーディオ出力の品質向上:
    • オーディオの末尾にグローバル・フェードアウトを適用する機能を追加し、再生終了時のノイズを防止します。
    • ノートオン・オフ時のノイズを低減するアンチポップ機能を追加しました。
  • [追加] 高度なオーディオエフェクト機能の追加:
    • フェイザーフランジャーリミッターなどの新しいエフェクトを追加しました。
    • IRデータを用いた高品質なコンボリューションリバーブに対応しました。
    • 音声信号に含まれる直流オフセットを除去するDCオフセット除去機能を実装し、再生品質を安定させました。

[2025/09/15] v2.0.0

  • [追加] SFZ音源への対応:
    • 高品質なサンプルベース音源フォーマット「SFZ」の再生に完全対応しました。
    • 外部ライブラリ「sfizz」を利用し、安定したレンダリングを実現します。
  • [追加] 専用設定UIの実装:
    • これまで手動でのJSON編集が必要だった設定を、グラフィカルなUIから変更できるようになりました。
  • [追加] 高度なオーディオエフェクト機能:
    • マスター出力に対し、コンプレッサー、グローバルリバーブ、イコライザーを適用できるようになりました。
    • 各インストゥルメントに対し、コーラスエフェクトを適用できるようになりました。
  • [追加] 動的な音色変化への対応:
    • 演奏中に音色をリアルタイムに変更するため、コントロールチェンジ(CC) 71, 72, 73, 74, 75番の処理に対応しました。
  • [追加] パフォーマンス設定:
    • バッファサイズ、並列処理、最大同時発音数などをユーザーが任意に設定できるようになりました。
  • [追加] デバッグログ出力機能:
    • プラグインの動作状況やエラーをテキストファイルに出力する機能を追加しました。
  • [修正] 内部アーキテクチャの刷新:
    • 単一ファイルに実装されていた全機能を、責務ごとにファイルを分割(リファクタリング)し、保守性と拡張性を大幅に向上させました。
  • [修正] 設定管理システムの強化:
    • 設定の読み込み・保存処理を強化し、旧バージョンの設定ファイルを自動で新しい形式に変換する後方互換処理を実装しました。
  • [修正] MIDIイベント処理の安定性向上:
    • MIDIイベントを構造化データとして扱う専用クラスを導入し、処理の信頼性を向上させました。
  • [修正] 内蔵シンセサイザーの機能改善:
    • ローパス、ハイパス、バンドパスの3種類のフィルターを追加し、より多彩な音作りが可能になりました。
  • [修正] オーディオレンダリングの効率化:
    • SFZ音源と内蔵シンセサイザーの切り替えや音声生成のプロセスを統括するクラスを新設し、処理フローを最適化しました。

[2025/08/30] v1.0.0

  • 初回リリース。

About

YMM4でSF2を介したMIDI音声ファイルを再生することができます。加えて、MIDI作成・編集に役立つ機能も搭載しています。

Topics

Resources

License

Stars

Watchers

Forks

Languages