通過語音識別來程式設計 速度遠超鍵盤

csdn發表於2013-08-15

  近日網上流傳了著一段2013 Python大會上的演講視訊。該視訊展示了語音編碼過程,且速度比一般開發者通過鍵盤編碼速度更快。

通過語音識別來程式設計 速度遠超鍵盤

視訊中Tavis Rudd通過語音識別來編寫程式( 點選觀看視訊

  該視訊中的概要內容是:

兩年前,我患上了重複性勞損(RSI),十分嚴重,最後導致我的手開始麻木。我無法工作,無法再敲擊鍵盤。絕望之際,我開始嘗試語音識別。起初,通過語音程式設計慢得讓人難受。但畢竟無法打字,我一直忍受著。在以後的幾個月裡,我不斷地進行詞彙調整,使用Python和Emacs Lisp進行語音編碼,最終我開發了一個系統,它可以幫助我通過語音程式設計,相比我之前用手程式設計更快、更高效。

在短暫的現場演示中,我將用Python來建立一個小系統,為了取得更好的效果,我還會用一些其他語言,同時對其進行部署的過程中,不會觸碰鍵盤。通過該演示,我希望讓你確信,語音識別不再是殘疾人的“柺杖”。現在它是非常高效的工具,所有開發人員可從中獲利。

  通過該視訊,我們可總結出以下幾點內容:

  • 他在Windows作業系統中使用 Dragon NaturallySpeaking(Amzon)語音識別軟體。(他表示無法使用Linux CMU Sphinx。)(他用的是Mac電腦,顯然他是在虛擬機器上執行的Windows作業系統。)
  • Dragon利用Python進行程式設計,於是他學習了Python,同時也學習了Python語音識別擴充套件庫DragonFly(由Christo Butcher編寫)。所以現在他可以定義自己的語音命令(如鍵入、移動游標到程式碼中的某個位置……等等)。
  • 他創造了很多短小特殊/獨一無二的短語,依靠它們可以做很多事,如返回插入行,變換Emacs緩衝區,啟動終端等等。所以,當他語音程式設計時,你會聽到“twip,chirp,slap,derp……”,十分有趣。
  • 他有大約2000個個人命令。
  • 他表示,他的系統是在Vim、Emacs中完成的。(在演示中,好像只使用了Emacs。)
  • 他證明了在他開發的系統中用Emacs Lisp、Python在Emacs中編碼的過程。它比普通程式設計師用鍵盤程式設計更快、更高效。
  • 開發該系統,耗時3~6個月。
  • 現在他的重複性勞損已完全康復,但他表示仍在使用他的語音系統進行程式設計,大約佔到總時間的40%~60%。
  • 他表示,將在未來的4個月內釋出他的程式碼。大家可以在Twitter(@tavisrudd)、GitHub上關注他。

  他所推薦使用的麥克風是昂貴的Amzon Audix OM-7 Microphone。

  Windows 7中自帶有一個語音功能:微軟語音識別系統。正常語速下,它可以出色地工作,但無法進行程式設計。它可以正常工作於普通Windows應用中,尤其是微軟的應用程式,如Office,卻無法工作於Emacs中。

  英文來源:Xah Emacs Blog

相關文章