如何在 Mac 终端中使用 SoX 从文本文件中 trim 特定时间的音频文件?
how to trim audio file with specific time from text file by using SoX in Mac terminal?
我有一个这样的文本文件
text file
,我想根据文本文件中的时间使用 sox trim 音频文件,这样我就可以拥有从 0.0 到 6.16、6.16 到 13.44、13.44 到 17.54 等不同的音频剪辑。
我理解 sox trim 的基本脚本是 *$ sox audio.wav newaudio.wav trim starttime duration*
但是我怎样才能从文本文件中获取持续时间并将 sox 用于 trim 音频?
更新答案
我认为下面的代码可能更接近:
#!/bin/bash
index=0
while read this; do
if [ $index -gt 0 ]; then
d=$(bc <<< "$this - $start")
echo sox audio.wav new-$index.wav trim \"$start\" \"$d\"
fi
((index+=1))
start=$this
done < times.txt
我不使用 sox,但这是方法的要点 - 它假定您的时间在一个名为 times.txt
:[=19= 的文件中]
#!/bin/bash
index=0
while read this; do
if [ $index -gt 0 ]; then
echo sox audio.wav new-$index.wav trim $start $this
fi
((index+=1))
start=$this
done < times.txt
示例输出
sox audio.wav new-1.wav trim 0.0 6.16
sox audio.wav new-2.wav trim 6.16 13.44
sox audio.wav new-3.wav trim 13.44 17.54
sox audio.wav new-4.wav trim 17.54 23.3
sox audio.wav new-5.wav trim 23.3 26.5
因此,您可以将所有代码保存在名为 $HOME/trimmer
的文件中,然后启动 Terminal 和 运行 以下内容以使脚本可执行 - 仅一次足够了:
chmod +x $HOME/trimmer
然后将目录更改为您的音频文件所在的目录,例如:
cd path/to/audio/files
然后 运行 脚本:
$HOME/trimmer
如果您喜欢它的外观,请从脚本中删除单词 echo
,然后重新 运行。如果您不熟悉脚本,请先备份。
我有一个这样的文本文件 text file ,我想根据文本文件中的时间使用 sox trim 音频文件,这样我就可以拥有从 0.0 到 6.16、6.16 到 13.44、13.44 到 17.54 等不同的音频剪辑。
我理解 sox trim 的基本脚本是 *$ sox audio.wav newaudio.wav trim starttime duration*
但是我怎样才能从文本文件中获取持续时间并将 sox 用于 trim 音频?
更新答案
我认为下面的代码可能更接近:
#!/bin/bash
index=0
while read this; do
if [ $index -gt 0 ]; then
d=$(bc <<< "$this - $start")
echo sox audio.wav new-$index.wav trim \"$start\" \"$d\"
fi
((index+=1))
start=$this
done < times.txt
我不使用 sox,但这是方法的要点 - 它假定您的时间在一个名为 times.txt
:[=19= 的文件中]
#!/bin/bash
index=0
while read this; do
if [ $index -gt 0 ]; then
echo sox audio.wav new-$index.wav trim $start $this
fi
((index+=1))
start=$this
done < times.txt
示例输出
sox audio.wav new-1.wav trim 0.0 6.16
sox audio.wav new-2.wav trim 6.16 13.44
sox audio.wav new-3.wav trim 13.44 17.54
sox audio.wav new-4.wav trim 17.54 23.3
sox audio.wav new-5.wav trim 23.3 26.5
因此,您可以将所有代码保存在名为 $HOME/trimmer
的文件中,然后启动 Terminal 和 运行 以下内容以使脚本可执行 - 仅一次足够了:
chmod +x $HOME/trimmer
然后将目录更改为您的音频文件所在的目录,例如:
cd path/to/audio/files
然后 运行 脚本:
$HOME/trimmer
如果您喜欢它的外观,请从脚本中删除单词 echo
,然后重新 运行。如果您不熟悉脚本,请先备份。