在Python中读取.sph文件

the*_*ker 4 python audio

我正在一个项目中,我需要从音频信号中提取梅尔倒谱频率系数(MFCC)。此过程的第一步是将音频文件读入Python。

我拥有的音频文件以.sph格式存储。我找不到直接将这些文件读入Python的方法。我想要采样率,以及一个带有数据的NumPy数组,类似于wav读取的工作方式。

由于我要处理的音频文件很大,因此我不希望转换为.wav格式进行读取。您能否建议一种可行的方法?

the*_*ker 5

我反对转换为.wav文件,因为我认为这将花费很多时间。事实并非如此。因此,使用SoX进行转换符合我的需求。

在Windows文件夹中运行时,以下脚本会将该文件夹中的所有文件转换为.wav文件。

cd %~dp0
for %%a in (*.sph) do sox "%%~a" "%%~na.wav"
pause
Run Code Online (Sandbox Code Playgroud)

此后,可以使用以下命令读取文件。

import scipy.io.wavfile as wav
(rate,sig) = wav.read("file.wav")
Run Code Online (Sandbox Code Playgroud)