C# 中的音频 API
Posted
技术标签:
【中文标题】C# 中的音频 API【英文标题】:Audio API in C# 【发布时间】:2010-10-08 16:37:48 【问题描述】:我需要将一个男人录制的音频文件转换成孩子的声音,并与背景音轨混合。
我已经在互联网上搜索,试图找到一个好的程序来执行此操作,但我没有找到它。是否有 C# API 可以帮助我自己实现它?
【问题讨论】:
【参考方案1】:NAudio 基于 .NET 并具有混合引擎 - 出于您的目的可能值得一看。
【讨论】:
【参考方案2】:我认为使用 API 并自己编写可能属于“太难做到”的类别。我建议使用免费的多轨音频编辑器,例如Audacity,它具有音高转换功能(可以满足您孩子的语音要求),并且您可以播放两个文件(可以满足背景语音要求)
如果您仍然想要/需要 API,则在搜索孩子的语音能力时要查找的关键字是“音高转换”
【讨论】:
Audacity 很好,如果您有几块钱可以投入使用,Adobe Audition 会更好。不知道为什么要通过 API 执行此操作?【参考方案3】:使用带有 WPF 的 MediaPlayer 类的 System.Windows.Media 命名空间中有一些新功能。
但是您正在做的事情需要信号处理并且最好在 C++ 中完成。我不知道 .NET 中有什么好的信号处理库,但 Emgu openCV 是 OpenCV 的封装,可以进行高级信号处理。
您正在尝试做的事情需要先进的信号处理,如果您没有这样的背景,就没有简单的方法来做到这一点。
【讨论】:
【参考方案4】:Breakfast Quay 的Rubber Band Library 是一个 C++ 库(在 GPL 下发布),它可以在不改变速度的情况下改变录音的音高。它还具有共振峰处理功能,可以帮助改变男人/女人/孩子之间的声音。
见http://rubberbandaudio.com/。
【讨论】:
以上是关于C# 中的音频 API的主要内容,如果未能解决你的问题,请参考以下文章
WebRTC Windows Native音频中的Core Audio API