一、音频录制
1. arecord 录制音频
# 录制一个双声道的16位16KHz持续5秒钟的wav格式音频文件
arecord --file-type=wav --channel=2 --format=S16_LE --rate=16000 --duration=5 /tmp/record.wav
# 精简用法
arecord --file-type=raw --channel=2 -f cd --duration=5 ~/record.wav
–file-type:文件类型(voc、wav、raw、au)
–channel:声道数(1、2 …)
–format:采样格式(S8 U8 S16_LE S16_BE …)
–rate:采样率(8000、16000 …)
–duration:录制时间(单位秒)
-f:快捷格式
-f cd(16位小endian, 44100,立体声)
-f cdr(16位大endian, 44100,立体声)
-f dat(16位小endian, 48000,立体声)
--format完整取值:S8 U8 S16_LE S16_BE U16_LE U16_BE S24_LE S24_BE U24_LE U24_BE S32_LE S32_BE U32_LE U32_BE FLOAT_LE FLOAT_BE FLOAT64_LE FLOAT64_BE IEC958_SUBFRAME_LE IEC958_SUBFRAME_BE MU_LAW A_LAW IMA_ADPCM MPEG GSM SPECIAL S24_3LE S24_3BE U24_3LE U24_3BE S20_3LE S20_3BE U20_3LE U20_3BE S18_3LE S18_3BE U18_3LE
说明:不知为什么,录制的声音特别小。
二、音频播放
1. ffplay 播放音频
# 播放一个单声道16位采样率为16KHz的pcm音频文件
ffplay -ar 16000 -channels 1 -f s16le -autoexit -showmode 1 -i xxx.pcm
-ar:采样率
-channels:声道数
-f:采样格式
-autoexit:播放完毕自动退出
-showmode:波形图或频谱图显示模式
-i:pcm音频文件
2. aplay 播放音频
# 播放 pcm 文件
aplay -t raw -c 2 -f S16_LE -r 8000 test.pcm
# 播放 wav 文件
aplay test.wav
三、音频格式转换
1. pcm 文件转为 wav 文件格式
ffmpeg -f s16le -ar 8000 -ac 2 -i test.pcm -ar 44100 -ac 2 test.wav
四、参考链接
arecord
音频采样率
播放媒体文件的工具ffplay