问题标签 [sox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
852 浏览

linux - 使用 sox 和 bash 将两个 wav 文件交替为 1 个

我正在使用 linux 和 bash 我有两个文件 filea.wav 和 fileb.wav,它们都是 1 秒长。我想加入其中的 4000 个,因此我将获得 1 个长达一小时的大文件,其中两个文件交替出现。

示例:1 小时单个文件的样子 filea.wav fileb.wav filea.wav fileb.wav filea.wav fileb.wav .....

我知道我可以使用 sox 创建和重复文件

但是我怎样才能让两个文件来回交替并仍然使用 sox 获得 1 个单个文件?

0 投票
2 回答
1882 浏览

c - 使用 gnu 工具链编译无依赖二进制文件的基础知识

我正在尝试使用SoX使我创建的音频文件变慢,尽管我可以轻松地在我经常使用的 linux 机器上编译源文件,但我需要将二进制文件传输到另一台具有有限权限和内存的 linux 机器。我试图将二进制文件从我机器上的 usr/local/bin 文件夹复制到另一台,但它找不到函数引用。

是否有一种标准方法来编译没有依赖项的二进制文件,如果没有,我如何设置 SoX 二进制文件,以便当我在临时文件夹中只有写权限时它可以看到正确的依赖项?

0 投票
18 回答
47453 浏览

unix - 在命令行上检查音频文件的持续时间

我需要检查一组音频文件的持续时间。有没有一种简单的方法可以在 unix 命令行上执行此操作?

我有一个很棒的 SoX 应用程序,它有一个名为 stats 的选项,可以生成一组音频信息,包括持续时间。我正在寻找一种只获得持续时间的方法。我对输出格式很灵活,可以是任何样本长度、hh:mm:ss 或秒。后者将是我的偏好。

0 投票
1 回答
3151 浏览

audio - 使用 sox splice 交叉淡入淡出一组音频文件

我可以使用 SoX 加入和交叉淡入淡出两个音频文件,如下所示:

其中 soxi 替换获取 file1 的持续时间,而 0.5 是交叉淡入淡出的长度。我现在正试图将其扩展到任意数量的文件,以便将它们串在一起并在其间使用短的交叉淡入淡出。似乎有两种方法:管道和脚本。Sox 有一个 -p 选项,告诉它将其输出视为管道(而不是写入文件)。但是,由于每个命令有许多输入和参数,不清楚如何在后续命令中分配输出(和输入? )。到目前为止,我得到了下面的行,它不起作用,试图扩展到 3 个文件。

您对 sox 管道和脚本的提示将不胜感激。

0 投票
2 回答
4367 浏览

sox - Sox 混合和延迟

我正在使用 SOX 混合音频。

该命令SOX -m voice.wav audio.wav final.wav是我正在使用的。

我的目标是延迟 10 秒的 voice.wav,如果我尝试使用延迟 10.0,那么我有双重声音。

如何正确?

0 投票
1 回答
28852 浏览

command-line - 如何将 16 位 wav 转换为原始音频

我正在尝试使用 sox 将星号语音邮件转换为原始音频。原始 wav 的编码信息是 PCM S16 LE,所以我想我能做到,sox msg0000.wav msg0001.raw但原始文件是乱码,根据 VLC,4 分钟长,而源文件 6 秒。

我不确定我要去哪里错了,有人如何将wav转换为raw?最好使用 sox,但任何命令行解决方案都可以。

0 投票
4 回答
34166 浏览

merge - 在 sox 中合并 2 个音频文件

我正在尝试将 2 个波形文件合并到一个文件中。这两个文件应该在新文件的开头开始播放。与声音长度无关。运行以下命令不会给我这个结果。

还有其他方法可以通过 sox 或其他命令行库来实现吗?

0 投票
1 回答
910 浏览

c++ - 跨平台实时 MP3 录音机

我有一个 SDL 应用程序,可以在 Linux、Mac 和 Windows 下运行。它有点像媒体播放器,可以很好地播放音频。我想为其添加录音功能,但我想将其实时编码为 MP3。谁能指出我如何使用 LibLame、LibSoX 或其他库来实现这一目标的示例?

- 或者 -

我也愿意将整个事情重写成比 C++ 更容易管理的东西。我看过使用 Lua 的KivyLove2d,但录音仍然是个问题。如果您知道任何工具包:

  • 是跨平台的
  • 帮助您使用自己的图形构建 GUI
  • 可以播放和录制mp3文件
  • 理想情况下可以在帧缓冲区下运行(Linux 下没有 X Window 服务器)

请告诉我。我在看 Python + Pygame + Pyaudio,它可以做图形和输出声音,但仍然不能录制 MP3,只能录制 WAV。有什么方法可以将 LAME 集成到其中以使其工作?

0 投票
1 回答
1236 浏览

linux - 使用 sox 转换为 .dat 格式的值似乎没有标准化

我使用 sox 转换为 .dat 格式的值似乎没有被标准化 - 希望有人能看到我做错了什么。

我正在尝试做一些类似于这篇关于 sox 和 gnuplot 的很棒的 SO 帖子中描述的事情(我正在将值发送到 Java 中的处理,所以上下文有点不同)。问题是在我的 .dat 文件中我得到“只有小的值”,而手册页说它们将在 -1 和 1 之间进行标准化。

安装 sox 和 mp3 处理包后,我执行以下测试:

这给出了输出“min -0.48370361 max 9.1552734e-05”。如果我执行第一个命令是 wav 而不是 dat,那么 wav 文件听起来不错(就像 Aerosmith 的“电梯中的爱情”的 11kHz 单声道一样)。之后我当然可以手动规范化数据,但我希望有一种更好、更直接的方法。

谢谢,

-S-

0 投票
3 回答
54418 浏览

audio - 如何使用 SoX 修剪音频文件的结尾?

使用 Sox,我如何将音频文件缩短 5 秒,从末尾修剪?

例如,这是从头开始修剪文件的方法:

这是如何在结尾添加 5 秒的静音: