TypeError:参数1必须是类似字节的只读对象,而不是memoryview

时间:2018-11-18 06:35:31

标签: python numpy buffer typeerror memoryview

我正在将一个库从Python 2更新到Python 3.7,该库接受来自麦克风的声音输入并将其转换为音高。但是,运行程序时出现此错误:

File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/analyse.py", line 58, in detect_pitch dp = analyseffi.detect_pitch(chunk2, min_frequency, max_frequency, samplerate, sens, ratio) TypeError: argument 1 must be read-only bytes-like object, not memoryview

似乎与以下代码有关:

# Read raw microphone data
rawsamps = stream.read(1024)
# Convert raw data to NumPy array
samps = numpy.frombuffer(rawsamps, dtype=numpy.int16)
# Show the volume and pitch
print(analyse.musical_detect_pitch(samps))

通过将chunk2放在函数中来获取错误消息中的chunk2 = samps.data[:]。我一直在尝试解决错误,但是基于我的有限理解,“只读字节状对象”与“ memoryview”非常相似。所以我不确定从一个转换到另一个的方法。

0 个答案:

没有答案