欢迎访问宙启技术站
智能推送

使用Python中的SpeechRecognition库进行语音识别

发布时间:2023-12-28 00:19:54

SpeechRecognition是Python中一个非常强大的语音识别库,它支持多种声音输入源例如麦克风和音频文件,并能将声音转换成文本。它可以用于构建语音控制应用程序,音频转录工具,自动语音识别系统等。

首先,你需要安装SpeechRecognition库。可以在终端中运行以下命令进行安装:

pip install SpeechRecognition

安装后,你可以使用以下代码识别声音来源并将其转换为文本:

import speech_recognition as sr

# 创建一个语音识别器对象
r = sr.Recognizer()

# 使用麦克风作为声音来源
with sr.Microphone() as source:
    print("请说话...")
    audio = r.listen(source)

# 将声音转换为文本
try:
    text = r.recognize_google(audio, language="zh-CN")
    print("识别结果:" + text)
except sr.UnknownValueError:
    print("抱歉,无法识别声音")
except sr.RequestError as e:
    print("请求错误; {0}".format(e))

运行上述代码后,它会使用麦克风作为声音来源,并等待用户说话。当用户停止说话后,它将把声音转换为文本并在控制台输出。

除了使用麦克风作为声音来源,SpeechRecognition还支持从音频文件进行声音识别。下面是一个将音频文件转换为文本的例子:

import speech_recognition as sr

# 创建一个语音识别器对象
r = sr.Recognizer()

# 打开音频文件
with sr.AudioFile("audio.wav") as source:
    audio = r.record(source)

# 将声音转换为文本
try:
    text = r.recognize_google(audio, language="zh-CN")
    print("识别结果:" + text)
except sr.UnknownValueError:
    print("抱歉,无法识别声音")
except sr.RequestError as e:
    print("请求错误; {0}".format(e))

上述代码中,首先使用AudioFile函数打开音频文件。然后,可以使用record方法从打开的文件中读取音频数据。最后,将音频转换为文本并输出结果。

总结来说,SpeechRecognition库提供了一个简单而强大的方式来实现语音识别。无论是从麦克风还是音频文件,都可以使用该库将声音转换为文本。你可以根据需要扩展它的功能,例如识别多种语言,处理不同的声音源等。