用語言控制Linux:Linux的語音識別軟體(轉)
用語言控制Linux:Linux的語音識別軟體(轉)[@more@] 很久以來,與計算機進行交談一直是科幻小說慣用的故事情節,直到今天真正的交談也只有在小說中才能實現。但是在過去的十年中,語音識別軟體的發展速度非常迅速。目前,市面上出現了多種支援不同作業系統的語音識別控制軟體。也許許多人並沒有意識到Linux桌面系統也完全可以用聲音來控制,並且軟體開發人員們已經取得了一定的成果。下面我們就對Linux系統下的語音識別軟體進行分析概括,以便幫助大家瞭解其優勢和缺陷。 Linux上的語音識別軟體 Linux系統下的語音控制軟體可以為身患殘疾或由於過度使用計算機而患計算機綜合症的人提供使用Linux系統的機會。此前他們不得不改裝其它的作業系統,以獲得語音識別技術支援。即使不考慮特殊因素,普通人也可以透過使用語音識別軟體,使操作計算機變得更為簡單有趣。儘管本文對語音識別系統未來的發展趨勢深表憂慮(原因是它們並不能完全把手解放出來),但是它們的確可以分擔一部分手的工作。 目前已經有兩種套裝軟體中含有支援Linux系統的語音控制軟體。一種是IBM 開發的支援Linux的ViaVoice,它可以提供一些基本的語音識別功能;另一種是GPL下的Xvoice,它透過ViaVoice庫來為桌面系統和應用程式提供語音控制功能。 IBM 的Linux ViaVoice是美語版本,目前只在美國和加拿大銷售。它的售價大約是40美元,包括送貨費和一副耳機。使用者也可以從IBM的網站上下載ViaVoice,並可享受一定的價格優惠。新版本的ViaVoice在Mandrake 8.0 PowerPack和ProSuite中也可以找到。目前,Mandrake ViaVoice既可以支援英國英語,也可以支援美國英語、法語和德語。Mandrake 8.0以後的版本將不再包含ViaVoice。本文將著重介紹IBM ViaVoice的安裝和使用。 應用ViaVoice Linux ViaVoice需要機器的配置為:Pentium MMX 233以上的CPU、128MB的記憶體,以及16位的音效卡。實際上, ViaVoice是專門為Red Hat 6.2設計開發的,但是使用者在Red Hat 7.3環境和其它Linux版本中也可以正常地執行 ViaVoice。當然使用者也有可能在安裝過程中遇到一些問題。 在安裝ViaVoice語音識別軟體前,要首先安裝Java執行環境。ViaVoice 1.0和1.1版本是在JRE-1.2.2環境下進行測試的。使用正確的版本可以避免在不同JRE環境下的不相容。 JRE安裝完畢後,將安裝盤放入光碟機並執行根目錄下的vvsetup,然後再執行vvstartuser將自己設為ViaVoice使用者,並且設定好適當的音量,最後便是反覆練習,使軟體適應自己的聲音。切記安裝順序決不能顛倒。 “調教”ViaVoice 與其它語音識別軟體一樣,第一次安裝的ViaVoice並不能對使用者的聲音識別得十分準確。使用者必須對它進行一番“調教”,然後才能使它識別使用者的聲音。 “調教”ViaVoice的一種方法就是按照使用者手冊中的詞語反覆的朗讀。對於大多數使用者來說,這一點並不難,但是手冊中的詞語也許並不是使用者經常用到的,因此這個方法的效率並不是很高。 比較好的方法是在工作時利用ViaVoice的Dictation應用軟體。它是用Java語言寫成的。當使用者進行口述時,一些詞語也許不能被正確識別,當這種情況發生時,使用者可以使用Dictation中的適當工具對其進行修改。這樣ViaVoice便可以對識別工具進行修正,以便更精確地識別使用者的聲音。這種方法也許會花費較多的力氣,但是類似的修改可以用語音命令來完成。不過請注意隨時存檔,因為Dictation並不十分穩定。 曾經有一位專家說,目前的語音識別軟體只要經過10到60小時的“調教”,便可以達到98%的正確率。但是到目前為止,對Linux環境下的 ViaVoice進行測試的結果是,它的正確率只有92%到95%,絕大多數的語音命令都可以被正確識別。即使使用者只花費幾個小時進行練習,也可以發現 ViaVoice的正確率明顯提高。不過使用者在使用時要特別注意,詞語的發音、麥克風的質量和周圍環境都會影響語音識別的正確率。 XVoice控制Linux桌面 當使用者完成ViaVoice的安裝並訓練了一段時間後,便可以安裝Xvoice了。Xvoice的作用是對桌面系統及應用軟體進行控制。 ViaVoice則沒有這些功能。使用者可以到xvoice.sourceforge.net去下載Xvoice軟體,注意一定要事先安裝RPM,因為源程式需要Linux SDK中的ViaVoice中斷執行。 安裝完成後,在最後出現的視窗中輸入xvoice m,注意不要執行Dictation。這時使用者可以做一個簡單的測試,口述命令“下一視窗”,桌面上應該出現另一個視窗。 Xvoice允許使用者事先設定好一些操作的口述命令。一套口述命令被稱為一個語法組。語法組可以與確定的應用程式、視窗或者應用程式中的某一模組聯絡在一起,也可以由上下文產生。由口述命令呼叫的操作可以包括敲鍵盤、滑鼠事件、執行外部命令或三者的任意結合。 Xvoice使用ViaVoice語音庫來識別命令和常規文字。xvoice.xml配置檔案可以對命令進行定義。Xvoice使用標準的配置檔案,其位置是/usr/share/xvoice/xvoice.xml。當然使用者也可以對其位置進行修改,例如可以改為 ~/.xvoice/xvoice.xml。 Xvoice的視窗可以顯示哪一個命令語法是被擊活的,並且視窗中還包括一個皮膚可以顯示最近口述的命令。如果Xvoice認為使用者口述的一些詞語與某個命令十分相似難以識別,那麼在皮膚中顯示的這一命令將是灰色的,以便提醒使用者,並且這條命令不會被執行。 對於任何應用程式視窗,Xvoice都有4種不同的狀態。在命令模式下,Xvoice只對命令進行識別;在聽寫模式下,Xvoice不識別特定的應用程式命令,只是顯示出它能識別的詞語;在空閒模式下,只有一般命令可以被識別;最後,在命令和聽寫模式下,口述詞語和命令都可以被識別,這時使用者需要在命令的前後稍加停頓,以便與文字相區別。 當使用者第一次執行某一應用程式時,Xvoice會自動啟動命令模式。如果使用者想同時開啟聽寫模式,只需要說“聽寫模式”便可以了;如果想關閉聽寫模式,也只需要說“停止聽寫模式”就萬事大吉了。 當然,最好的方法是將Xvoice視窗置於系統的視窗管理器中,這樣你就可以隨時瞭解它的工作情況了。如果你想在開機時便自動執行Xvoice,只要將xvoice m 放入視窗管理器的啟動程式中就行了。 聲控應用程式 下面來看一看如何為應用程式定義語法。首先,將要定義語法的軟體定義為一個可讀的名字,然後為程式的視窗命名一個語句,這樣Xvoice便可以識別哪個語法命令是要啟用的。在第一行,可以看到一個特殊的固定應用程式名,而它並不是視窗標題。這一特殊的應用程式名必須上下文統一。 應用程式的標籤中包含有聽寫屬性。如果條件為真,則首次執行語句時,Xvoice自動進入聽寫模式。語句的第二行包含有一些在< define name='numbers'>區中已經定義過的值。使用者可以在定義區中自行定義標記,並應用於整個配置檔案中。 語句的第3行舉例說明定義區內可以包含的內容,而這裡的命令標記只能在本命令範圍內使用。這一行的主要作用是透過語音命令各自的箭頭鍵將彼此互聯絡起來。當執行命令時,系統會將語音命令與相應的鍵盤命令對應起來。語音命令的識別轉換過程從第4行語句開始。第4行到第8行都是與鍵盤操作相關的語句,與滑鼠相關的語句在第9行到第15行,第16行到第22行是與其它應用程式相關的命令語句,第23行是結束行。 透過對個人配置檔案的編輯,使用者幾乎可以自動完成過去需要鍵盤和滑鼠才能完成的所有操作過程。許多普通應用軟體的語法組,事先已經包含在預設的配置檔案中了,成為使用者良好的範例。 語音識別的發展 Xvoice無法控制一些特殊的應用軟體和一些主流遊戲軟體。對於一些諸如GIMP和Netscape軟體來說,雖然Xvoice可以對其進行控制,但是由於此類軟體需要大量的滑鼠操作,使用者會對用語音控制滑鼠感到十分厭煩。 雖然語音識別軟體對於大多數命令和一般的文字都可以正確地識別,但是在某些情況下,即使是一個微小的錯誤也是不允許。語音軟體的使用者必須使自已的聲音保持穩定。 另外,雖然XVoice 和ViaVoice可以完成大量的工作,但是使用者卻無法透過聲音控制整個Linux桌面環境。 IBM公司已經發布了新的ViaVoice,但是隻支援Mac 和Windows,未來是否能支援Linux目前尚不確定。Xvoice的開發人員們正在努力尋找一種能支援開放系統的替代產品,而不希望再為Xvoice增加新的功能了
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-944438/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaScript的語音識別JavaScript
- 語音識別模型模型
- 5 款不錯的開源語音識別/語音文字轉換系統
- Linux-C語言LinuxC語言
- Linux 檢視設定系統語言(轉)Linux
- 語音識別技術
- 語音情感識別--RNNRNN
- 文字轉語音軟體 VPot v2411
- 快商通首席科學家:語音識別的後半段路,從語言處理走向語言理解
- IJCAI 2018 利用跨語言知識改進稀缺資源語言命名實體識別AI
- 用Go語言寫HTTP中介軟體GoHTTP
- 語音翻譯軟體怎麼用?怎麼實現語音的翻譯
- 樹莓派語音互動--語音輸入識別樹莓派
- 用python呼叫百度語音識別api批量處理本地語音檔案PythonAPI
- 用於影像識別的五大最佳程式語言!
- 語音識別技術有哪些應用場景?
- Swift-語音識別、翻譯Swift
- Python語音識別終極指南Python
- 人工智慧 (08) 語音識別人工智慧
- ASR-使用whisper語音識別
- 谷歌再獲語音識別新進展:利用序列轉導來實現多人語音識別和說話人分類谷歌
- 語音轉文字工具,語音轉文字怎樣轉?
- C語言-識別符號命名C語言符號
- SpeechRecognition麥克風語言識別
- soj-1001. NFA識別語言
- Kali Linux 2020.1修改系統語言Linux
- Linux核心C語言將升級LinuxC語言
- Linux核心加入了Rust語言支援LinuxRust
- 怎麼關閉win10語音識別 win10如何關閉電腦的語音識別Win10
- 分享一個自然語言漢語時間語義識別的工具類
- 什麼是linux?學習linux需要什麼語言?Linux
- 什麼是linux?Linux需要學習什麼語言?Linux
- Linux下C語言編譯的問題LinuxC語言編譯
- C語言的隱式型別轉換C語言型別
- SQL語言基礎(資料控制語言)SQL
- 概念區別 【編譯型語言與解釋型語言、動態型別語言與靜態型別語言、強型別語言與弱型別語言】編譯型別
- 語言型別介紹及其Python的語言型別型別Python
- 人工智慧之語音識別(ASR)人工智慧
- [譯] 使用 WFST 進行語音識別