0

运行我的程序后,我得到了一个输出,但我也得到了这个错误消息。

Exception ignored in: <function Model.__del__ at 0x7f02ba33b430>
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/deepspeech/__init__.py", line 43, in __del__
AttributeError: 'NoneType' object has no attribute 'impl'

这是代码 - 在这里我正在尝试使用 deepspeech 库将 wv 音频文件转换为文本。

from deepspeech import Model
import numpy as np
import os
import wave
import json

from IPython.display import Audio
from IPython.display import clear_output

model_file_path = 'deepspeech-0.8.2-models.pbmm'
lm_file_path = 'deepspeech-0.8.2-models.scorer'
beam_width = 100
lm_alpha = 0.93
lm_beta = 1.18

model = Model(model_file_path)
model.enableExternalScorer(lm_file_path)

model.setScorerAlphaBeta(lm_alpha, lm_beta)
model.setBeamWidth(beam_width)


def read_wav_file(filename):
    with wave.open(filename, 'rb') as w:
        rate = w.getframerate()
        frames = w.getnframes()
        buffer = w.readframes(frames)

    return buffer, rate



def transcribe(audio_file):
    buffer, rate = read_wav_file(audio_file)
    data16 = np.frombuffer(buffer, dtype=np.int16)

    
    return model.stt(data16)


print(transcribe('speech.wav'))
4

1 回答 1

0

导入 IPython 会导致问题,请尝试在没有它的情况下运行您的代码,它应该可以工作。

from deepspeech import Model
import numpy as np
import os
import wave
import json

model_file_path = 'deepspeech-0.8.2-models.pbmm'
lm_file_path = 'deepspeech-0.8.2-models.scorer'
beam_width = 100
lm_alpha = 0.93
lm_beta = 1.18

model = Model(model_file_path)
model.enableExternalScorer(lm_file_path)

model.setScorerAlphaBeta(lm_alpha, lm_beta)
model.setBeamWidth(beam_width)


def read_wav_file(filename):
    with wave.open(filename, 'rb') as w:
        rate = w.getframerate()
        frames = w.getnframes()
        buffer = w.readframes(frames)

    return buffer, rate



def transcribe(audio_file):
    buffer, rate = read_wav_file(audio_file)
    data16 = np.frombuffer(buffer, dtype=np.int16)

    
    return model.stt(data16)


print(transcribe('speech.wav'))
于 2021-04-06T20:07:31.427 回答