Hello stackoverflow用户,
目前我面临以下问题,我有一个打开.wav文件的功能,它返回采样率,长度和样本。我已经尝试过它将是小文件,它工作得很好,现在我正在尝试加载1GB wav文件并且它返回我" MemoryError未被用户代码"处理窗口。
这是我的功能:
def OpenWavFile(fileName):
waveFile = wave.open(fileName, 'r')
sampFreq = waveFile.getframerate()
length = waveFile.getnframes()
byteList = np.fromstring(waveFile.readframes(length), dtype = np.int16)
return sampFreq, length, byteList
我用断点试过它,我注意到长度变量的值是472289280,它适合int
范围。我在这个位置dtype = np.int16
尝试了这个函数,它有不同的类型。
numpy有限制吗?或问题出在哪里?
笔记本电脑上的RAM大小为8Gb。
答案 0 :(得分:1)
所以根据上面的建议,我检查了Python的版本,它是32位,我将它改为64,现在可以正常工作