问题标签 [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 回答
537 浏览

performance - 在 Web 服务器上组合音频文件的最快方法是什么?

免责声明:请原谅我对音频/声音处理的无知,我的背景是网络和移动开发,这是我的一个客户的定制要求!

我需要连接 4 个音频文件,并在所有 4 个音频文件后面播放背景音轨。可以以任何格式创建源音频文件,或对其进行任何处理,以提高处理时间,但输出质量仍然很重要。为清楚起见,输入文件可以如下命名(.wav 只是一个示例格式):

  • 背景.wav
  • 段-a.wav
  • 段-b.wav
  • 段-c.wav
  • 段-d.wav

并且需要像这样构造:

我已经设法使用SoX工具使用 MP3 文件实现上述连接部分,但是在一台速度相当快的计算机上,我每分钟处理大约一个小时的连接音频,这对我的要求来说还不够快,并且我还没有应用背景声音或任何“不错的东西”,例如修剪/褪色。

我的问题是:

  • SoX 是此类操作的最佳/唯一工具吗?
  • 有什么方法可以在不牺牲(太多)质量的情况下加快流程?
  • 更改输入文件格式会提高性能吗?如果是这样,哪种格式最好?

非常感谢这个优秀社区的任何建议!

0 投票
3 回答
145 浏览

regex - How to return a character set after matching a specific string in a regular expression

I'm actually using using a command line tool called sox to retrieve information about an audio file. This returns the following output:

I'd like to extract the values out of this using a regular expression. So far I have /^Length \(seconds\):\s*[0-9.]*/m which matches Length (seconds): 28.107375 but I just want the value.

What do I need to do?

0 投票
3 回答
23353 浏览

ubuntu - 如何以编程方式从 MP3 中删除静音?

我有 MP3 文件,有时最后会保持沉默。我想自动消除这种沉默。据我所知,这是“完美”的静音(0 振幅),而不是背景噪音。内容的长度和静音会有所不同。

我发现了一些关于裁剪到前 30 秒裁剪到 X 和 X+N 秒的其他问题ffmpeg。我想我可以使用类似的方法,只要我有办法找到沉默何时开始。我将如何以编程方式做到这一点?

例如,一种可能的解决方案是使用一个命令来查找“静音”的开头。我期待这样的序列

该解决方案不必使用ffmpeg但它确实需要在 Ubuntu 上可用。

0 投票
1 回答
313 浏览

sox - SOX 在填充操作后产生“爆裂”或“噼啪”噪声

我正在尝试使用以下命令用静音填充 .wav 文件的开头

但是,在第 14 秒(静音填充结束的地方),原始 .wav 文件中没有发现非常严重的爆裂声。我在 Ubuntu 11 上运行这个命令。关于为什么会发生这种情况以及如何解决它有什么想法吗?

0 投票
1 回答
2191 浏览

c - 如何使用 SoX C 库混合音频文件

使用 SoX 从命令行使用“sox -m ...”混合音频文件很简单,但我试图用 C 库找到完全相同的东西,但我无法在任何地方找到如何做到这一点。甚至可能吗?

0 投票
1 回答
2529 浏览

ffmpeg - 使用 sox 组合音频

我有三个 3gp 文件,我用 sox 来组合它们

但它显示“FAIL 格式:文件扩展名没有处理程序3gp

这意味着我必须安装一些扩展程序?

我正在尝试用 sox 来做,有人可以给我任何建议吗?

或者有可能用 ffmpeg 做到这一点?

0 投票
1 回答
1198 浏览

audio - libsox 将多声道 wav 拆分为单声道

我想将多通道(2,8 或 16)wav 文件拆分为其通道,并将每个通道保存在另一个 wav 文件中。

到目前为止,我已经完成了在我的 c++ 目标 c++ 项目中启动并运行 libsox。

Libsox 没有很好的文档记录,并且有很多关于如何做到这一点的示例:(

我首先打开 Inputfile

现在我必须找到一种方法来获取该文件的通道数。然后我必须创建相同数量的输出文件并将每个通道本身保存在其中。

怎么做?

谢谢!

0 投票
2 回答
5065 浏览

java - 在java中执行linux终端命令?

我正在尝试从 java 执行 SOX 命令,但不幸的是它每次都返回错误。不过,其他所有 SOX 命令都可以正常工作!这是代码:

当我在终端中执行相同的 sox 命令时,它工作正常。实在看不懂是什么问题!!是不是因为'|' 象征??

0 投票
1 回答
2914 浏览

cmd - 从 sox 获取 .wav 的平均振幅(仅)

上面的代码给出了以下结果

现在我只需要平均幅度。怎么做?

0 投票
2 回答
1255 浏览

c# - Sox 返回一些值,但 StandardOutput.ReadToEnd() 返回空

输出始终为空。当我sox在命令提示符下运行该命令时,我会得到如下响应:

在 C# 中运行相同的命令时,我得到相同的结果,但“输出”的值为空。