C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■97108 / 3階層)  XAudio2を用いて曲を再生する方法
□投稿者/ 魔界の仮面弁士 (3031回)-(2021/03/29(Mon) 01:37:21)
No97066 (プログラマー さん) に返信
> 提示いただいたURLを基にMCI を用いた音楽再生処理を記述しましたが、MIDファイルのオープン処理がかなり遅いです。
使用されているシーケンサはおそらく、ハードウェア MIDI 音源ではなく、
ソフトウェア音源の Microsoft GS Wavetable SW Synth ですよね。
https://ja.wikipedia.org/wiki/Microsoft_GS_Wavetable_SW_Synth

MIDI は演奏データであるため、再生する MIDI 音源への依存度も高いので、
あらかじめ WAVE 等の波形データに変換しておくというのも一つの方法です。


> 具体的には約80KBのファイル一つを開くだけでも2秒くらい掛かってしまいます。
少なくとも MCI を使う以上は、オープン時間の短縮は望めないかと思います。


> DirectXでMIDファイルを再生することは出来るのでしょうか?
低レベル API である midiOutXxx 関数群を使う方法と、
高レベル API である DirectMusic を使う方法があります。(あとは DirectShow かな)
http://eternalwindows.jp/winmm/midi/midi00.html
http://yamatyuu.net/computer/program/vc2013/midi/index.html
http://maruyama.breadfish.jp/tech/smf/
https://docs.microsoft.com/ja-jp/windows-hardware/drivers/audio/midi-and-directmusic-components
http://chokuto.ifdef.jp/urawaza/com/dmusic.html
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[2]: XAudio2を用いて曲を再生する方法 /プログラマー →Re[4]: XAudio2を用いて曲を再生する方法 /プログラマー
 
上記関連ツリー

XAudio2を用いて曲を再生する方法 / プログラマー (21/03/22(Mon) 15:32) #97064
Re[1]: XAudio2を用いて曲を再生する方法 / 魔界の仮面弁士 (21/03/22(Mon) 17:08) #97065
  └ Re[2]: XAudio2を用いて曲を再生する方法 / プログラマー (21/03/22(Mon) 22:09) #97066
    └ XAudio2を用いて曲を再生する方法 / 魔界の仮面弁士 (21/03/29(Mon) 01:37) #97108 ←Now
      └ Re[4]: XAudio2を用いて曲を再生する方法 / プログラマー (21/04/05(Mon) 18:24) #97141 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信