最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python之語音識別speech模塊

 更新時(shí)間:2020年09月09日 09:07:56   作者:uniquefu  
這篇文章主要介紹了python之語音識別speech模塊,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1.原理

語音操控分為 語音識別和語音朗讀兩部分。

這兩部分本來是需要自然語言處理技能相關(guān)知識以及一系列極其復(fù)雜的算法才能搞定,可是這篇文章將會(huì)跳過此處,如果你只是對算法和自然語言學(xué)感興趣的話,就只有請您移步了,下面沒有一個(gè)字會(huì)講述到這些內(nèi)容。

早在上世紀(jì)90年代的時(shí)候,IBM就推出了一款極為強(qiáng)大的語音識別系統(tǒng)-vio voice , 而其后相關(guān)產(chǎn)品層出不窮,不斷的進(jìn)化和演變著。 我們這里將會(huì)使用SAPI實(shí)現(xiàn)語音模塊。

2. 什么是SAPI?

SAPI是微軟Speech API , 是微軟公司推出的語音接口,而細(xì)心的人會(huì)發(fā)現(xiàn)從WINXP開始,系統(tǒng)上就已經(jīng)有語音識別的功能了,可是用武之地相當(dāng)之少,他并沒有給出一些人性化的自定義方案,僅有的語音操控命令顯得相當(dāng)雞脅。 那么這篇文章的任務(wù)就是利用SAPI進(jìn)行個(gè)性化的語音識別

代碼

前提:打開win7的語音自動(dòng)識別(控制面板--輕松訪問--語音識別)

#!/usr/bin/env python
# -*- codinfg:utf-8 -*-
'''
@author: Jeff LEE
@file: .py
@time: 2018-07-19 11:15
@desc:
'''
from win32com.client import constants
import os
import win32com.client
import pythoncom
 
speaker = win32com.client.Dispatch("SAPI.SPVOICE")
 
 
class SpeechRecognition:
 def __init__(self, wordsToAdd):
 self.speaker = win32com.client.Dispatch("SAPI.SpVoice")
 self.listener = win32com.client.Dispatch("SAPI.SpSharedRecognizer")
 self.context = self.listener.CreateRecoContext()
 self.grammar = self.context.CreateGrammar()
 self.grammar.DictationSetState(0)
 self.wordsRule = self.grammar.Rules.Add("wordsRule", constants.SRATopLevel + constants.SRADynamic, 0)
 self.wordsRule.Clear()
 [self.wordsRule.InitialState.AddWordTransition(None, word) for word in wordsToAdd]
 self.grammar.Rules.Commit()
 self.grammar.CmdSetRuleState("wordsRule", 1)
 self.grammar.Rules.Commit()
 self.eventHandler = ContextEvents(self.context)
 self.say("Started successfully")
 def say(self, phrase):
 self.speaker.Speak(phrase)
 
class ContextEvents(win32com.client.getevents("SAPI.SpSharedRecoContext")):
 def OnRecognition(self, StreamNumber, StreamPosition, RecognitionType, Result):
 newResult = win32com.client.Dispatch(Result)
 print("你在說 ", newResult.PhraseInfo.GetText())
 speechstr=newResult.PhraseInfo.GetText()
 # 下面即為語音識別信息對應(yīng),打開響應(yīng)操作
 if speechstr=="記事本":
  os.system('notepad') 
 elif speechstr=="寫字板":
  os.system('write')
 elif speechstr=="畫圖板":
  os.system('mspaint')
 else:
  pass
 
if __name__ == '__main__':
 
 speaker.Speak("語音識別開啟")
 wordsToAdd = ["記事本", "寫字板","畫圖板",]
 speechReco = SpeechRecognition(wordsToAdd)
 while True:
 pythoncom.PumpWaitingMessages()

  調(diào)試遇到問題

python調(diào)用語音模塊時(shí),遇見TypeError:NoneTypetakesnoarguments這種錯(cuò)誤類型該如何解決

報(bào)錯(cuò)的原因是:不能調(diào)用語音開發(fā)包

解決方法:(如果你已經(jīng)安裝了pyWin32,它也安裝了PythonWin)

1.在python35目錄中找到pythonwin文件夾下的pythonwin.exe

2.雙擊Pythonwin運(yùn)行,然后選擇工具tools/commakepyutility

3.然后選擇MicrosoftSpeechObjectLibrary5.4,點(diǎn)擊OK鍵

4.運(yùn)行結(jié)果如下,問題解決

后記

推薦一個(gè)不錯(cuò)的語音識別文檔:http://m.fzitv.net/article/195212.htm

到此這篇關(guān)于python之語音識別speech模塊的文章就介紹到這了,更多相關(guān)python 語音識別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 1 行 Python 代碼快速實(shí)現(xiàn) FTP 服務(wù)器

    1 行 Python 代碼快速實(shí)現(xiàn) FTP 服務(wù)器

    FTP 服務(wù)器,在此之前我都是使用Linux的vsftpd軟件包來搭建FTP服務(wù)器的,現(xiàn)在發(fā)現(xiàn)了利用pyftpdlib可以更加簡單的方法即可實(shí)現(xiàn)FTP服務(wù)器的功能。下面小編給大家?guī)砹? 行 Python 代碼快速實(shí)現(xiàn) FTP 服務(wù)器,需要的朋友參考下
    2018-01-01
  • 詳解分布式任務(wù)隊(duì)列Celery使用說明

    詳解分布式任務(wù)隊(duì)列Celery使用說明

    這篇文章主要介紹了詳解分布式任務(wù)隊(duì)列Celery使用說明,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • Python實(shí)現(xiàn)端口復(fù)用實(shí)例代碼

    Python實(shí)現(xiàn)端口復(fù)用實(shí)例代碼

    這篇文章主要介紹了Python實(shí)現(xiàn)端口復(fù)用實(shí)例代碼,需要的朋友可以參考下
    2014-07-07
  • Python中Json使用示例詳解

    Python中Json使用示例詳解

    這篇文章主要介紹了Python中Json使用,主要介紹一下python?中?json的使用?如何把dict轉(zhuǎn)成json?、object?轉(zhuǎn)成json?、以及json轉(zhuǎn)成對象,需要的朋友可以參考下
    2022-07-07
  • Python基于Matplotlib庫簡單繪制折線圖的方法示例

    Python基于Matplotlib庫簡單繪制折線圖的方法示例

    這篇文章主要介紹了Python基于Matplotlib庫簡單繪制折線圖的方法,涉及Python Matplotlib庫的相關(guān)使用技巧,需要的朋友可以參考下
    2017-08-08
  • 在python項(xiàng)目的docker鏡像里如何使用pdm管理依賴

    在python項(xiàng)目的docker鏡像里如何使用pdm管理依賴

    在 DjangoStarter 項(xiàng)目中,我已經(jīng)使用 pdm 作為默認(rèn)的包管理器,不再直接使用 pip,所以部署的時(shí)候 dockerfile 和 docker-compose 配置需要修改一下,這篇文章主要介紹了在python項(xiàng)目的docker鏡像里使用pdm管理依賴,需要的朋友可以參考下
    2024-08-08
  • Python3 Tkinkter + SQLite實(shí)現(xiàn)登錄和注冊界面

    Python3 Tkinkter + SQLite實(shí)現(xiàn)登錄和注冊界面

    這篇文章主要為大家詳細(xì)介紹了Python3 Tkinkter + SQLite實(shí)現(xiàn)登錄和注冊界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • 基于python實(shí)現(xiàn)微信好友數(shù)據(jù)分析(簡單)

    基于python實(shí)現(xiàn)微信好友數(shù)據(jù)分析(簡單)

    本文主要介紹利用網(wǎng)頁端微信獲取數(shù)據(jù),實(shí)現(xiàn)個(gè)人微信好友數(shù)據(jù)的獲取,并進(jìn)行一些簡單的數(shù)據(jù)分析,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-02-02
  • Python異步操作MySQL示例【使用aiomysql】

    Python異步操作MySQL示例【使用aiomysql】

    這篇文章主要介紹了Python異步操作MySQL,結(jié)合實(shí)例形式分析了Python安裝及使用aiomysql針對mysql數(shù)據(jù)庫異步操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-05-05
  • Python中datetime模塊參考手冊

    Python中datetime模塊參考手冊

    Python處理時(shí)間和日期方面的模塊,主要就是datetime、time、calendar三個(gè)模塊的使用。下面這篇文章主要給大家介紹的是Python中的datetime模塊,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01

最新評論

新闻| 镇远县| 文安县| 陆丰市| 米脂县| 大姚县| 平潭县| 江山市| 景泰县| 广饶县| 凭祥市| 疏附县| 明溪县| 永康市| 姜堰市| 安塞县| 宁夏| 湖北省| 逊克县| 宁都县| 宿松县| 石城县| 娱乐| 乌兰县| 社旗县| 邢台县| 乐至县| 淳安县| 垣曲县| 新邵县| 道真| 廉江市| 桐城市| 什邡市| 武清区| 菏泽市| 会泽县| 泗洪县| 连平县| 师宗县| 永登县|