0

我正在尝试使用 C++ 制作一个在按下某个 MIDI 键时播放 .wav 音频样本的软件。我想到这样做的最好方法是使用if语句(如果有更简单的方法,我将不胜感激,但我是编程新手,所以请保持简单)。

上网查了一下,发现不同的 MIDI 键对应不同的 NOTE ON 信息(例如 NOTE ON 60 对应中间 C),所以基本上我只是在寻找如何说“当 NOTE ON 60 是收到,播放 X .wav 文件”。我还发现 NOTE ON 的状态是9n,这是否意味着计算机会收到9x60(使用 60 = Middle C 示例)?

在此之后,我只需要找出如何播放音频样本,我相信这将是以下内容,使用sndfile.h

SNDFILE *sndFile = sf_open("Sample1.wav").

任何帮助将不胜感激。

4

2 回答 2

0

您可以使用 PortAudio ,它拥有您可以使用 midi 和波形文件的所有功能

于 2015-06-07T19:07:01.543 回答
0

您可以使用 portAudio 实现一个流功能,并使用 portMidi 检查当按下例如音符 c4 时,播放该文件查看那里的文档

于 2016-07-02T17:36:12.367 回答