By Gray

音声認識で文字入力する技術は古くからありますが、まだまだ実用にはほど遠いという印象を持っている場合の方が多いはず。しかし、音声認識入力でキーボードよりも速くプログラミングすることは可能であることが判明しました。

Using Voice to Code Faster than Keyboard
http://ergoemacs.org/emacs/using_voice_to_code.html

このムービーはプログラミング言語「Python」の世界会議Python Conference 2013におけるプレゼンテーションで撮影されたもので、キーボードによるタイピングよりも速く音声認識入力によりプログラムがコーディングされていく様子がよく分かります。

Using Python to Code by Voice - YouTube


音声入力によるプログラムコーディングの様子をプレゼンテーションするのはTavis Ruddさん。


こちらはRuddさんの作業机の様子。ディスプレイとマイクがありますがキーボードは使っていないとのこと。


最初に「音声認識入力を試したことがある人は?」と尋ねます。「使ってみて楽しかった人は手を挙げたままで」と呼びかけるとみな手を下ろしてしまいます。


Ruddさんは2010年1月ころロッククライミングで肩と背筋を痛めてしまいタイピングができなくなったそうです。プログラマーだったRuddさんは仕事ができなくなってしまいます。


そんなとき「Dragon Naturally Speaking」を知り、音声入力ソフトの使用を開始。傷が治った後も、Ruddさんは音声入力によるプログラミングを続けたそうです。


Ruddさんは、独自に音声入力エディタをカスタマイズします。こちらがその音声コマンドの一例。例えば、マイクに向かって「slap」と発声すれば改行されます。よく見ると「L」と「R」の両方に対応した音声があることから、英語がネイティブに話せない人でも音声入力できるようにとの配慮がなされており、およそ2000個の音声コマンドが用意されています。


音声コマンド「snore(いびき)」でスリープモードになり「wake up」でスリープが解除されます。Ruddさんは、観衆に説明するためにsnoreとwake upを使いながらプログラミングしていきます。以下が音声入力により作られたプログラムのコード。


「今回のデモは時間が短いので複雑な機能については紹介できませんでした」とRuddさんはいいます。


「みなさんは文字入力にキーボードをお使いかもしれませんが……」


「私が使うのは、これ(マイク)です」とマイクを見せます。ちなみに音声入力を行うには、マイクはノイズキャンセリング機能を持つ高性能なものが必要だそうです。


Ruddさんは「音声認識ソフトはこれまで優秀な人々が時間をかけて開発してきたものでありこれからも開発は進んでいくことでしょう」と語ります。そして音声認識デバイスはこれから最盛期を迎えるとします。


すでに肩の傷も癒えてキーボード入力ができるようになったRuddさんですが、今後も作業時間の40%から60%の時間は音声入力でプログラミングしていくそうです。