#音频处理 #WebRTC #FFI #模块 #回声 # #自动增益控制

webrtc-audio-processing

WebRTC的AudioProcessing模块的包装器

9个版本

0.4.0 2022年5月16日
0.3.3 2020年8月25日
0.3.1 2020年4月22日
0.2.0 2020年1月30日
0.1.1 2019年12月9日

#208 in 音频

自定义许可

2MB
41K SLoC

C 28K SLoC // 0.2% comments C++ 11K SLoC // 0.2% comments Rust 860 SLoC // 0.0% comments Automake 501 SLoC // 0.0% comments GNU Style Assembly 383 SLoC Shell 4 SLoC

webrtc-audio-processing

Crates.io Docs.rs Build Status dependency status

围绕PulseAudio对WebRTC的AudioProcessing模块的重新包装进行包装。

webrtc-audio-processing可以从一个说话者将声音反馈到麦克风的情况中去除音频输入流的回声,以及降噪、自动增益控制、语音活动检测等!

示例用法

查看examples/simple.rs以了解如何使用此crate的示例。

构建

功能标志

  • bundled - 使用包含的C++代码构建webrtc-audio-procesing
  • derive_serde - 为Serde使用推导出serializedeserialize特性

动态链接

默认情况下,构建将尝试与通过您的操作系统包管理器安装的库动态链接。

您可以通过设置环境变量WEBRTC_AUDIO_PROCESSING_INCLUDE来自定义包含路径。

软件包

sudo apt install webrtc-audio-processing-dev # Ubuntu/Debian
sudo pacman -S webrtc-audio-processing # Arch

从源代码构建

webrtc源代码作为git子模块包含在内。请确保使用--recursive标志克隆此仓库,或者使用以下命令拉取子模块:git submodule update --init

使用源代码构建和静态链接可以通过bundled功能标志启用。您需要以下工具来从源代码构建

  • clanggcc
  • autotools(MacOS:使用brew install automakebrew install autoconf
  • libtoolize(通常在MacOS上为glibtoolize:使用brew install libtool
  • pkg-config(MacOS: brew install pkg-config

贡献

版本递增

我们使用语义版本控制。当递增版本时,请将其放在一个单独的提交中,并使用 Github 标签进行标记。

依赖项

~0.3–2.8MB
~57K SLoC