C# 客户端中的声学回声消除
Acoustic echo cancellation in C# client
我有一个带有扬声器和麦克风的调度台(客户端)和无线电状态(服务器)。这些与 RTP 协议通信。他们发送和接收数据并立即播放。我的问题是扬声器必须很大声。因此,回声很烦人。我没有找到有用的 C# AEC 程序。所以,非常感谢您的建议!
据我所知,没有为 C# 准备好的包,但您可以在 C# 中为您能找到的任何 AEC 包构建一个包装器。我认为 AEC 包有两个主要选项: 1. 开源包——比如 webRTC 的 AEC 组件 (https://webrtc.org/) 2. Commercial package like SoliCall (http://solicall.com).
您可能要考虑的第三个选项是在网络上执行回声消除。假设您正在使用 SIP/RTP - 看看 PBXMate 产品。
webRTC 的依赖关系庞大而复杂。这是不必要的,如果你只想使用 AEC 包。因此,我搜索了另一个解决方案,并找到了 Speex 开源项目。它是 C++ 代码,但您可以在 C# 项目中使用包装器项目 (CLI/C++)。
我有一个带有扬声器和麦克风的调度台(客户端)和无线电状态(服务器)。这些与 RTP 协议通信。他们发送和接收数据并立即播放。我的问题是扬声器必须很大声。因此,回声很烦人。我没有找到有用的 C# AEC 程序。所以,非常感谢您的建议!
据我所知,没有为 C# 准备好的包,但您可以在 C# 中为您能找到的任何 AEC 包构建一个包装器。我认为 AEC 包有两个主要选项: 1. 开源包——比如 webRTC 的 AEC 组件 (https://webrtc.org/) 2. Commercial package like SoliCall (http://solicall.com).
您可能要考虑的第三个选项是在网络上执行回声消除。假设您正在使用 SIP/RTP - 看看 PBXMate 产品。
webRTC 的依赖关系庞大而复杂。这是不必要的,如果你只想使用 AEC 包。因此,我搜索了另一个解决方案,并找到了 Speex 开源项目。它是 C++ 代码,但您可以在 C# 项目中使用包装器项目 (CLI/C++)。