Sox 文件格式失败

Ing*_*rid 4 wav file-conversion pcm sox

我尝试将 pcm 文件转换为 wav,但无论我尝试多少(或几个)选项,总是收到 FAIL 格式错误。我想知道我需要做什么才能获取 pcm 文件的文件处理程序。再次安装 sox 并更新终端没有任何反应。\n我知道这个问题以前曾在这里出现过,现在在这里但遗憾的是,没有人给出解决问题的答案。

\n\n

这是我尝试过的命令:

\n\n
sox -t raw -r 44000 --bits 16 \xe2\x88\x92e signed-integer -c 2 -B \\\n    infile.pcm /wav/outfile.wav channels 1\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是它抛出的错误:

\n\n
sox FAIL formats: no handler for file extension `pcm\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

pcm 文件具有以下属性:

\n\n
    \n
  • 采样率:44kHz
  • \n
  • 样本大小:16位
  • \n
  • 信号编码:线性PCM(不知道这意味着什么?)
  • \n
  • 文件格式:无头原始
  • \n
  • 格式:Motorola PCM(该数据最初是为 IBM 系统创建的)
  • \n
  • 通道:2(左侧语音+右侧喉镜/EGG)
  • \n
\n\n

我需要它只给我语音(因此从立体声转换为单声道,但只从左声道获取信息)和 wav 文件,所以我正在使用的程序可以处理它。

\n

Ing*_*rid 9

找到解决办法了!基本上,其他人建议在命令后面加上 -t raw 的建议是错误的,而且顺序确实很重要。现在,我不知道为什么文档中从未指定选项顺序的严格性(我想我通读了所有内容,尽管不是一次),但至少这对我转换无头原始 PCM 文件转换为 wav:

sox -e signed-integer -b 16 -B -r 44100 -c 2 -t raw infile.pcm wav/outfile.wav remix 1
Run Code Online (Sandbox Code Playgroud)

选项、文件和效果的顺序:

  1. 编码
  2. 样本量
  3. 字节顺序
  4. 采样率
  5. 渠道
  6. 文件类型
  7. 内菲莱
  8. 输出文件
  9. 混音效果,从立体声转换为单声道

混音效果选择要使用的通道(在本例中,1 表示左侧)。我的立体声输入文件由语音(左=1)和喉头录音(右=2)组成,所以我不希望两者一起出现在输出中。