如果你回答我就给你一块饼干!
我使用sox动态地将MP3文件转换为pifm的WAV。唯一的问题是,我正在对整个MP3s目录执行此操作,因为并不是所有这些目录都具有相同的样例速率,因此命令失败。
有没有一种方法可以对音频文件进行重采样,将其传送到正在进行转换的wav中,然后将其输送到pifm中呢?
我现在的命令是:
sox -t mp3 /home/pi/Desktop/music/*.mp3 -t wav - |
sudo ./pi_fm_rds -freq 94.5 -audio - -ps ZSFM -rt ZSFM但这给了我:
sox WARN mp3-util: MAD lost sync
sox WARN mp3-util: MAD lost sync
sox FAIL sox: Input files must have the same sample-rate因此,我想让sox在飞行中重新采样每个文件,然后将其输送到sox中,以便动态转换它。
另外,如果我尝试:
sox -r 44100-t mp3 /home/pi/Desktop/music/*.mp3 -t wav - |
sudo ./pi_fm_rds -freq 94.5 -audio - -ps ZSFM -rt ZSFM它仍然不能工作,因为该目录中的文件的采样率是不一样的。
发布于 2021-06-17 11:53:53
以下是您可以使用的一个解决方法(假设您的文件命名合理):
for tune in *.mp3; do
sox $tune -t wav - rate 44100
done |
sudo ./pi_fm_rds -freq 94.5 -audio - -ps ZSFM -rt ZSFM
...发布于 2021-06-18 06:50:37
谢谢迪尔克特和托尔
@dirkt回答:
sox -t mp3 /home/pi/Desktop/music/*.mp3 -t wav -r 44100 - | sudo ./pi_fm_rds -freq 94.5 -audio - -ps ZSFM -rt ZSFM@Thor回答说:
for tune in *.mp3; do
sox $tune -t wav - rate 44100
done |
sudo ./pi_fm_rds -freq 94.5 -audio - -ps ZSFM -rt ZSFM都起作用了!
https://unix.stackexchange.com/questions/654608
复制相似问题