标签: sox

从音频文件中删除静音同时留下间隙

目前,我们在 shell 脚本中使用此命令来消除音频文件中的静音:

ffmpeg -i $INFILE -af silenceremove=0:0:0:-1:1:${NOISE_TOLERANCE}dB -ac 1 $SILENCED_FILE -y
Run Code Online (Sandbox Code Playgroud)

这很好用,只是它消除了所有的静音,导致剩余的音频被挤压在一起。

在每段音频之间留出两到三秒的时间,如何做到这一点?

该解决方案需要非常高效,因为我们将处理大量音频,并且应该使用可以在 Linux 和 OSX 上轻松安装的工具,例如 ffmpeg 或 sox。

ffmpeg audio shell-script sox

19
推荐指数
1
解决办法
1万
查看次数

检测到静音后结束 sox 录音

我正在编写一个脚本,使用 sox 来记录我的谈话。现在我需要 sox 在开始录音之前等待它检测到声音,我确实想通了。但是,一旦沉默至少 3 秒,我还需要袜子退出。就像现在一样,一旦我说完,我就必须手动杀死 sox,否则 sox 会再次等待,直到我再说话,附加到输出文件(这不是我想要的)。这是我现在使用的录制命令:

rec /tmp/recording.flac rate 32k silence 1 0.1 3% -1 3.0 3%
Run Code Online (Sandbox Code Playgroud)

再次声明,Sox 应该等到我开始说话,然后录音直到我停止说话,然后 sox 程序应该退出。

scripting audio sox

17
推荐指数
1
解决办法
2万
查看次数

原始(无头)音频文件的编码是什么以及如何编码?

我已经这样做了:

me@riverbrain:~/sgf$ echo "test" | text2wave -otype raw -F 16000 >> test.raw
Run Code Online (Sandbox Code Playgroud)

这产生了一个无头的音频文件。这个文件的美妙之处在于它可以cat与另一个原始音频文件连接(使用,如文本)。

当然,我有问题。问题是我还不能玩。

me@riverbrain:~/sgf$ play test.raw 

play FAIL formats: bad input format for file `test.raw': sampling rate was not specified
Run Code Online (Sandbox Code Playgroud)

而且,在指定采样率时

me@riverbrain:~/sgf$ play -r 16000 test.raw 
play FAIL formats: bad input format for file `test.raw': data encoding was not specified
Run Code Online (Sandbox Code Playgroud)

当我查找一些“编码”信息时,我觉得这与您的处理器架构有很大关系,但也许我错了。无论如何,我找不到任何关于如何“询问”计算机原始音频文件的数据编码是什么的文档。而且我也知道采样率是多少,因为我是自己设置的,但这是我所能得到的。

audio sox

9
推荐指数
1
解决办法
2万
查看次数

sox:在静音时分割音频但留下尾巴

我喜欢 sox 能够在静音状态下拆分音频文件。我遇到的问题是,偶尔我的音轨以淡出结束,或者音符衰减为混响(袜子会误认为是静音的微妙声音)。我正在尝试调整 sox 命令以在静音时分割曲目,但在每次分割后都保持一点静音。我无法弄清楚如何做到这一点。这是我到目前为止的命令:

sox in.wav out.wav silence 1 2 0.5% 1 4.0 0.9% : newfile : restart
Run Code Online (Sandbox Code Playgroud)

对此的任何帮助将不胜感激!

sox

9
推荐指数
1
解决办法
2934
查看次数

Sox:在单个命令中转换具有所需属性的 .wav 文件

我有一个test.wav文件。我需要使用此文件来处理具有以下属性的应用程序

i) 单声道 ii) 16khz 采样率 iii) 16 位

现在,我使用以下命令来获得这些属性。

sox disturbence.wav -r 16000 disturbence_16000.wav
sox disturbence_16000.wav -c 1 disturbence_1600_mono.wav
sox disturbence_1600_mono.wav -s -b 16 disturbence_1600_mono_16bit.wav
Run Code Online (Sandbox Code Playgroud)

此处获取单个文件涉及 3 个步骤并创建 2 个临时文件。这是一个耗时的过程。

我想写一个脚本来完成这些过程,但我认为这是最后的选择。

在单个命令中,我可以将.wav文件转换为所需的格式吗?

conversion command sox

8
推荐指数
1
解决办法
3万
查看次数

sox:在静音时分割音频但保持静音

我有多个存储在大型 mp3 中的有声读物。我正在尝试将这些大型 mp3 拆分为多个较小的文件。

我找到了一种工具,可以检测音频文件中的静音并根据此“分隔符”拆分音频文件。

下面是一个例子:

sox -V3 audiobook.mp3 audiobook_part_.mp3 \
silence 1 0.5 0.1% 1 0.5 0.1% : newfile : restart
Run Code Online (Sandbox Code Playgroud)

这将基本上分裂audiobook.mp3audiobook_part_001.mp3audiobook_part_002.mp3,...其中沉默> = 0.5秒。

现在的问题是,这个命令不仅会拆分文件,还会消除静音。

因此,当您在播放列表中播放新文件时,曲目/段落听起来会挤在一起。

那么你如何告诉sox只拆分文件但保持静音(在每个轨道的末尾)?

sox

8
推荐指数
1
解决办法
1万
查看次数

当我尝试处理 mp3 文件时 sox 返回错误

你好,这是交易,我用过:

$ yum install sox 
Run Code Online (Sandbox Code Playgroud)

在 CentOS 6 中安装它。之后我做了一个快速测试:

$ sox test.mp3 test.amr
Run Code Online (Sandbox Code Playgroud)

这就是它返回的内容:

$ sox formats: no handler for file extension `mp3'
Run Code Online (Sandbox Code Playgroud)

我需要用soxnot来完成这项工作,lame因为我需要将它用于混合和其他lame.

mp3 sox

7
推荐指数
1
解决办法
2万
查看次数

更慢或更快地播放声音文件

如何更慢或更快地播放声音?这对于仔细聆听一个音频段落或快速收听以找到具体段落很有用。

play sox 命令有什么可以做到这一点的吗?也欢迎其他简单的解决方案。

command-line audio sox

7
推荐指数
3
解决办法
5368
查看次数

如何使用 Sox 高效创建多个音频文件的频谱图?

我有一堆音频文件,我想使用 Sox 为每个单独的文件创建频谱图。通常,对于单个文件,我这样做:

sox audiofile.flac -n spectrogram
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何将此方法扩展到多个文件。理想情况下,我希望我的输出.png文件具有与其各自音频文件相关联的文件名;例如audiofile1.pngfor audiofile1.flacaudiofile2.pngforaudiofile2.flac等等。

有人知道怎么做这个吗?

audio sox

7
推荐指数
2
解决办法
9333
查看次数

使用 sox 将 mp3 文件批量转换为 wav

对于单个 .mp3,我可以使用将其转换为 wav

sox ./input/filename.mp3 ./output/filename.wav
Run Code Online (Sandbox Code Playgroud)

我试过:

#!/bin/bash
for i in  $(ls *mp3)
do
    sox -t wav $i waves/$(basename $i)
done
Run Code Online (Sandbox Code Playgroud)

但它抛出以下错误:

sox FAIL formats: can't open input file `filename.mp3': WAVE: RIFF header not found
Run Code Online (Sandbox Code Playgroud)

我将如何对输入文件夹中的所有 mp3 文件运行此 sox 转换并将生成的 wav 保存到输出文件夹?

PS:我不知道为什么它会显示包含在反引号 ( ` ) 和撇号之间的文件 '

`文件名.mp3'

我播放了所有的 mp3,它们完美地工作。

shell bash sox

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

sox ×10

audio ×5

bash ×1

command ×1

command-line ×1

conversion ×1

ffmpeg ×1

mp3 ×1

scripting ×1

shell ×1

shell-script ×1