EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Heaven_1 于 2024-6-6 15:01 编辑
8 w" q' E8 q6 }* i7 p' ~/ p' l
( ?" |0 b& W: s# e$ T降噪不仅只能从硬件入手,本文为您介绍一种 嵌入式Linux中的录音降噪方案。该方案完全依靠软件实现,最大程度上降低投入。 1. 工具下载SoX(Sound eXchange)是一个开源的音频处理工具,它可以用来读取、转换和处理各种音频文件。SoX的源代码主要由C语言编写,它包含了大量的音频处理算法和功能模块,如音频格式解析、音频效果处理、音频格式转换等。 Sox源码: https://sourceforge.net/projects/sox/files/sox/14.4.2/ libgomp.so.1库安装: wget % M& S# _1 A5 x7 g! @/ y8 d
http: // ftp.debian.org/debian/poo ... _10.2.1-6_ARMhf.deb+ E2 n' U/ l# n9 C, {8 ` ]
dpkg -x libgomp1_10.2.1-6_armhf.deb libgomp2. SOX降噪使用 1. 将libgomp.so.1和libgomp.so.1.0.0拷贝到板卡/usr/lib/目录下。 2. 将sox拷贝到/usr/bin/目录下。 3. 开始录音,执行如下指令。 amixer cset numid=361900 b' X; j5 k2 q# P2 |& q$ k
amixer cset numid=140# B+ t* t# A- {0 X( q: F8 ]
arecord -f cd -d 10/tmp/t.wav
; R( u! l, R$ k9 E; v! Saplay /tmp/t.wav4. 进入录音文件目录,生成降噪配置文件并对录音文件进行降噪处理。 cd /tmp/0 E( X( ^4 m# q) }) Z3 b' V
sox t.wav -n noiseprof noise.prof
0 m* B* ~! t/ o$ ^1 hsox t.wav 1.wav noisered noise.prof 0.21其中t.wav:原录音文件,1.wav为降噪后文件 0.21(更改0.21以调整采样率的灵敏度级别(我发现0.2-0.3通常提供最佳结果))。 通过以上操作,对比播放录音原文件(t.wav)和降噪后的文件(1.wav),发现噪音几乎没有。 & S/ t4 E: f# q( E4 J: V1 M5 i5 Q
7 T' Y2 z4 S# k1 E; i9 x, ~8 @& p5 ~. _2 b: G
# [ M2 w6 r7 s @+ D; e/ e: }9 C8 k8 O( O8 C# k
; K/ H# a# U2 n# ?$ _0 }
/ H4 [% P3 C" a/ g5 t' [& h' ]2 U, L' L( _( y3 |; k+ Z0 e
|