赞
踩
Soxhttp://sox.sourceforge.net/可以成为你的朋友。它可以读取许多不同的格式,并以您喜欢的任何数据类型将它们作为原始输出。事实上,我只是编写了代码,将一块数据从音频文件读入numpy数组。
我决定走这条可移植性路线(sox是非常广泛可用的),并最大限度地提高我可以使用的输入音频类型的灵活性。实际上,从最初的测试来看,我用它来做的事情并没有明显的慢。。。从很长的文件中读取短(几秒钟)的音频。
您需要的变量:SOX_EXEC # the sox / sox.exe executable filename
filename # the audio filename of course
num_channels # duh... the number of channels
out_byps # Bytes per sample you want, must be 1, 2, 4, or 8
start_samp # sample number to start reading at
len_samp # number of samples to read
实际的代码非常简单。如果要提取整个文件,可以删除start_samp、len_samp和“trim”内容。import subprocess # need the subprocess module
import numpy as NP # I'm lazy and call numpy NP
cmd = [SOX_EXEC,
filename, # input filename
'-t','raw', # output file type raw
'-e','signed-integer', # outpu
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。