我正在开始创建一个概念验证,这个想法需要对如何开始有一些指导。
我需要采样麦克风输入,并实时处理信号(类似于Auto-Tune,但是在实时工作),而不是“录制”一段时间。
我正在做的是“麦克风输入到MIDI转换器”,因此它需要相当快的响应速度。
我在网上调查了一下,显然直接使用 DirectSound 或 WaveIn* API 函数是正确的方法。现在,根据我的阅读,WaveIn API 可以让我填充一定大小的缓冲区,这对于录制和后期处理来说很好,但是我想知道...如何进行实时处理?
我使用10毫秒的缓冲区并自己保持50毫秒或100毫秒的循环数组,然后获取每10毫秒触发分析的函数?(只有最新的10毫秒是新的)
我是否遗漏了什么?
另外,DirectSound 如何处理?它是否比常规 Win32 API 提供更强大的功能?
我需要采样麦克风输入,并实时处理信号(类似于Auto-Tune,但是在实时工作),而不是“录制”一段时间。
我正在做的是“麦克风输入到MIDI转换器”,因此它需要相当快的响应速度。
我在网上调查了一下,显然直接使用 DirectSound 或 WaveIn* API 函数是正确的方法。现在,根据我的阅读,WaveIn API 可以让我填充一定大小的缓冲区,这对于录制和后期处理来说很好,但是我想知道...如何进行实时处理?
我使用10毫秒的缓冲区并自己保持50毫秒或100毫秒的循环数组,然后获取每10毫秒触发分析的函数?(只有最新的10毫秒是新的)
我是否遗漏了什么?
另外,DirectSound 如何处理?它是否比常规 Win32 API 提供更强大的功能?