当代码相同时,为什么我的输出不同?

时间:2019-05-20 20:10:46

标签: python audio-processing bytesio

我目前正在使用以下代码构建一个带通滤波器:https://ipython-books.github.io/116-applying-digital-filters-to-speech-sounds/

我对上面的代码进行了很少的编辑,即不再从URL提取文件,而是从本地WAV文件提取文件。这是相关的修改

def speak(voice):
    audio = pydub.AudioSegment.from_wav(BytesIO(voice))    

    with tempfile.temporaryfile() as fn:
        wavef = audio.export(fn, format='wav')
        wavef.seek(0)                            
        wave = wavef.read()
...

voice = open("C:\\Users\\tkim1\\Documents\\librosa\\NEUT 41s 
shaking_gold.wav", "rb").read

当前,代码的“ audio = pydub.AudioSegment.from_wav”行输出以下错误:需要一个类似字节的对象,而不是“ builtin_function_or_method”。我逐行浏览了两个脚本,无法确定原因这个错误正在浮出水面。非常感谢大家阅读。任何见解将不胜感激!

1 个答案:

答案 0 :(得分:2)

您没有调用read,这是一种方法。

voice = open("...", "rb").read()
#                             ^