Skip to content

混音播放器,音频录、播音托管程序。支持wav、mp3、aac格式播放,rtp搭载pcma、aac发收测试,webrtc vad录音辅助(无说话时消音)、ns/nsx录、播音噪音抑制、aec/aecm回声消除、agc录音自动增益 等

Notifications You must be signed in to change notification settings

kevinchen1223/wmix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

----- 简单介绍 -----

  • 基于alsa库开发的音频混音器、音频托管程序, 由主程序+客户端程序组成, 支持客户端自行开发;

  • 在此基础上移植了大量第三方音频处理库, 使其支持 mp3、aac、降噪等功能;

----- 编译和使用说明 -----

  1. 编译第三方依赖库
  • make libs
  1. 编译, 生成主程序 wmix 和客户端程序 wmixMsg, --help可以查看使用说明
  • make
  1. 主程序抛后台 (先拷贝 ./libs/lib/lib* 到 /usr/lib/ ), -d 表示打印debug信息
  • wmix -d &
  1. 录音10秒到wav文件 (设备要具备录音条件)
  • wmixMsg -r ./xxx.wav -rt 10
  1. 播放音频文件, -v 10 表示用最大音量(0~10)
  • wmixMsg ./xxx.wav -v 10
  1. 关闭所有播放
  • wmixMsg -k 0

----- 常见参数配置 -----

  • 修改编译器, 编辑 Makefile 第一行 cross 内容, 注释掉表示使用 gcc

  • 修改声道、频率, 在 src/wmix.h


----- 选择目标库的启用 -----

  • 编辑 Makefile 选择启用 MAKE_XXX, 0 关闭, 1 启用

  • MAKE_MP3:

    • 支持mp3播放

    • 依赖库 libmad


  • MAKE_AAC:

    • 支持aac播放、录音

    • 依赖库 libfaac libfaad


  • MAKE_WEBRTC_VAD:

    • 人声识别, 用于录音没人说话时主动静音

    • 支持单、双声道, 8000Hz ~ 32000Hz

    • 依赖库 libwebrtcvad(裁剪自WebRtc库)


  • MAKE_WEBRTC_NS:

    • 噪音抑制, 录、播音均可使用

    • 支持单、双声道, 8000Hz ~ 32000Hz

    • 依赖库 libwebrtcns(裁剪自WebRtc库)


  • MAKE_WEBRTC_AEC:

    • 回声消除, 边播音边录音时, 把录到的播音数据消去

    • 支持单、双声道, 8000Hz ~ 16000Hz (设备的录音质量要求较高, CPU算力要求较高)

    • 依赖库 libwebrtcaec(裁剪自WebRtc库)


  • MAKE_WEBRTC_AGC:

    • 自动增益, 录音音量增益

    • 支持单、双声道, 8000Hz ~ 32000Hz

    • 依赖库 libwebrtcagc(裁剪自WebRtc库)


----- 树莓派 -----

  • 在 Makefile 改用 cross:=arm-linux-gnueabihf 再编译, MAKE_WEBRTC_AEC 库用 gcc 编译不过;

  • ps. 树莓派用 gcc 和 arm-linux-gnueabihf-gcc 编译的应用是通用的

About

混音播放器,音频录、播音托管程序。支持wav、mp3、aac格式播放,rtp搭载pcma、aac发收测试,webrtc vad录音辅助(无说话时消音)、ns/nsx录、播音噪音抑制、aec/aecm回声消除、agc录音自动增益 等

Resources

Stars

Watchers

Forks

Packages

No packages published