Google 语音识别无法识别某些单词/短语,例如 um 和 er | python

Google speech recognition not recognizing certain words / phrases like um and er | python

所以看起来 google 语音识别正在删除我语音的某些部分,例如嗯、呃和啊。问题是我想让这些被识别,我似乎不知道如何启用它。

代码如下:

import pyttsx3

recognizer = speech_recognition.Recognizer()

vocal_imperfections = 0

vi_list = ['hmm', 'umm', 'aha', 'ahh', 'uh', 'um', 'er']

while True:
    try:
        with speech_recognition.Microphone() as mic:
            recognizer.adjust_for_ambient_noise(mic, duration=0.2)
            audio = recognizer.listen(mic)
            text = recognizer.recognize_google(audio, language='en-IN', show_all=True)
            #text = recognizer.recognize_ibm(audio)
            if text != []:
                text = text['alternative'][0]['transcript']
                if any(word in text for word in vi_list):
                    vocal_imperfections = vocal_imperfections+1
                print(text)
                print(vocal_imperfections)


    except speech_recognition.UnknownValueError():
        recognizer = speech_recognition.Recognizer()
        continue

它的工作原理只是 google 消除了声音的缺陷。有谁知道如何启用此功能,或可以识别语音缺陷的替代免费实时语音识别?

示例: 如果我说:“嗯,我想今天是 30 号” Google 会 return:“我想今天是 30 号”

我查看了 Google Cloud Speech-to-text API docs,没有看到任何相关内容 (截至 2022 年 3 月)。我还遇到了这些相关资源:

所有证据表明无法使用 Google 云 Speech-to-text 服务(目前),您必须寻求替代服务。我不会重复资源中列出的备选方案,但提供了几个,您必须选择最适合您特定需求的一个。

此外,您可能已经知道这一点(如果您知道,我们深表歉意),但这些类型的词通常称为“填充”and/or“犹豫”词。这可能对您研究该主题有所帮助。

好消息是 SpeechRecognition 模块(我认为这就是您根据代码使用的模块)支持多种不同的引擎,因此希望其中之一提供填充词。