公開日: 2025年11月26日 | 総ダウンロード数: 204
v8.2.0では、MIDIエディタの視認性とカスタマイズ性が大幅に強化されました。特にショートカットキーの変更が可能になったほか、分散処理機能の導入により、レンダリングエンジンの拡張性が向上しています。
<img width="640" height="200" alt="midi majar 2025-11-26 22-09-45" src="https://github.com/user-attachments/assets/03eb11fc-72fb-4833-9190-18e1ef3bd1da" />
<img width="430" height="434" alt="image" src="https://github.com/user-attachments/assets/3c3ae581-1f63-4de7-9283-47249dd016a2" />
<img width="627" height="219" alt="image" src="https://github.com/user-attachments/assets/b2c59866-774d-4d92-a97c-925b6f3665f6" />
<img width="600" height="320" alt="image" src="https://github.com/user-attachments/assets/86f4e05c-afbf-4254-9a51-6966525034bb" />
ymidi 形式のデータを読み込む際に、例外が発生しクラッシュする不具合を修正しました。ノート記法プラグイン(Worldlineエンジン)は、一部のUTAU音源のみしか対応していません。
公開日: 2025年11月24日 | 総ダウンロード数: 15
<img width="640" height="200" alt="midi majar 2025-11-24 09-06-47" src="https://github.com/user-attachments/assets/1d35f94d-ae82-45a2-8ce5-a3de3c97216b" />
<img width="1898" height="694" alt="無題 2025-11-24 09-12-07" src="https://github.com/user-attachments/assets/8eb0c26e-36a8-4650-a7ba-c1219cfcee06" />
KeyRenderer) および背景グリッド線 (PianoRollRenderer) の描画ループ範囲を、設定された MinNote から MaxNote の値に厳密に制限しました。これにより、設定範囲内の鍵盤とグリッド線のみが正確に表示されるようになりました。ノート記法プラグイン(Worldlineエンジン)は、一部のUTAU音源のみしか対応していません。
公開日: 2025年11月23日 | 総ダウンロード数: 9
<img width="640" height="200" alt="midi majar 2025-11-23 16-06-18" src="https://github.com/user-attachments/assets/17928cc4-7b27-4f1c-bf1c-2012b7df9027" />
<img width="1096" height="426" alt="image" src="https://github.com/user-attachments/assets/f876f2ca-a226-414c-957b-9d822ec28a5d" />
ノート記法プラグイン(Worldlineエンジン)は、一部のUTAU音源のみしか対応していません。
公開日: 2025年11月23日 | 総ダウンロード数: 3
MIDIエディタの描画エンジンが刷新され、操作性が大幅に向上しました。また、新しいオーディオエフェクトが追加されています。
<img width="640" height="200" alt="midi majar 2025-11-23 14-24-04" src="https://github.com/user-attachments/assets/93b3b47e-0132-416e-be22-f06674377cd4" />
<img width="1543" height="1047" alt="image" src="https://github.com/user-attachments/assets/784e40cb-2dc1-4663-acb7-a22f6a86c946" />
<img width="661" height="113" alt="image" src="https://github.com/user-attachments/assets/d7833eb2-7836-4109-b152-15e27844c960" />
<img width="201" height="38" alt="image" src="https://github.com/user-attachments/assets/0da8fed9-3af2-4455-88be-892c1214c6e8" />
<img width="471" height="156" alt="image" src="https://github.com/user-attachments/assets/dc43e2d9-7deb-49a2-a6e1-3a2fead9424e" />
IniFile クラスを追加しました。公開日: 2025年11月11日 | 総ダウンロード数: 31
v2.5.0 から v8.0.0 までのメジャーアップデートです。 MIDI再生機能のコア強化に加え、全く新しい複数のプラグイン(MIDIエディタ、ノート記法による音声合成、ピアノロールShape)が統合されました。
高機能MIDIエディタ (ツールプラグイン):
ノート記法による音声合成 (Voice Plugin):
EMELノート記法専用エディタ (ツールプラグイン):
Note, Tempo, Vibrato などの組み込み関数や、ユーザーが定義した変数・マクロ名を自動で補完入力する機能(インテリセンス)を実装しました。ピアノロール表示 (Shape Plugin):
外部連携API (名前付きパイプ):
MIDI書き出し機能 (File Writer Plugin):
多言語対応 (Localization):
設定ウィザード機能:
音楽用語テキスト補完 (Text Completion Plugin):
GpuDeviceProvider)を最適化し、リソース確保と解放のロジックを改善しました。公開日: 2025年11月09日 | 総ダウンロード数: 0
{
"WhiteKeyColor": {
"HexColor": "#FFFFFF",
"Opacity": 1.0
},
"BlackKeyColor": {
"HexColor": "#000000",
"Opacity": 1.0
},
"WhiteKeyShadowColor": {
"HexColor": "#646464",
"Opacity": 0.5
},
"BlackKeyShadowColor": {
"HexColor": "#000000",
"Opacity": 0.5
},
"WhiteKeyHighlightColor": {
"HexColor": "#FFFFFF",
"Opacity": 0.25
},
"BlackKeyHighlightColor": {
"HexColor": "#C8C8C8",
"Opacity": 0.25
},
"NoteColor": {
"HexColor": "#1E90FF",
"Opacity": 1.0
},
"SelectedNoteColor": {
"HexColor": "#FFA500",
"Opacity": 1.0
},
"PlayingKeyColor": {
"HexColor": "#90EE90",
"Opacity": 1.0
},
"CursorColor": {
"HexColor": "#FF0000",
"Opacity": 1.0
},
"LineColor": {
"HexColor": "#D3D3D3",
"Opacity": 1.0
},
"KeySeparatorColor": {
"HexColor": "#696969",
"Opacity": 1.0
},
"NoteHitGlowColor": {
"HexColor": "#FFFFE0",
"Opacity": 0.78
},
"NoteSplashGlowColor": {
"HexColor": "#FFFFFF",
"Opacity": 0.7
},
"PressedKeyDarkEdgeColor": {
"HexColor": "#000000",
"Opacity": 0.3
},
"WhiteKeyGradientStop1": {
"HexColor": "#FAFAFA",
"Opacity": 1.0
},
"WhiteKeyGradientStop2": {
"HexColor": "#DCDCDC",
"Opacity": 1.0
},
"BlackKeyGradientStop1": {
"HexColor": "#3C3C3C",
"Opacity": 1.0
},
"BlackKeyGradientStop2": {
"HexColor": "#1E1E1E",
"Opacity": 1.0
},
"ChannelColors": {
"1": {
"HexColor": "#1E90FF",
"Opacity": 1.0
},
"2": {
"HexColor": "#00BFFF",
"Opacity": 1.0
},
"9": {
"HexColor": "#0000CD",
"Opacity": 1.0
}
},
"UseChannelColors": true
}
公開日: 2025年09月17日 | 総ダウンロード数: 146
MidiConfiguration.csにSoundFontLayerクラスを追加し、複数のサウンドフォントを重ねて使用する機能を実装しました。MidiSettingsViewModel.csにレイヤーの追加、削除、順序変更を行うためのコマンド (AddSoundFontLayerCommand, RemoveSoundFontLayerCommand, MoveSoundFontLayerUpCommand, MoveSoundFontLayerDownCommand) を追加しました。MidiSettingsView.xamlにレイヤーを管理するためのUI(DataGridとボタン)を追加しました。SynthesisEngine.csに、ユーザーが指定した.wavファイルをWavetableとして読み込み、音源として使用するGenerateUserWavetableメソッドを追加しました。MidiConfiguration.csのCustomInstrumentクラスにUserWavetableFileプロパティを追加し、カスタム音色ごとにWavetableファイルを指定できるようにしました。EffectsProcessor.csに、計算ベースの高品質なリバーブSchroederReverb(アルゴリズミックリバーブ)、左右交互に反響するApplyPingPongDelay、音を歪ませるApplyDistortion、音を意図的に劣化させるApplyBitCrusherを実装しました。MidiConfiguration.csに対応する設定項目(AlgorithmicReverbSettings, DistortionSettings, BitCrusherSettings, EnablePingPongDelayなど)を追加しました。MidiEvents.csにEnvelopeGeneratorクラスを導入し、複数のポイントで構成されるカスタムエンベロープに対応しました。これにより、ADSRよりも複雑で自由な音量変化が可能になりました。AudioRenderer.csのRenderNoteWithEffectsメソッドを修正し、カスタムエンベロープと従来のADSRを使い分けるロジックを実装しました。MidiEvents.csのInstrumentSettingsにPitchLfoとAmplitudeLfoを追加し、ピッチと音量にもLFOを適用できるようにしました。FilterProcessor.csを改善し、フィルターカットオフに対するLFO変調を実装しました。MidiSettingsView.xamlにVisualStateManagerを追加し、ウィンドウ幅が750ピクセル未満の場合にタブが非表示になり、ハンバーガーメニューが表示されるようにしました。MidiSettingsView.xaml.csにウィンドウサイズの変更を検知するMidiSettingsView_SizeChangedイベントハンドラを追加しました。MidiAudioSource.csのFindSoundFontメソッドをFindActiveSoundFontsに変更し、単一のファイルパスではなく、適用可能な全てのサウンドフォントのリストを返すように修正しました。これにより、ルールに一致したSoundFontやレイヤー設定されたSoundFontが全て読み込まれるようになりました。AudioRenderer.csにApplyNoteCrossfadeメソッドを追加し、ノートの終了時に短いクロスフェードを適用することで、発音の切れ目でのノイズ(クリックノイズ)を低減する機能を追加しました。今後のアップデートで、機能改善や安定性の向上に取り組んでいきます。
公開日: 2025年09月16日 | 総ダウンロード数: 7
loadingTask.Wait(); の削除今後のアップデートで、機能改善や安定性の向上に取り組んでいきます。 フィードバックや不具合報告は、https://ymm4.routersys.com/report.php?repo=YMM4-MIDI までお寄せください。
公開日: 2025年09月16日 | 総ダウンロード数: 3
クリックノイズ(プツプツ音)の発生を抑制:
AudioRenderer.csおよびMidiEvents.csを修正し、すべての音声合成モード(CPU/GPU、高品質/リアルタイム)においてアンチポップ機能を実装しました。GPU利用時の安定性を向上:
ObjectDisposedException エラーを修正しました。MidiAudioSource.csにおいて、GPUデバイスのインスタンスをクラスのフィールドとして保持し、関連する全ての非同期タスクが完了するまで解放されないようにライフサイクルを管理することで、解放済みリソースへのアクセスを防止します。特定条件下で発生していたノイズを修正:
GpuShaders.cs: GPUでエフェクトを処理するシェーダーコード内のDCオフセット除去フィルターが不安定な動作を引き起こしていたため、より安定した処理に修正しました。SynthesisEngine.cs: Karplus-Strong音源(弦楽器などをシミュレート)において、ノートが再生されるたびにノイズが適切に初期化されない不具合を修正しました。今後のアップデートで、機能改善や安定性の向上に取り組んでいきます。 フィードバックや不具合報告は、https://ymm4.routersys.com/report.php?repo=YMM4-MIDI までお寄せください。
公開日: 2025年09月16日 | 総ダウンロード数: 2
MidiAudioSource.csにおいて、realtimeGpuDeviceフィールドを削除し、gpuDeviceに統一することで、GPUデバイスの管理を簡素化しました。今後のアップデートで、機能改善や安定性の向上に取り組んでいきます。 フィードバックや不具合報告は、https://ymm4.routersys.com/report.php?repo=YMM4-MIDI までお寄せください。
公開日: 2025年09月16日 | 総ダウンロード数: 4
MidiConfiguration.csにRenderingMode enumを追加し、CPU/GPUでの高品質レンダリングとリアルタイムレンダリングを選択できる機能を実装しました。MidiSettingsView.xamlにレンダリングモードを選択するためのComboBoxを追加し、ユーザーがUIから設定を変更できるようにしました。MidiAudioSource.csにリアルタイムレンダリングの処理フローを実装し、再生中の音声生成を可能にしました。SfzProcessor.csにSeekメソッドを追加し、SFZ音源の再生位置を瞬時に変更する機能を実装しました。SfizzPInvoke.csにsfizz_all_sounds_offを追加し、シーク時に再生中の音をリセットする処理を実装しました。SfzProcessor.csを大幅にリファクタリングし、SfzRealtimeStateクラスを導入してリアルタイム処理に対応しました。これにより、再生中のイベント処理やシークが可能になりました。MidiSettingsViewModel.csにOnGpuSettingsChangedイベントハンドラを追加し、GPUが無効な場合にGPUレンダリングモードが選択不可になるようロジックを実装しました。AudioRenderer.csおよびMidiProcessor.csにおいて、MIDIチャンネル(1-16)を配列インデックス(0-15)に変換する際の計算を修正し、範囲外アクセスによるエラーを修正しました。今後のアップデートで、機能改善や安定性の向上に取り組んでいきます。 フィードバックや不具合報告は、https://ymm4.routersys.com/report.php?repo=YMM4-MIDI までお寄せください。
公開日: 2025年09月16日 | 総ダウンロード数: 2
UpdateChecker.csを新規に追加し、GitHubリポジトリの最新リリース情報を取得して、新しいバージョンが利用可能かどうかをユーザーに通知する機能を実装しました。MidiSettingsViewModel.csから非同期で更新情報を確認し、結果を設定画面のUIにバインドして表示します。MidiSettingsView.xaml) を大幅に刷新し、SFZとSoundFontのファイル単位での管理を可能にしました。SfzProgramMapEditor.xaml, SoundFontRuleEditor.xaml) が開き、SFZのマッピングやSoundFontの適用ルールをGUI上で直感的に設定できます。SfzFileViewModelおよびSoundFontFileViewModelを導入し、ファイルの状態と設定(マッピングやルール)を関連付けてUIに表示する仕組みを構築しました。MidiSettingsViewModel.csにRefreshFilesCommandを追加し、設定画面上のボタンから任意のタイミングでSFZおよびSoundFontディレクトリを再スキャンして、ファイルリストを最新の状態に更新できるようになりました。MidiConfiguration.csのLoadメソッドを改良し、JSONのデシリアライズに失敗した場合に、既存の設定ファイルを破損ファイルとしてバックアップし、新しいデフォルト設定で起動するフォールバック処理を追加しました。これにより、設定ファイルの破損によるプラグインの起動失敗を防ぎます。MidiAudioSource.csのRenderAudioメソッドにおいて、SFZ音源のレンダリング処理で例外が発生した場合や、空のオーディオバッファが返された場合に、処理を中断せずSoundFontまたは内蔵シンセサイザーを利用してレンダリングを継続するフォールバック機構を実装しました。MidiSettingsView.xamlにMicrosoft.Xaml.Behaviors.Wpfを導入し、MVVMパターンに準拠したイベント処理(ダブルクリックなど)を実装しました。MidiProcessor.csにTicksToTimeSpanメソッドを移管し、時間変換ロジックを一元管理するように修正しました。MidiAudioSourcePlugin.cs内で、SFZディレクトリが存在しない場合に自動生成する初期化処理を追加しました。今後のアップデートで、機能改善や安定性の向上に取り組んでいきます。 フィードバックや不具合報告は、https://ymm4.routersys.com/report.php?repo=YMM4-MIDI までお寄せください。
公開日: 2025年09月15日 | 総ダウンロード数: 18
内蔵シンセサイザーの大幅な機能拡張:
SynthesisEngine.csに複数の合成方式と品質向上機能を追加し、音作りの幅を広げました。EnableBandlimitedSynthesisオプションを追加。PolyBlepアルゴリズムを利用して、高周波成分の折り返しノイズ(エイリアシング)を抑制し、特に高音域においてクリアな音質を実現します。Fm波形を追加。FmModulatorFrequencyとFmModulationIndexを設定することで、金属的・電子的なサウンドを生成できます。Wavetable波形を追加。複数の波形をブレンドすることで、複雑な倍音を持つ音色を作成します。KarplusStrong波形を追加。物理モデリングに基づき、リアルな撥弦楽器のサウンドをシミュレートします。EnableEnvelopeSmoothingオプションを追加。ノートの再生前後で短いフェードイン・フェードアウトを適用し、急な音量変化によるクリックノイズを低減します。オーディオ出力の品質向上機能:
MidiAudioSource.csとMidiConfiguration.csに、再生品質を向上させるための機能を追加しました。EnableGlobalFadeOutオプションを追加。オーディオクリップの末尾に自動でフェードアウトを適用し、再生が突然途切れる際のノイズを防ぎます。EnableAntiPopオプションを追加。各ノートの発音時と消音時にごく短いフェード処理を施し、「プツッ」というポップノイズの発生を効果的に抑制します。GPUアクセラレーションによるパフォーマンス向上(試験的機能):
PerformanceSettingsにGpuSettingsを追加し、GPUを活用した音声処理機能を追加しました。EnableGpuSynthesisオプションを追加。AudioRenderer.csにRenderAudioGpuメソッドを実装し、ComputeSharpを利用して波形生成処理をGPU上で実行することで、CPU負荷を大幅に軽減します。EnableGpuEqualizer、EnableGpuEffectsChain、EnableGpuConvolutionReverbオプションを追加し、EffectsProcessor.csにGPU版のイコライザー、エフェクトチェーン、畳み込みリバーブ処理を実装しました。MidiAudioSource.csのProcessWithSynthesisメソッドを改良し、内蔵シンセサイザーでの音声生成後、アンチポップやエンベロープ・スムージングといったサンプル単位の精密な後処理を行うようにフローを最適化しました。MidiProcessor.csからExtractNoteEventsを呼び出す際にsampleRateを渡すように変更し、時間ベースのイベント情報をサンプル単位へ変換する際の精度を向上させました。MidiSettingsView.xamlにGPUアクセラレーション設定や各種エフェクトの有効/無効を切り替えるチェックボックスを追加し、各設定項目に詳細なツールチップを付与することで、ユーザーが各機能の内容を理解しやすくなるよう改善しました。SfzProcessor.csやMidiAudioSource.csにおいて、オーディオバッファの確保にArrayPool<float>を利用するよう変更し、GCの負荷を軽減しました。MidiAudioSource.csに、GPU処理が失敗した場合に自動的にCPU処理へフォールバックし、ユーザーに通知する機能を追加しました。今後のアップデートで、機能改善や安定性の向上に取り組んでいきます。 フィードバックや不具合報告は、https://ymm4.routersys.com/report.php?repo=YMM4-MIDI までお寄せください。
公開日: 2025年09月15日 | 総ダウンロード数: 12
内蔵シンセサイザーの大幅な機能拡張:
SynthesisEngine.csに複数の合成方式と品質向上機能を追加し、音作りの幅を広げました。EnableBandlimitedSynthesisオプションを追加。PolyBlepアルゴリズムを利用して、高周波成分の折り返しノイズ(エイリアシング)を抑制し、特に高音域においてクリアな音質を実現します。Fm波形を追加。FmModulatorFrequencyとFmModulationIndexを設定することで、金属的・電子的なサウンドを生成できます。Wavetable波形を追加。複数の波形をブレンドすることで、複雑な倍音を持つ音色を作成します。KarplusStrong波形を追加。物理モデリングに基づき、リアルな撥弦楽器のサウンドをシミュレートします。EnableEnvelopeSmoothingオプションを追加。ノートの再生前後で短いフェードイン・フェードアウトを適用し、急な音量変化によるクリックノイズを低減します。オーディオ出力の品質向上機能:
MidiAudioSource.csとMidiConfiguration.csに、再生品質を向上させるための機能を追加しました。EnableGlobalFadeOutオプションを追加。オーディオクリップの末尾に自動でフェードアウトを適用し、再生が突然途切れる際のノイズを防ぎます。EnableAntiPopオプションを追加。各ノートの発音時と消音時にごく短いフェード処理を施し、「プツッ」というポップノイズの発生を効果的に抑制します。高度なオーディオエフェクトの追加:
MidiConfiguration.csのEffectsSettingsを拡張し、より多彩な音響効果を適用できるようになりました。EnableConvolutionReverbを追加。インパルス応答ファイルを用いて、リアルな空間の響きを再現します。EnablePhaserを追加。周期的な位相変化を利用して、うねりのある特徴的なサウンドを作り出します。EnableFlangerを追加。短いディレイを用いて、ジェット機が通過するような強力なうねり効果を生み出します。EnableLimiterを追加。指定したスレッショルドを超えた音量を圧縮し、音割れを防ぎつつ全体の音圧を高めます。EnableDCOffsetRemovalをデフォルトで有効化。音声信号に含まれる不要な直流成分を除去し、再生環境での問題を未然に防ぎます。MidiAudioSource.csのProcessWithSynthesisメソッドを改良し、内蔵シンセサイザーでの音声生成後、アンチポップやエンベロープ・スムージングといったサンプル単位の精密な後処理を行うようにフローを最適化しました。MidiProcessor.csからExtractNoteEventsを呼び出す際にsampleRateを渡すように変更し、時間ベースのイベント情報をサンプル単位へ変換する際の精度を向上させました。MidiConfiguration.csにおいて、AudioSettingsおよびSynthesisSettingsクラスに多数のプロパティを追加し、ユーザーがより詳細なカスタマイズを行えるようにしました。今後のアップデートで、機能改善や安定性の向上に取り組んでいきます。 フィードバックや不具合報告は、https://ymm4.routersys.com/report.php?repo=YMM4-MIDI までお寄せください。
公開日: 2025年09月14日 | 総ダウンロード数: 11
SFZ音源への対応:
SfzProcessor.cs, SfizzPInvoke.cs, sfizz.dllの追加)専用設定UIの実装:
MidiSettingsView.xaml, MidiSettingsView.xaml.cs, MidiSettingsViewModel.csの追加)高度なオーディオエフェクト機能:
EffectsProcessor.csを新設し、マスター出力に対して以下のグローバルエフェクトを適用できるようになりました。動的な音色変化への対応 (コントロールチェンジ):
MidiProcessor.csにて、演奏中にリアルタイムで音色を変化させるためのコントロールチェンジ(CC)イベントの処理に対応しました。FilterResonanceMultiplier)ReleaseMultiplier)AttackMultiplier)FilterCutoffMultiplier)DecayMultiplier)詳細なパフォーマンス設定:
MidiConfiguration.cs内にPerformanceSettingsクラスを新設し、ユーザーの実行環境に応じたパフォーマンスチューニングが可能になりました。デバッグログ出力機能:
MidiConfiguration.cs内にDebugSettingsクラスを新設しました。midi_debug.log)に出力する機能を持ち、問題発生時の原因究明を補助します。内部アーキテクチャの全面的な刷新:
backup/MidiAudioSource.csの単一ファイルに実装されていた全機能を、責務ごとにファイルを分割(リファクタリング)しました。MidiConfiguration.cs: 設定の定義、読み込み、保存処理を分離。MidiProcessor.cs: MIDIファイルの解析、イベント抽出処理を分離。SynthesisEngine.cs: 内蔵シンセサイザーの波形生成、エンベロープ処理を分離。EffectsProcessor.cs: エフェクト処理を分離。FilterProcessor.cs: フィルター処理を分離。設定管理システムの強化:
MidiConfiguration.csにて、設定ファイルの読み込み・保存ロジックを大幅に強化しました。instrumentPresets)で作成された設定ファイルを検出し、自動的に新しい配列形式へ変換する後方互換性処理を実装しました。AudioSettingsやEffectsSettingsといった専用クラスを用いて階層的に管理するよう変更しました。MIDIイベント処理の構造化:
EnhancedNoteEvent, ControlEvent, UniversalMidiEventをMidiEvents.csに定義しました。内蔵シンセサイザーの機能改善:
FilterProcessor.csを新設し、従来のフィルター無しシンセサイザーから機能を拡張しました。InstrumentPresetクラスのパラメータを拡充し、フィルターの種類やカットオフ、レゾナンスを設定できるよう改善しました。オーディオレンダリングのフロー最適化:
AudioRenderer.csを新設し、SFZ音源を使用するか、内蔵シンセサイザーを使用するかの切り替えと、最終的なオーディオバッファの生成処理を統括するようにしました。これにより、音声生成のプロセスが明確化されました。今後のアップデートで、機能改善や安定性の向上に取り組んでいきます。 フィードバックや不具合報告は、https://ymm4.routersys.com/report.php?repo=YMM4-MIDI までお寄せください。
公開日: 2025年09月14日 | 総ダウンロード数: 15
公開日: 2025年09月14日 | 総ダウンロード数: 2