首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SpeechRecognition,一个简单好用的Python语音识别库!

你是否曾经希望对电脑喊一声“打开Excel”,它就乖乖帮你完成任务?今天我们就来实现这样的功能!通过 Python,我们可以轻松识别语音指令并执行相应的操作,比如打开文件、查询天气或者发送提醒。只需要几行代码,就能让你的办公更智能化!

1. 语音识别的入门:SpeechRecognition 库

SpeechRecognition是一个简单好用的 Python 库,可以帮助我们将语音转换成文字。

安装库

在开始之前,先安装所需的 Python 库:

pip install SpeechRecognition pyaudio

小贴士:

Windows 用户需要提前安装PyAudio的编译版本,参考 PyAudio 官网。

macOS 用户可能需要通过 Homebrew 安装支持:

brew install portaudio

简单示例:语音转文字

以下代码可以将麦克风的语音输入转换成文字:

import speech_recognition as sr

# 初始化识别器

recognizer = sr.Recognizer()

# 打开麦克风录音

with sr.Microphone() as source:

  print("请说话,我正在听...")

  audio = recognizer.listen(source)

# 将语音转文字

try:

  text = recognizer.recognize_google(audio, language="zh-CN")

  print(f"你刚才说的是:{text}")

except sr.UnknownValueError:

  print("抱歉,我听不懂你刚才说的话!")

except sr.RequestError:

  print("无法连接到语音识别服务,请检查网络!")

运行这段代码后,你对麦克风说的话就会被识别成文字!

2. 响应语音指令:结合操作系统命令

语音识别的核心在于“听懂”之后做点什么,比如打开文件、发送通知等。我们可以结合os模块实现这些操作。

示例:打开文件或应用程序

import os

# 定义语音指令响应

def execute_command(command):

  if "打开Excel" in command:

      os.system("start excel")  # Windows 上打开 Excel

  elif "打开记事本" in command:

      os.system("notepad")

  elif "退出" in command:

      print("收到退出指令,程序结束!")

      exit()

  else:

      print("抱歉,我不知道如何执行这个指令!")

# 测试

execute_command("打开Excel")

运行后,电脑会根据你说的指令打开对应的程序。

3. 综合实现:语音识别 + 指令执行

接下来我们整合语音识别和指令执行,完成一个简单的语音助手。

示例代码:

import os

import speech_recognition as sr

def execute_command(command):

  if "打开Excel" in command:

      os.system("start excel")

  elif "打开记事本" in command:

      os.system("notepad")

  elif "退出" in command:

      print("程序结束!")

      exit()

  else:

      print("无法识别的指令,请重试!")

# 初始化语音识别器

recognizer = sr.Recognizer()

while True:

  with sr.Microphone() as source:

      print("请说出你的指令...")

      audio = recognizer.listen(source)

  try:

      # 识别语音

      command = recognizer.recognize_google(audio, language="zh-CN")

      print(f"识别到指令:{command}")

      # 执行指令

      execute_command(command)

  except sr.UnknownValueError:

      print("听不清楚,请再试一次!")

  except sr.RequestError:

      print("语音识别服务不可用,请检查网络!")

这个程序会持续监听你的语音指令,并执行相应操作。

注意事项:

程序会一直运行,直到你说“退出”。

如果识别不准确,可以通过增强麦克风输入质量或者调整环境噪音来优化。

4. 让语音助手更智能:加入更多功能

我们可以为语音助手添加更多实用功能,比如查询天气、设置提醒等。

查询天气示例

使用requests库调用在线天气 API:

import requests

def get_weather():

  city = "北京"  # 你可以通过语音指定城市

  api_url = f"http://api.weatherapi.com/v1/current.json?key=你的API密钥&q={city}"

  response = requests.get(api_url)

  if response.status_code == 200:

      data = response.json()

      print(f"{city}的天气:{data['current']['condition']['text']},温度:{data['current']['temp_c']}°C")

  else:

      print("无法获取天气信息,请稍后重试!")

小贴士:

在实际项目中,可以结合语音输入城市名称动态查询天气。

天气 API 比如 WeatherAPI 提供免费测试服务,记得注册获取密钥!

5. 小练习:动手打造属于你的语音助手

为语音助手添加更多指令,比如“打开浏览器”“播放音乐”等。

实现语音动态查询天气功能,并打印天气信息。

添加错误处理机制,比如对不支持的指令给出友好的提示。

结尾

小伙伴们,今天的Python学习之旅就到这里啦!祝大家学习愉快,Python学习节节高!

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O7lWAgN5Wn2S76x8BjZPPZVg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券