Sox报错“采样率未指定”:已指定参数仍出错的排查求助
问题分析与解决
你的问题出在Sox的参数顺序错误。Raw格式音频没有文件头,Sox无法自动识别其采样率、位深等格式信息,必须在输入文件前明确指定这些参数,而非把格式参数放在restart之后。
修正后的命令
sox -r 48000 -e signed -b 16 -c 1 input.raw output.raw trim 0 10800 : newfile : restart
原命令出错原因
你把格式参数放在了restart后面,这部分参数会被Sox当作新的效果或输出选项,但此时Sox已经开始处理输入文件input.raw,却完全不知道该文件的格式规范,因此会抛出“sampling rate not specified”错误。
正确的逻辑是:先告知Sox输入raw文件的格式参数(采样率、编码类型、位深、声道数),再指定输入文件,接着是输出文件和分割效果。
额外说明
trim 0 10800表示从音频第0秒开始,截取时长为10800秒的片段: newfile : restart表示完成一次截取后,自动创建新的输出文件并继续处理原文件剩余内容,直到音频处理完毕
内容的提问来源于stack exchange,提问作者tmighty
相关产品推荐
相关产品推荐

