我开始为我的想法创建概念验证,此时,我需要一些关于我应该如何开始的指导。
我需要对麦克风输入进行采样,并实时处理该信号(想想自动调谐,但要实时工作),而不是“录制”一段时间。
我正在做的是“一种”“麦克风输入到 MIDI 转换器”,因此它需要快速响应。
我在网上调查了一下,显然要走的路是 DirectSound 或 WaveIn* API 函数。现在,根据我阅读的内容,WaveIn API 将让我填充一定大小的缓冲区,这对于录制和后期处理来说是很好的,但我想知道......我如何进行实时处理?
我是否使用 10ms 缓冲区并自己保持循环 50ms 或 100ms 数组,并且我得到一个每 10ms 触发一次分析的函数?(可以访问最新的100ms的输入,其中只有10ms是新的)
我在这里错过了什么吗?
另外,DirectSound 是如何做到的?与常规 Win32 API 相比,它是否为我提供了任何改进的功能?