[作品提交] 【DigiKey“智造万物,快乐不停”创意大赛】3,语音识别模型调试

顺竿爬   2023-12-21 09:27 楼主

语音识别使用的是speech_recognition库,首先创建虚拟环境,并安装相应的包

```

python3 -m venv .venv

source .venv/bin/activate

pip install SpeechRecognition

sudo apt install ffmpeg flac

```

接着,我们还需要修改一下这个库的源代码,因为库默认使用的16bits数据,但是一般I2S数据都是24bits数据,32bit空间,因此我们需要更改一下库文件site-packages/speech_recognition/__init__.py的第94行,class Microphone(AudioSource)中:

```

# self.format = self.pyaudio_module.paInt16  # 16-bit int sampling

self.format = self.pyaudio_module.paInt32  # 32-bit int sampling

```

接着,回到我们自己的代码中,写下一下测试代码,注意我们主要用他识别中文,而google的中文语言选择的字符串不是标准的国家code,要按我代码中的方式写才可以成功识别。

```

import speech_recognition as sr

r = sr.Recognizer()



def obtain():

        with sr.Microphone(device_index=1) as _source:

            print("Width: ", _source.SAMPLE_WIDTH)

            r.dynamic_energy_threshold = False

            r.energy_threshold = 10000000

            r.pause_threshold = 1.2

            print(">说点什么:")

            audio = r.listen(_source)

            print("Processing...")

        try:

            text_input = r.recognize_google(audio, language="cmn-Hans-CN")

            print("You said: " + text_input)

        except sr.UnknownValueError as _error:

            print("Google could not understand audio")

            print(_error)

            text_input = None

        except sr.RequestError as _error:

            print("Could not request results from Google")

            print(_error)

            text_input = None

        return text_input

obtain()

```

运行以上代码,如果一切正常,应该可以在terminal中看到识别到的文字。

回复评论 (6)

这是Python的离线语音模型吧?识别率怎么样?

点赞  2023-12-21 09:47
引用: wangerxian 发表于 2023-12-21 09:47 这是Python的离线语音模型吧?识别率怎么样?

成功配置成中文模式后识别率还是很高的

点赞  2023-12-21 10:11
引用: 顺竿爬 发表于 2023-12-21 10:11 成功配置成中文模式后识别率还是很高的

大佬,这可以呀,语音识别还是非常有前途的,特别是在智能家居方面。

点赞  2023-12-21 10:27
引用: 顺竿爬 发表于 2023-12-21 10:11 成功配置成中文模式后识别率还是很高的

离线的还是比较好的,可以搭载在各种设备上。

点赞  2023-12-21 15:53

首先感谢楼主的无私分享,想了解下这个语音识别模型的运行占用的资源大吗?谢谢

点赞  2023-12-27 23:16
引用: chejm 发表于 2023-12-27 23:16 首先感谢楼主的无私分享,想了解下这个语音识别模型的运行占用的资源大吗?谢谢

还可以,树莓派可以完美运行,感觉不到明显的吃力

点赞  2024-1-2 13:13
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复