v3s上使用sox产生测试信号
交叉编译音频界的瑞士军刀SOX并播放音乐并产生各种测试音频信号
从此处下载sox官网 解压后新建一个autoconfig.sh脚本
这里使用了绝对路径,使用相对路径在最后链接时找不到文件,所以直接使用了绝对路径,里边的一些插件如果不需要可以去掉,我也一起打包传上来,另外这手动编译依赖可真烦那,只能缺哪个下载哪个再编译哪个最后才能给链接出来,跟buildroot里3S钟把sox勾选上完事编译完事相比,手动编译估计得3小时 ^*_*^,简直弱爆了
#!/bin/sh
./configure
CC=”arm-linux-gnueabihf-gcc”
LDFLAGS=”-L/home/xfdr/v3s_licheepi_zero/sox-14.4.2-sonavox/alsa/ -L/home/xfdr/v3s_licheepi_zero/sox-14.4.2-sonavox/flac-1.3.3/src/libFLAC/.libs -L/home/xfdr/v3s_licheepi_zero/sox-14.4.2-sonavox/lame-3.100/libmp3lame/.libs/ -L/home/xfdr/v3s_licheepi_zero/sox-14.4.2-sonavox/twolame-0.4.0/libtwolame/.libs/ -L/home/xfdr/v3s_licheepi_zero/sox-14.4.2-sonavox/libmad-0.15.1b/.libs/ -L/home/xfdr/v3s_licheepi_zero/sox-14.4.2-sonavox/libid3tag-0.15.1b/.libs/ -L/home/xfdr/v3s_licheepi_zero/sox-14.4.2-sonavox/zlib-1.2.11”
CFLAGS=”-I/home/xfdr/v3s_licheepi_zero/buildroot-2021.02/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/include/ -I/home/xfdr/v3s_licheepi_zero/sox-14.4.2-sonavox/lame-3.100/include/ -I/home/xfdr/v3s_licheepi_zero/sox-14.4.2-sonavox/flac-1.3.3/src/libFLAC/ -I/home/xfdr/v3s_licheepi_zero/sox-14.4.2-sonavox/twolame-0.4.0/libtwolame/ -I/home/xfdr/v3s_licheepi_zero/sox-14.4.2-sonavox/libmad-0.15.1b/ -I/home/xfdr/v3s_licheepi_zero/sox-14.4.2-sonavox/libid3tag-0.15.1b/“
–prefix /opt/sox.14.4.2
–host=arm-linux-gnueabihf
–target=arm-linux
–with-alsa
–with-flac
–with-mp3
–with-id3tag
–with-lame
–with-wavpack
#–with-twolame \编译完成后执行make install 即可,安装目录就是上边指定的,拷贝到开发板或者NFS目录下
先来播放音乐试一下
# ./sox.14.4.2/bin/play -t mp3 ./群星-雨花石.mp3
./sox.14.4.2/bin/play WARN alsa: can’t encode 0-bit Unknown or not applicable./群星-雨花石.mp3:
File Size: 13.7M Bit Rate: 321k
Encoding: MPEG audio Info: 163 key(Don’t modify):cEgtqHxwpdRKcBCRPBlPkg2DgcBlNoDaE7DLI/2UHqynoBve87Svw+quIkOr72Ov7q2menCG1hUs953Iws8wjHxQUjhQGB3sa2Sa9AVOc0ek4+GcHOxN9VcDh3GNItlfDRG7Pi/y+oz0U3xrKMvDiHZErPJlv6SHCl/k5qddt6BXsgTw3fn/9fNu/LLy/lawUWghlFz+aUkza7omDosFsjHYbZYrBjDqcCegSdhUOA43QD89da8FaXkqPqcMQVYqEBm7uirR2NrhGOOGt29H8sgWqCZ1icsjX7XcnX0035IQQ5Fj3dVW49U4iJMDLJtbM9DDheK/KwCziC1y9ISodum8kf9PC7+b+JLNr/mhg5DifEjdqngnEHAzqRUNufhtjc530m+aglaPBRphTfryHMYPKTWq311dQFnn9Ru1rnrpjBwyc9avaOrd10VsncqCPRHdRET/f7ygAMyztzSPzQ==
Channels: 2 @ 16-bit Track: 4
Samplerate: 44100Hz Album: 女人如歌 柔情魅声
Replaygain: off Artist: 群星
Duration: 00:05:40.79 Title: 雨花石In:1.23% 00:00:04.18 [00:05:36.61] Out:184k [ =|== ] Clip:0
Aborted.
# ./sox.14.4.2/bin/play -t flac ./wodeloulan.flac
./sox.14.4.2/bin/play WARN alsa: can’t encode 0-bit Unknown or not applicable./wodeloulan.flac:
File Size: 39.0M Bit Rate: 952k
Encoding: FLAC
Channels: 2 @ 16-bit
Samplerate: 44100Hz Album: 倔强
Replaygain: off Artist: 云朵
Duration: 00:05:27.59 Title: 我的楼兰In:0.48% 00:00:01.58 [00:05:26.01] Out:69.6k [ ===|==- ] Clip:0
Aborted.音乐播放没问题,也可以播放网络音频
# ./play -t flac http://192.168.6.123:8080/wodeloulan.flac
./play WARN alsa: can’t encode 0-bit Unknown or not applicablehttp://192.168.6.123:8080/wodeloulan.flac:
File Size: 0 Bit Rate: 0
Encoding: FLAC
Channels: 2 @ 16-bit
Samplerate: 44100Hz Album: 倔强
Replaygain: off Artist: 云朵
Duration: 00:05:27.59 Title: 我的楼兰In:0.57% 00:00:01.86 [00:05:25.73] Out:81.9k [ ==|==- ] Clip:0
Aborted.下边开始使用sox产生一些测试信号试试
产生1Khz 44.1KHz 0dB 的sin pink white
play -V -r 48000 -b 16 -c 2 -n synth sin 1000 vol 0db
play -V -r 48000 -b 16 -c 2 -n synth pink 1000 vol 0db
play -V -r 48000 -b 16 -c 2 -n synth white 1000 vol 0db# ./play -V -r 48000 -b 16 -c 2 -n synth pink 1000 vol 0db
./play WARN alsa: can’t encode 0-bit Unknown or not applicable
./play: SoX v14.4.2Input File : ‘’ (null)
Channels : 2
Sample Rate : 48000
Precision : 16-bit
Endian Type : little
Reverse Nibbles: no
Reverse Bits : no./play INFO formats: can't set sample rate 48000; using 44100
Output File : ‘default’ (alsa)
Channels : 2
Sample Rate : 44100
Precision : 16-bit
Sample Encoding: 16-bit Signed Integer PCM
Endian Type : little
Reverse Nibbles: no
Reverse Bits : no./play INFO vol: has no effect in this configuration
./play INFO sox: effects chain: input 48000Hz 2 channels
./play INFO sox: effects chain: synth 48000Hz 2 channels
./play INFO sox: effects chain: rate 44100Hz 2 channels
./play INFO sox: effects chain: dither 44100Hz 2 channels
./play INFO sox: effects chain: output 44100Hz 2 channels
In:0.00% 00:00:04.78 [00:00:00.00] Out:203k [ | ] Hd:3.4 Clip:0
Aborted.从 20Hz 到 20kHz 的频率扫描,持续时间为 30 秒 音量0 重复10次
play -V -r 44100 -b -c 2 -n synth 30 sin 20+20000 vol 0db repeat 1020-10kHz 和 1kHz-20kHz 双频扫描
play -V -r 44100 -n synth 30 sin 20+10000 sin 1000+20000 remix 1,2 channels 2获取音频文件的各种信息
# ./sox.14.4.2/bin/soxi 群星-雨花石.mp3
Input File : ‘群星-雨花石.mp3’
Channels : 2
Sample Rate : 44100
Precision : 16-bit
Duration : 00:05:40.79 = 15028992 samples = 25559.5 CDDA sectors
File Size : 13.7M
Bit Rate : 321k
Sample Encoding: MPEG audio (layer I, II or III)
Comments :
Title=雨花石
Artist=群星
Album=女人如歌 柔情魅声
Tracknumber=4
Comment=163 key(Don’t modify):cEgtqHxwpdRKcBCRPBlPkg2DgcBlNoDaE7DLI/2UHqynoBve87Svw+quIkOr72Ov7q2menCG1hUs953Iws8wjHxQUjhQGB3sa2Sa9AVOc0ek4+GcHOxN9VcDh3GNItlfDRG7Pi/y+oz0U3xrKMvDiHZErPJlv6SHCl/k5qddt6BXsgTw3fn/9fNu/LLy/lawUWghlFz+aUkza7omDosFsjHYbZYrBjDqcCegSdhUOA43QD89da8FaXkqPqcMQVYqEBm7uirR2NrhGOOGt29H8sgWqCZ1icsjX7XcnX0035IQQ5Fj3dVW49U4iJMDLJtbM9DDheK/KwCziC1y9ISodum8kf9PC7+b+JLNr/mhg5DifEjdqngnEHAzqRUNufhtjc530m+aglaPBRphTfryHMYPKTWq311dQFnn9Ru1rnrpjBwyc9avaOrd10VsncqCPRHdRET/f7ygAMyztzSPzQ==
Discnumber=1
# ./sox.14.4.2/bin/soxi abc.flac
Input File : ‘abc.flac’
Channels : 2
Sample Rate : 44100
Precision : 16-bit
Duration : 00:04:14.76 = 11234921 samples = 19107 CDDA sectors
File Size : 28.9M
Bit Rate : 908k
Sample Encoding: 16-bit FLAC
Comments :
ALBUM ARTIST=彭佳慧
ARTIST=彭佳慧
TITLE=相见恨晚
获取总时间
# ./sox.14.4.2/bin/soxi -d abc.flac
00:04:14.76
# ./sox.14.4.2/bin/soxi -D abc.flac
254.760113从任意位置播放歌曲
# ./sox.14.4.2/bin/play abc.flac trim 53 =240
./sox.14.4.2/bin/play WARN alsa: can’t encode 0-bit Unknown or not applicable
abc.flac:
File Size: 28.9M Bit Rate: 908k
Encoding: FLAC
Channels: 2 @ 16-bit
Samplerate: 44100Hz
Replaygain: off Artist: 彭佳慧
Duration: 00:04:14.76 Title: 相见恨晚
In:25.0% 00:01:03.59 [00:03:11.17] Out:467k [-=====|=====-] Hd:0.2 Clip:0
Aborted.
# ./sox.14.4.2/bin/play abc.flac trim 100 =240
./sox.14.4.2/bin/play WARN alsa: can’t encode 0-bit Unknown or not applicable
abc.flac:
File Size: 28.9M Bit Rate: 908k
Encoding: FLAC
Channels: 2 @ 16-bit
Samplerate: 44100Hz
Replaygain: off Artist: 彭佳慧
Duration: 00:04:14.76 Title: 相见恨晚
In:40.2% 00:01:42.51 [00:02:32.25] Out:111k [======|======] Hd:0.2 Clip:0
Aborted.从这条命令里还可以一直获取到当前播放进度,到这里你应该已经想到了,这不就可以做一个音乐播放器了嘛,需要的条件都已经满足了