首先需要安装speech库,然后运行如下代码:

import speech

while True:
    say=speech.input() # 接收语音
    speech.say("you said:"+say) #说话
    
    if say=="你好":
        speech.say("How are you?")
    elif say=="天气":
        speech.say("今天天气晴!")

人机语音交互
  你说英语的话它不容易识别出来,但是中文却识别的很好,可能是计算机语言是简体中文。
  python3版本使用过程中可能有如下问题:
问题一:报错"Missing parentheses in call to ‘print’. Did you mean print(prompt)?"
  Python3应该是print(prompt),即print后要加括号。

人机语音交互
问题二:报错 No module named ‘thread’
  这个问题的原因是python2里对应的thread,在python3里改名了,前面加了一个_,_thread才对。直接ctrl+f,找到thread的位置,加_就好了。

问题三:No module named ‘win32com’
  模块win32com安装请见:

  上述三个问题解决就可以成功运行代码了。
  第一次启用,语音识别会有设置向导。
人机语音交互
人机语音交互
人机语音交互
人机语音交互
人机语音交互
  以上就完成了人工语音交互的基本设置,赶紧解放双手,语音控制电脑吧。

  当然,你可以自建命令,毕竟系统自带的命令功能有限。(深度学习)

import speech
import win32api
import os
import sys
import time
import win32con
command1 = {'关机': 'shutdown -s -t 1',
             '重启': 'shutdown -r',
             '关闭浏览器': 'taskkill /F /IM chrome.exe',
             'google一下': 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe',
             '关闭QQ': 'taskkill /F /IM QQ.exe',
             '关闭wifi': 'taskkill /F /IM kwifi.exe',
             '关闭音乐': 'taskkill /F /IM cloudmusic.exe',
             '打开音乐': 'D:\\网易云音乐\\CloudMusic\\cloudmusic.exe',
             '放首歌': 'D:\\网易云音乐\\CloudMusic\\cloudmusic.exe',
             '打开摄像头': 'D:\\Python源码\\摄像头监控.py',
             '打开监控': 'D:\\Python源码\\winSpyon.py',
             '打开QQ': 'D:\\腾讯QQ\\Bin\\QQ.exe',
             '开启wifi': 'D:\\Chrome\\kwifi\\kwifi.exe',
             '连接校园网': 'C:\\Drcom\\DrUpdateClient\\DrMain.exe',
             '打开ss': 'D:\\代理服务器\\Shadowsocks-win-dotnet4.0-2.3\\Shadowsocks.exe',
             '打开pycharm': 'D:\\PyCharm\\PyCharm 4.0.4\\bin\\pycharm64.exe',
             '关闭pycharm': 'taskkill /F /IM pycharm.exe',
             '打开everything': 'D:\\Chrome\\Everything\\Everything.exe',
             '关闭everything': 'taskkill /F /IM everything.exe',
              }
speech.say('语音识别已开启 ')
while True:
    phrase = speech.input()
    if phrase in command1.keys():
        speech.say('即将为您%s' %phrase)
        os.system(command1[phrase])
        speech.say('任务已完成!')
        if phrase == '放首歌':
            speech.say('30秒后将播放音乐!')
            time.sleep(35)
            win32api.keybd_event(17, 0, 0, 0)
            win32api.keybd_event(18, 0, 0, 0)
            win32api.keybd_event(32, 0, 0, 0)
            win32api.keybd_event(32, 0, win32con.KEYEVENTF_KEYUP, 0)
            win32api.keybd_event(18, 0, win32con.KEYEVENTF_KEYUP, 0)
            win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)
    if phrase == '退出程序':
         speech.say('已退出程序,感谢使用!')
         sys.exit()

相关文章: