标签: sox

如何向 sox 添加 mp3 处理程序?

我想在终端中播放音乐sox

# install sox/lame
sudo apt-get install sox
sudo apt-get install lame

# play music
play music.mp3
# play FAIL formats: no handler for file extension `mp3'

# mp3 -> wav
lame --decode music.mp3 music.wav

# play music
play music.wav
Run Code Online (Sandbox Code Playgroud)
~ $ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04 LTS"

~ $ sox --version
sox: SoX v14.3.2
Run Code Online (Sandbox Code Playgroud)

的大小music.wav是 的+10 倍music.mp3
我不想全部转换*.mp3*.wav.
是否可以将 mp3-handler 添加到 sox?

mp3 bash sox ubuntu

118
推荐指数
2
解决办法
10万
查看次数

从麦克风录音的命令行实用程序

我正在寻找监视麦克风的命令行实用程序,如果您开始讲话,则写入文件。应调整记录周期。

解决办法是:

   sox -t alsa default recording.wav silence 1 0.1 5% 1 1.0 5%
Run Code Online (Sandbox Code Playgroud)

audio linux bash command-line sox

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

从音频文件创建视频文件并从音频添加可视化

我最初的想法是将音频文件以及受音频启发的视频上传到 YouTube。特定的可视化可以是不同的形式,例如频谱、频谱图或其他随音频变化的可视化形式。我不熟悉 ffmpeg 或 sox 的所有功能,但我想知道我是否可以开箱即用地做这样的事情,或者作为一系列带有其他命令行实用程序的脚本。

ffmpeg visualization sox data-visualization

11
推荐指数
2
解决办法
8034
查看次数

如何在保留(非零填充)数字排序的同时附加一堆 .wav 文件?

我有很多(7500 个).wav 文件(以它们的编号命名),我想将它们合并为一个。我认为它必须使用 bash 循环来完成,因为使用通配符某些文件的顺序会错误(例如 2 之前的 1111)。

在 Linux 下执行此操作的最佳方法是什么?

bash wav sox

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

如何使用命令行软件从音乐中提取人声?

我知道如何使用 SoX 去除人声。命令是

sox source.wav mono.wav 哎呀

这意味着将立体声混合到双单声道,其中每个单声道包含左右立体声声道之间的差异。它相当于

sox source.wav mono.wav remix 1,2i 1,2i

但是我怎样才能提取人声呢?

我试图将源文件与单声道文件重新混合

sox -M source.wav mono.wav voice.wav remix 1,2i 1,2i

但它不起作用。

如果使用 SoX 无法实现,则欢迎使用任何其他命令行解决方案。

audio sox

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

将音频文件循环到给定的长度

我目前面临一个问题,我需要获取一些 mp3 文件并制作另一个 mp3 文件,其中第一个正在播放给定的时间,如果需要则循环播放。最好我正在寻找命令行解决方案。尝试了 ffmpeg 和 sox,但找不到解决方案。所以现在我正在寻找一些选择。

进一步解释:假设我有一个文件 foo.mp3,我需要创建具有给定长度的 bar.mp3 文件,比如说 30 秒并且包含 foo.mp3 文件,如果 foo.mp3 小于 30秒它被循环了很多次,以至于它填满了整个 30 秒。我希望现在很清楚我的要求。

audio mp3 ffmpeg command-line sox

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

使用 sox 从两个单声道文件创建立体声文件

我在 Centos 6.0 上使用 sox 14.2.0。

我有两个单声道wav 文件left.wavright.wav. 我需要将它们组合成一个stereo.ogg文件,left.wav向左right.wav平移 80%,向右平移 80%。

我无法想出为此所需的袜子选项。我该怎么做呢?

这将对许多文件重复执行,所以我更喜欢一个有效的解决方案。据我所知,应该有一种方法可以一次性完成(一次调用 sox)。

audio sox

5
推荐指数
3
解决办法
2万
查看次数

脚本运行 sox 将多个单声道组合成立体声

我有一个装满.wav音频文件的文件夹。

有些是立体声,大多数是单声道拆分。

单声道分裂对都被命名foo bar track.L.wavfoo bar track.R.wav

我可以使用命令行工具sox将一对单声道组合成 1 个立体声轨道,如下所示:

sox -M track1.L.wav track1.R.wav track1.Stereo.wav
Run Code Online (Sandbox Code Playgroud)

其中前 2 个文件是单声道对,第三个是输出立体声文件。

这很棒,但我想要一个脚本,它会自动找到所有的单声道对并将它们组合成立体声文件。

即,我需要它来查找除扩展名.L..R.之前具有相同名称的所有文件,并sox在它们上运行,输出到具有相同名称但没有L/R后缀的新文件。

例如,如果我的文件夹包含这些文件:

track1.L.wav
track2.L.wav
track3.L.wav
track4.L.wav
track1.R.wav
track2.R.wav
track3.R.wav
track4.R.wav
track6.wav
track7.wav
Run Code Online (Sandbox Code Playgroud)

我需要运行这些命令:

sox -M track1.L.wav track1.R.wav track1.Stereo.wav
sox -M track2.L.wav track2.R.wav track2.Stereo.wav
sox -M track3.L.wav track3.R.wav track3.Stereo.wav
sox -M track4.L.wav track4.R.wav track4.Stereo.wav
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止的位置:

for file in ./*.L.wav;
do 
    file2=`echo $file | sed 's_\(.*\).L.wav_\1.R.wav_'`;
    out=`echo $file …
Run Code Online (Sandbox Code Playgroud)

script command-line sox

5
推荐指数
2
解决办法
4282
查看次数

如何记录麦克风输入并将输出通过管道传输到另一个程序

大家好,我正在尝试按照有关生成真正随机位的教程进行操作

如何生成真正的随机位

这是教程中的命令,但它不起作用

rec -c 1 -d /dev/dsp -r 8000 -t wav -s w  - | ./noise-filter >bits
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用录制我的麦克风输入

rec -c 1 no.wav
Run Code Online (Sandbox Code Playgroud)

这是我尝试使用的命令

rec -c 1 -r 8000 -t wav -s noise.wav | ./noise-filter >bits
Run Code Online (Sandbox Code Playgroud)

但我明白了

root@xxc:~/cc# rec -c 1 -r 8000 -t wav -s noise.wav  - | ./noise-filter >bits
rec WARN formats: can't set sample rate 8000; using 48000
rec FAIL sox: Input files must have the same sample-rate
Run Code Online (Sandbox Code Playgroud)

我已经遵守了噪音过滤器

噪音过滤器

我认为本教程使用的是我正在使用的旧版 SOX 和 REC

sox: SoX v14.3.2 …
Run Code Online (Sandbox Code Playgroud)

sox audio-recording random-number-generator

5
推荐指数
1
解决办法
6997
查看次数

sox:如何在 OSX 上指定音频输入和音频输出设备

在Linux中,我曾经使用以下命令,该命令接受音频输入,应用混响和音调变换效果,然后将结果输出到指定的音频设备。

sox -r 44100 -t alsa hw:1 -t alsa hw:0 reverb 1 50 10 50 pitch 100
Run Code Online (Sandbox Code Playgroud)

在 mac/OSX 上,我已经安装了命令行音频实用程序sox,并且我可以使用-d(默认音频设备)录制或播放音频,但我无法让 sox 执行与我在 Linux 中所做的相同的实时音频操作多于。我认为关键是找出该-t选项指定的内容

sox macos coreaudio

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