ubuntu16.04系统中webrtc audio processing模块下载编译踩坑过程记录
WebRTC是google开源的一个免插件实时视频通信技术,其分为web开发和native开发;目前支持chrome,firefox,android,ios,opera,edge。是一个真正意义上的跨平台免插件实时视频通信技术。但是因为我国著名的长城,要下载整个webRTC非常困难。
本文主要是webRTC的native层语音处理的代码架构和对一个native层语音算法测试程序的梳理。native层的一些语音算法可以用于语音识别前处理。如果想只使用native层的语音处理算法(aec,aecm,agc,ns,vad等),那么可以选择安装下面的代码库,有几点要说明一下:
- 该代码库是基于Linux系统的,我的安装环境是ubuntu16.04
- 这个代码和最新的webRTC并不是同步的,晚个半年是很正常的
git clone git://anongit.freedesktop.org/pulseaudio/webrtc-audio-processing
目前下载版本为0.3,整个下载包只有6M字节。下载目录为webrtc-audio-processing
编译过程如下:
源码里面没有直接的makefile,但是它有Makefile.am和configure.in,这里就不详细解释他们直接的关联,直接给出如何操作生成makefile。
具体操作步骤如下:
1. 执行aclocal,产生aclocal.m4文件
aclocal
aclocal是个perl脚本程序,根据configure.in文件的内容,自动生成aclocal.m4文件。而aclocal.m4文件中,包含了生成configure文件所必须的宏。
2. 执行autoconf,生成configure文件
autoconf
autoconf会根据configure.in和aclocal.m4文件,生成configure文件。
3. 执行automake命令,产生Makefile.in
automake --add-missing
automake会根据Makefile.am文件产生一些文件,包含最重要的Makefile.in。前面所生成的configure,会根据Makefile.in文件,来生成最终的Makefile文件。
4. 执行configure命令,生成Makefile文件
这样,就产生了编译所需要的Makefile文件。运行make,即可编译。
./configure
make
NOTE:在linux下执行automake时候出错:
$ automake --add-missing
....
configure.in:18: required file `build/ltmain.sh' not found
-------------------------------------------------------------------------
解决方案(libtoolize配置即可):
$libtoolize --version
$libtoolize --automake --copy --debug --force
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)