我正在寻找为 Windows 音频构建一些压缩接口,我想知道是否有人可能知道一些提示/技巧?我想构建我自己的软件均衡器,它将与整个 Windows 音频系统一起工作,而不仅仅是一个特定的程序。我知道这是可以做到的——我的声卡内置了一个,但没有足够的频道满足我的口味。
我对音频编程完全陌生,但我真的很想闯入它并弄脏我的手。如果您能想到任何教程/参考/文章/建议,我很想听听!
我正在使用 Visual Studio C++ 2008。
我正在寻找为 Windows 音频构建一些压缩接口,我想知道是否有人可能知道一些提示/技巧?我想构建我自己的软件均衡器,它将与整个 Windows 音频系统一起工作,而不仅仅是一个特定的程序。我知道这是可以做到的——我的声卡内置了一个,但没有足够的频道满足我的口味。
我对音频编程完全陌生,但我真的很想闯入它并弄脏我的手。如果您能想到任何教程/参考/文章/建议,我很想听听!
我正在使用 Visual Studio C++ 2008。
如果你想接触 DSP 的东西,我建议你从 VST 编程开始。编写插件是一种很好的方式来处理实时音频操作,而不必担心连接到系统硬件、驱动程序等。基本上,定序器会为您处理所有这些,并且您的插件只接收一个带有浮点数据的缓冲区,您可以直接对其进行操作。
总的来说,这比尝试编写一个插件来操作通过系统音频流的数据要容易得多。此外,Windows 音频 API 自 Vista 以来发生了显着变化,并且根据您使用的 Windows 版本,您必须遵循不同的约定才能使您的东西正常工作。
以下是一些对我非常有用的链接:
Tammo Hinrichs "kb" 的演示组 Farbrausch关于音频编程的文章。还有一段 Tammo 在这里举办的研讨会的视频。
Jari Kleimola 硕士论文“软件声音合成器的设计与实现”。超过 100 页有关音频编程的内容。
C++ 中的综合工具包。大学开发的高级音频工具包。该工具包的主要作者是 Perry Cook,他还写了一本书:“Real Sound Synthesis for Interactive Applications”。
对 VST 编程的一个温和介绍是 SynthEdit... www.synthedit.com,它提供了一个拖放编程环境,可以编写您自己的 C++ 插件。您可以通过拖放来完成“无聊”位(GUI 设计),以及 C++ 中的“有趣”算法位。
您可能需要看一下DirectSound,但请记住,它很快就会被 XAudio2 取代 - 可能在 Windows 7 中。我认为 DirectSound 将继续支持一段时间,因为它已经存在了很长时间.