首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阻止SoX做剪裁?

阻止SoX做剪裁?
EN

Stack Overflow用户
提问于 2020-06-04 12:01:26
回答 1查看 936关注 0票数 0

我有一个严重“溢出”的WAV文件(用浮点数32位格式编写的示例):而不是-1.0,+1.0,样本范围高达-5.0,+5.0。

使用SoX从WAV文件获取原始PCM音频示例:

sox --bits 32 --channels 1 --encoding floating-point --rate 48000 input.wav output.raw

我收到警告:

代码语言:javascript
复制
sox WARN sox: `input.wav' input clipped 1163400 samples
sox WARN sox: `output.raw' output clipped 605664 samples; decrease volume?

当我查看输出时,我看到样本被剪裁了,现在的范围是-1.0,+1.0。然而,这不是我想要的。

我希望有完全相同的输入输出,只是以不同的格式(RAW而不是WAV)。我需要使用命令行工具来执行任务。有什么方法可以防止SoX做剪裁吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-29 10:51:34

我从SoX邮件列表那里得到了答案。

所需的行为是不可能的,然而,在这种特殊的情况下,有一个解决办法。将输入示例编码重写为32位有符号整数,而不是浮点数,这些值将不受影响地复制;由于输出是无头的,所以SoX认为样本是什么并不重要。

因此,这是可行的:

sox --bits 32 --channels 1 --encoding signed-integer --rate 48000 input.wav output.raw

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62194098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档