在Python中从立体声波文件中读取单个通道的数据

在Python中从立体声波文件中读取单个通道的数据,第1张

概述我必须从 Python中的立体声波形文件中的一个通道读取数据. 为此我用scipy.io试了一下: import scipy.io.wavfile as wfimport numpydef read(path): data = wf.read(path) for frame in data[1]: data = numpy.append(data, frame 我必须从 Python中的立体声波形文件中的一个通道读取数据.
为此我用scipy.io试了一下:

import scipy.io.wavfile as wfimport numpydef read(path):    data = wf.read(path)    for frame in data[1]:        data = numpy.append(data,frame[0])    return data

但是这段代码非常慢,特别是如果我必须使用更长的文件.
那么有人知道更快的方法吗?我通过使用wave.readframes()来考虑标准波形模块,但帧是如何存储的?

解决方法 scipy.io.wavfile.read返回元组(速率,数据).如果文件是立体声,则数据是具有形状的numpy数组(nsamples,2).要获取特定频道,请使用 slice数据.例如,

rate,data = wavfile.read(path)# data0 is the data from channel 0.data0 = data[:,0]
总结

以上是内存溢出为你收集整理的在Python中从立体声波文件中读取单个通道的数据全部内容,希望文章能够帮你解决在Python中从立体声波文件中读取单个通道的数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1195130.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存