我正在尝试使用最初为.SPH格式的音频文件来训练神经网络。我需要获得表示神经网络声波振幅的整数,所以我使用sox通过调用sox infile.SPH outfile.wav remix 1-2
(将2个通道转换为1的混音)将文件转换为.wav格式,然后尝试使用
在matlab中[y, Fs, nbits, opts] = wavread('outfile.wav')
获取整数表示。
然而,matlab扔了Data compression format (CCITT mu-law) is not supported.
所以我使用sox infile.SPH -b 16 -e signed-integer -c 1 outfile.wav
我认为将波形文件放在线性格式而不是mu-law中。但是现在matlab又犯了一个错误:Invalid Wave File. Reason: Cannot open file.
我的音频文件是8000赫兹u-law单通道或双通道,全部采用8位,我认为(肯定是8位单声道)。
有没有办法使用matlab或任何其他程序从音频文件中获取整数表示?无论是u律还是线性都可以,除非有人对神经网络训练更好。最好是8位,因为源文件是8位的。
我真的不明白.SPH。对于未压缩的(并忽略标题),存储幅度的文件(猜测它必须以某种方式)?我可以直接从这些文件中提取数字而不用浪费吗?信号是否以顺序方式存储,以便分割音频文件?
我是音频处理的新手,所以任何指针都会受到赞赏!