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的主要内容,如果未能解决你的问题,请参考以下文章

用 C# 中的新音频覆盖 mp4/wmv 视频的音频内容

使用 C# 检测 WAV 文件中的音频静音

C# 中的麦克风到扬声器音频流

WebRTC Windows Native音频中的Core Audio API

WebRTC Windows Native音频中的Core Audio API

使用 C# 中的 NAudio 将 M4A 音频文件转换为 MP3 的问题/错误