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

python之語音識別speech模塊

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

1.原理

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

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

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

2. 什么是SAPI?

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

代碼

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

#!/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()
 # 下面即為語音識別信息對應,打開響應操作
 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)用語音模塊時,遇見TypeError:NoneTypetakesnoarguments這種錯誤類型該如何解決

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

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

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

2.雙擊Pythonwin運行,然后選擇工具tools/commakepyutility

3.然后選擇MicrosoftSpeechObjectLibrary5.4,點擊OK鍵

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

后記

推薦一個不錯的語音識別文檔:http://www.fzitv.net/article/195212.htm

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

相關(guān)文章

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

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

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

    詳解分布式任務隊列Celery使用說明

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

    Python實現(xiàn)端口復用實例代碼

    這篇文章主要介紹了Python實現(xiàn)端口復用實例代碼,需要的朋友可以參考下
    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項目的docker鏡像里如何使用pdm管理依賴

    在python項目的docker鏡像里如何使用pdm管理依賴

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

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

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

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

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

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

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

    Python中datetime模塊參考手冊

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

最新評論

英德市| 清河县| 黄大仙区| 舒城县| 稻城县| 延津县| 衡南县| 遂宁市| 额敏县| 含山县| 东阿县| 湖口县| 大石桥市| 洞头县| 阿鲁科尔沁旗| 潼南县| 云南省| 博罗县| 方城县| 新泰市| 闻喜县| 深水埗区| 东光县| 台南市| 基隆市| 喀什市| 余庆县| 龙井市| 二手房| 丹江口市| 朝阳县| 德昌县| 青阳县| 内江市| 大宁县| 莒南县| 商洛市| 怀仁县| 南丹县| 高阳县| 分宜县|