C ++中的MIDI Note消息

时间:2015-06-07 15:39:52

标签: c++ audio midi libsndfile

我正在尝试使用C ++创建一个软件,当按下某个MIDI键时,它会播放.wav音频样本。我想到这样做的最好方法是使用if语句(如果有更简单的方法我会非常感激,但我非常喜欢编程,所以请保持简单)。

在网上看了之后,我发现不同的MIDI键对应不同的NOTE ON消息(例如,NOTE ON 60对应于中间的C),所以基本上我只是想找“怎么说”当注意收到ON 60,播放X .wav文件“。我还发现NOTE ON的状态为9n,这是否意味着计算机将收到9x60(使用60 =中间C示例)?

在此之后,我只需要使用sndfile.h找出如何播放音频样本,我相信如下:

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

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

你可以用 PortAudio 它拥有您可以使用midi和wave文件的所有内容

答案 1 :(得分:0)

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