Windows 上 C++ 中的声音处理——朝着正确的方向轻推

Posted

技术标签:

【中文标题】Windows 上 C++ 中的声音处理——朝着正确的方向轻推【英文标题】:Sound processing in C++ on Windows - a nudge in the right direction 【发布时间】:2010-08-26 03:26:00 【问题描述】:

我想编写一个具有非常特定目的的简单声音编辑器:剪切和重新粘贴音频文件(将包含口语散文),使每个句子重复 N 次。 (这是外语学习用的。)

我不想使用现有的声音编辑器,因为我想专门为这个狭窄的任务定制 GUI,将动作和点击量减少到最低限度。

很遗憾,我没有任何处理声音的经验。我想知道有关 Windows 上的 C++ 库/API 的建议,这将使我能够:

读入音频文件(mp3 或 wav) 从“这里”到“这里”选择一个部分 听一听 将其附加到新文件中 将整个内容写成 mp3(或至少 wav)

也欢迎任何一般的想法(这对我来说是完全未知的领域,所以如果你有任何绊脚石和错误不想让别人重复,请分享)。

【问题讨论】:

Windows Core Audio API(Vista 及以上)msdn.microsoft.com/en-us/library/dd370784(VS.85).aspx @rwong:把它写成答案而不是评论不是更好吗? =) @gablin:如果我的回答很轻松(比如说,谷歌),那么就没有必要把它作为一个答案......我认为 【参考方案1】:

我以前对http://www.portaudio.com/ 非常满意,它是一个很好的独立于平台的声音硬件包装器(低延迟录制和播放)。 对于读/写 mp3,我使用了 LAME http://lame.sourceforge.net,几乎所有流行平台都支持它。

您可能还想查看 Audacity http://audacity.sourceforge.net/ 的源代码,它可以满足您的需求以及更多功能。

【讨论】:

我第二次使用大胆。该任务非常简单有效。无需重新发明***。

以上是关于Windows 上 C++ 中的声音处理——朝着正确的方向轻推的主要内容,如果未能解决你的问题,请参考以下文章

C++ 中的 Playsound() 播放 windows 错误声音,我已经包含了 winmm.lib

windows和linux的差异:c++中的反斜杠和正斜杠

【c++】怎样才能使程序播放文件中的声音?

windows编程怎么同时播放两个或者多个声音文件?

如何在 OSX 上的 C++ 应用程序中播放合成器声音?

在 iOS 上导出带有声音字体的 midi