我需要对一批 wav 文件(名称中包含空格,例如 C 0 120-127.wav)应用 2 秒的淡出效果。
文件长度各不相同,但无论文件长度如何,我都需要从每个文件末尾淡出 2 秒。
我知道这可以用 sox 来完成,但我检查的教程包括其他操作(淡入或转换),或者是针对指定输入和输出的单个文件,这很令人困惑(我是 sox 新手)。
我需要文件名保持不变,尽管将输出通过管道传输到另一个文件夹也是可以接受的。
谢谢。
我需要对一批 wav 文件(名称中包含空格,例如 C 0 120-127.wav)应用 2 秒的淡出效果。
文件长度各不相同,但无论文件长度如何,我都需要从每个文件末尾淡出 2 秒。
我知道这可以用 sox 来完成,但我检查的教程包括其他操作(淡入或转换),或者是针对指定输入和输出的单个文件,这很令人困惑(我是 sox 新手)。
我需要文件名保持不变,尽管将输出通过管道传输到另一个文件夹也是可以接受的。
谢谢。
我正在尝试使用 sox 重新采样应该无缝播放的一系列曲目。如果我单独重新采样每个轨道,有时我会在轨道边界处出现点击,因为单独的重新采样没有完全对齐。解决方案在概念上似乎很简单:连接所有轨道,将它们重新采样为一个单元,然后再次拆分它们。但是,我不确定如何以自动化方式进行。连接步骤很简单(只需将所有文件传递给一个 sox 调用),但是如何以与原始曲目相同的持续时间再次拆分结果?
当我使用SoXplay
提供的命令时,有时播放信息包含一个标有Hd的数字,联机帮助页似乎没有提及。这是什么意思?
$ play song.mp3
In:72.5% 00:04:43.38 [00:01:47.73] Out:12.5M [ -===|==== ] Hd:4.3 Clip:0
我在这个设置中使用 sox: sudo timeout 20 rtl_fm -f 115.5M -s 60k -g 45 -p 55 -E wav -E deemp -F 9 - | sox -t wav - test.wav rate 11025
,它工作了很长一段时间,但自上周以来它停止工作并打印此错误消息:
sox FAIL formats: can't open input `-': WAVE: RIFF header not found
该错误消息并没有真正有用,因为我已经指定了标题-t wav
...我需要更改哪些内容才能使其正常工作?
我使用以下脚本来监控我的麦克风:
while true; do
printf "$(AUDIODEV=hw:2,0 rec -n stat trim 0 1 2>&1 |
awk 'BEGIN { ORS="" } /^Maximum amplitude/ { print "Max. amplitude: "$3}
/^Rough\s+frequency/ { print " Frequency: "$3}
/^Maximum\s+delta/ { print " Max. delta: "$3}')\r";
done
它记录一个 1 秒长的段,从标准输出中提取值Maximum amplitude
并打印出来。Rough frequency
sox
如果片段的数量或频率大于特定阈值,我可以将片段保存到文件吗?我知道我可以保存每个段然后分析它,但是写操作会太多,我想避免。
我最初的问题和间接解决方案在这里:https ://stackoverflow.com/questions/48161567/silence-out-regions-of-audio-based-on-a-list-of-time-stamps-using-sox-and -pyth
我有一段音频A
和一堆 [start ,end] 段S
。我想传递S
并传递A
给 SOX 和 python,以便我可以直接将S
.
我目前的解决方案更多地依赖于 python。我想使用 sox pad/trim 命令的组合来实现这一点。
我提到:http ://sox.sourceforge.net/sox.html和https://digitalcardboard.com/blog/2009/08/25/the-sox-of-silence/