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

用Python編程實(shí)現(xiàn)語(yǔ)音控制電腦

 更新時(shí)間:2014年04月01日 14:15:25   作者:  
是否經(jīng)常好萊塢電影里看強(qiáng)大的語(yǔ)音識(shí)別系統(tǒng)? 是否每每看到都會(huì)羨慕嫉妒恨? 可是我們真心買(mǎi)不起啊。

電腦面前的你,是否也希望能讓電腦聽(tīng)命于你?   當(dāng)你累的時(shí)候,只需說(shuō)一聲“我累了”,電腦就會(huì)放著優(yōu)雅的輕音樂(lè)來(lái)讓你放松。 或許你希望你在百忙之中,能讓電腦郎讀最新的NBA比分賽況….一切都是那么愜意。

在此告訴你,不要灰心,我們真的可以做一個(gè)。
做一個(gè)語(yǔ)音識(shí)別? 我相信很多人到這里會(huì)有兩個(gè)心態(tài),一是好奇,二是避之千里。

其實(shí)不然,你可以不用懂太多的編程技能,你甚至也可以不用懂自然語(yǔ)言處理技術(shù),這篇文章雖然實(shí)現(xiàn)了語(yǔ)音操控但是絕沒(méi)有你們想象的那么復(fù)雜。 如果僅僅把語(yǔ)音識(shí)別作為一個(gè)實(shí)現(xiàn)了的接口的話,剩下的邏輯就僅僅是IF-ELSE這些簡(jiǎn)單的元素了。


實(shí)現(xiàn)語(yǔ)音操控的原理

語(yǔ)音操控分為 語(yǔ)音識(shí)別和語(yǔ)音朗讀兩部分。

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

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

什么是SAPI?

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

準(zhǔn)備階段,你至少需要安裝以下的工具:

Python2.7    http://www.python.org/

強(qiáng)烈建詭使用2.7,至今Python2.7擁有Python系列為數(shù)最多的工具和應(yīng)用支持,同時(shí)也相對(duì)比較穩(wěn)定。

Win32Com  http://starship.python.net/~skippy/win32/Downloads.html


Python Win32增強(qiáng)工具,可以使Python調(diào)用WIN32COM接口,這個(gè)工具的出現(xiàn)使得Python變得無(wú)比強(qiáng)大

Speech.py    http://pypi.python.org/pypi/speech/

這個(gè)是極為精簡(jiǎn)的封裝模塊,此處為可選項(xiàng),當(dāng)然我不建議重復(fù)造輪子,還是下吧,目前只支持Python2.6,但不用灰心,Python2.6和Python2.7的代碼是兼容,不會(huì)有異常。

安裝過(guò)程請(qǐng)依至上而下的順序。

開(kāi)發(fā)階段

當(dāng)你安裝了上述的相關(guān)工具后,你就可以進(jìn)行開(kāi)發(fā)了:

先進(jìn)行一個(gè)簡(jiǎn)單的環(huán)境調(diào)試:

復(fù)制代碼 代碼如下:

whileTrue:
    phrase =speech.input()
    speech.say("You said %s"%phrase)
    ifphrase =="turn off":
        break


上述代碼是啟動(dòng)語(yǔ)音識(shí)別器,同時(shí)系統(tǒng)將會(huì)重復(fù)你所錄入的語(yǔ)音,當(dāng)遇到“turn off”時(shí),就會(huì)自動(dòng)關(guān)閉識(shí)別系統(tǒng)。
如果你通過(guò)測(cè)試無(wú)誤的話,我們就可以開(kāi)始進(jìn)行擴(kuò)展開(kāi)發(fā)了。

1. 定義中文語(yǔ)義庫(kù)

復(fù)制代碼 代碼如下:
closeMainSystem ="關(guān)閉人機(jī)交互"
openEclipse ="我要寫(xiě)程序"
listenMusic ="我好累啊"
blog ="看博客"
php ="php"
java ="JAVA"


2. 定義相關(guān)語(yǔ)義操作邏輯

復(fù)制代碼 代碼如下:
defcallback(phrase, listener):
    print(": %s"%phrase)
    ifphrase ==closeMainSystem:
        speech.say("Goodbye. 人機(jī)交互即將關(guān)閉,謝謝使用")
        listener.stoplistening()
        sys.exit()
    elifphrase ==openEclipse:
        speech.say("請(qǐng)問(wèn)您要寫(xiě)PYTHON還是JAVA程序?")
        speech.listenforanything(callback)
    elifphrase ==listenMusic:
        speech.say("即將為你啟動(dòng)豆瓣電臺(tái)")
        webbrowser.open_new("http://douban.fm/")
    elifphrase ==blog:
        speech.say("即將進(jìn)入Dreamforce.me")
        webbrowser.open_new("http://dreamforce.me/")
    elifphrase ==php:
        speech.say("啟動(dòng)PHP編寫(xiě)器")
        os.popen("E:\IDE\php_eclipse\eclipse\eclipse.exe")
    elifphrase ==php:
        speech.say("啟動(dòng)JAVA編寫(xiě)器")
        os.popen("E:\IDE\php_eclipse\eclipse\eclipse.exe")


其中,os.popen是異步開(kāi)啟程序,此操作不會(huì)單獨(dú)開(kāi)啟一個(gè)SHELL窗口,也不會(huì)阻塞當(dāng)前進(jìn)程。
speech.say() 是調(diào)用SAPI進(jìn)行參數(shù)朗讀。
webbrowser.open_new()是打開(kāi)網(wǎng)頁(yè)。

3.程序運(yùn)行主體搭建

復(fù)制代碼 代碼如下:
listener =speech.listenforanything(callback)
whilelistener.islistening():
     text =input()
     iftext =="不要語(yǔ)音了":
         listener.stoplistening()
         sys.exit()
     else:
         speech.say(text)

此段為運(yùn)行主體,大意是開(kāi)啟語(yǔ)音監(jiān)聽(tīng),同時(shí)支持終端輸入模式。如果你嗓子啞了的話,也可以打字來(lái)實(shí)現(xiàn),哈哈~~

相關(guān)文章

  • pandas map(),apply(),applymap()區(qū)別解析

    pandas map(),apply(),applymap()區(qū)別解析

    這篇文章主要介紹了pandas map(),apply(),applymap()區(qū)別解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Python中的shutil模塊使用詳解

    Python中的shutil模塊使用詳解

    這篇文章主要介紹了Python中的shutil模塊使用詳解,shutil庫(kù)作為os模塊的補(bǔ)充,提供了復(fù)制、移動(dòng)、刪除、壓縮、解壓等操作,這些 os 模塊中一般是沒(méi)有提供的,需要的朋友可以參考下
    2023-09-09
  • 詳解如何使用Python的Plotly庫(kù)進(jìn)行交互式圖形可視化

    詳解如何使用Python的Plotly庫(kù)進(jìn)行交互式圖形可視化

    Python中有許多強(qiáng)大的工具和庫(kù)可用于創(chuàng)建交互式圖形,其中之一就是Plotly庫(kù),Plotly庫(kù)提供了豐富的功能和靈活的接口,使得創(chuàng)建各種類(lèi)型的交互式圖形變得簡(jiǎn)單而直觀,本文將介紹如何使用Plotly庫(kù)來(lái)創(chuàng)建交互式圖形,需要的朋友可以參考下
    2024-05-05
  • python中的list 查找與過(guò)濾方法整合

    python中的list 查找與過(guò)濾方法整合

    這篇文章主要介紹了python中的list 查找與過(guò)濾方法整合,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Python自動(dòng)化處理日常任務(wù)的示例代碼

    Python自動(dòng)化處理日常任務(wù)的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何使用Python自動(dòng)化處理日常任務(wù),例如自動(dòng)化文件管理,自動(dòng)化定時(shí)任務(wù),自動(dòng)化發(fā)送郵件等,有需要的小伙伴可以參考一下
    2025-01-01
  • python發(fā)騰訊微博代碼分享

    python發(fā)騰訊微博代碼分享

    本文介紹了利用qwebview寫(xiě)的一個(gè)發(fā)騰訊微博的功能,大家可以改成新浪微博,原理是一樣的,大家參考使用吧
    2014-01-01
  • Python 新建文件夾與復(fù)制文件夾內(nèi)所有內(nèi)容的方法

    Python 新建文件夾與復(fù)制文件夾內(nèi)所有內(nèi)容的方法

    今天小編就為大家分享一篇Python 新建文件夾與復(fù)制文件夾內(nèi)所有內(nèi)容的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Python可視化函數(shù)plt.scatter詳解

    Python可視化函數(shù)plt.scatter詳解

    這篇文章主要介紹了Python可視化函數(shù)plt.scatter詳解,?關(guān)于matplotlib的scatter函數(shù)有許多活動(dòng)參數(shù),如果不專(zhuān)門(mén)注解,是無(wú)法掌握精髓的,本文專(zhuān)門(mén)針對(duì)scatter的參數(shù)和調(diào)用說(shuō)起,并配有若干案例,需要的朋友可以參考下
    2023-04-04
  • python中time.ctime()實(shí)例用法

    python中time.ctime()實(shí)例用法

    在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于python中time.ctime()實(shí)例用法內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)參考下。
    2021-02-02
  • 詳解Python之unittest單元測(cè)試代碼

    詳解Python之unittest單元測(cè)試代碼

    本篇文件主要介紹了詳解Python之unittest測(cè)試代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01

最新評(píng)論

康马县| 乌鲁木齐县| 晴隆县| 应城市| 卢湾区| 西乡县| 乡城县| 东兰县| 祁门县| 凌源市| 达州市| 苍溪县| 海林市| 庐江县| 扶绥县| 丰原市| 华宁县| 台南县| 襄垣县| 五原县| 长岭县| 商水县| 吉木萨尔县| 武隆县| 怀来县| 文安县| 无为县| 康平县| 青河县| 五常市| 巴中市| 广昌县| 娄烦县| 宁化县| 黔东| 汕头市| 固安县| 梧州市| 九龙县| 新安县| 阳曲县|