linux文件系统添加pcm,linux下用sox批量将pcm文件加wav头、批量修改采样率、切音频...
linux下用sox可以給pcm文件加頭
例如:test.pcm是不帶wav頭的pcm文件
$?sox -t raw -c 1 -e signed-integer -b 16 -r 16000 test.pcm test.wav
要查看音頻文件的格式可以用soxi
$ soxi test.wav
Input File ? ? : 'test.wav'
Channels ? ? ? : 1
Sample Rate ? ?: 16000
Precision ? ? ?: 16-bit
Duration ? ? ? : 00:00:02.22 = 35520 samples ~ 166.5 CDDA sectors
File Size ? ? ?: 71.1k
Bit Rate ? ? ? : 256k
Sample Encoding: 16-bit Signed Integer PCM
sox也可用于修改文件差樣率,如test.wav文件的采樣率修改為8000HZ
$ sox ? test.wav ? -r ? 8000 ?test-8K.wav
對于批量修改可以如下操作:
法1:awk
將當前文件夾下的pcm文件批量加文件頭
rename '.raw' '' *
find -name "*" >file.list
cat file.list | awk '{ cmd = "sox -t raw -c 1 -e signed-integer -b 16 -r 16000 "$0" "$0".wav";print cmd;system(cmd);}'
mkdir ../voice_wav
mv *.wav ../voice_wav/
法二:bash
將當前文件夾下的wav文件批量修改為16000HZ
shell?view plaincopy
#!/bin/bash
for?x?in?./*.wav;do
b=${x##*/}
sox?$b?-r?16000?tmp-$b
rm?-rf?$b
mv?tmp-$b?$b
done
切音頻順便轉成wav
eg :pcm音頻長2.22s,頭尾都有一小部分不想要,只想要0.26s至2.17秒部分
~$ sox -t raw -c 1 -e signed-integer -b 16 -r 16000 test.pcm test.wav trim 0.26 1.91
其中1.91=2.17-0.26
總結
以上是生活随笔為你收集整理的linux文件系统添加pcm,linux下用sox批量将pcm文件加wav头、批量修改采样率、切音频...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: arm linux 添加ntp服务,嵌入
- 下一篇: 嵌入式linux开发考试题目,练一练!3