首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >python知识点100篇系列(12)-使用windows自带的模块实现语音识别

python知识点100篇系列(12)-使用windows自带的模块实现语音识别

原创
作者头像
JQ实验室
发布2024-09-26 07:52:22
发布2024-09-26 07:52:22
6960
举报
文章被收录于专栏:实用技术实用技术
使用SAPI实现语音识别:

开发运行环境: win10 64位

Python版本:3.8

使用模块: speech

基础知识:

什么是SAPI?

SAPI是微软Speech API , 是微软公司推出的语音接口,而从WINXP开始,系统上就已经有语音识别的功能了;

Speech模块:

该模块的主要功能有:语音识别、将指定文本合成语音以及语音信号输出等。

安装Speech模块

  • 安装方式推荐有很多种,推荐使用pip;

pip 是 Python 的包安装程序。其实,pip 就是 Python 标准库(The Python Standard Library)中的一个包,只是这个包比较特殊,用它可以来管理 Python 标准库(The Python Standard Library)中其他的包。pip 是一个命令行程序。 安装 pip 后,会向系统添加一个 pip 命令,该命令可以从命令提示符运行。

安装完pip,添加到环境变量后,就可以使用pip命令安装第三方模块

  • 安装speech模块命令:pip install speech
在这里插入图片描述
在这里插入图片描述

目前speech的最新版本是0.5.2

  • 修改speech源码

因为这个智能语音模块依赖的是Python2.7版本的,而机器上目前的版本是python3.8,所以直接使用会报错,需要修改源码;

修改三个地方:

  • 59行 import thread 改成 import threading mythread = threading.Thread(target=loop) mythread.setDaemon(True) mythread.start()
  • 157行 print prompt 改成 print(prompt)
  • 最后一行 _eventthread = thread.start_new_thread(loop, ()) 修改为
  • 编码实现:

使用speech.input() 接收语音并返回文字

使用speech.say() 播放语音

以下代码实现了通过语音识别到的信息,执行不同的操作:

代码语言:python
复制
import speech
import os

while True:
    say = speech.input() # 接收语音
    print(say)
    #speech.say("you said:"+say) #说话
    if 'hello' in say:
        speech.say("How are you?")
    elif say == "你好":
        speech.say("你也好!")
    elif '恐龙' in say:
        os.system('python xiaokonglong.py')
    elif '小猪' in say or '小朱' in say:
        os.system('python xiaozhupeiqi.py')
注意

此代码只支持windows系统,在第一次运行时,会先调起windows设置语音识别功能的配置;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 使用SAPI实现语音识别:
  • 基础知识:
  • 注意
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档