2013年4月20日土曜日

端末を叩けば喋るLinuxというのもなかなか面白い

私が普段使っているLinux Mint 14をコマンドで喋る様にしてみた。と、言ってもLinux Mintの用意する機能でもないのだけど、Ubuntuとppaにあるバイナリーパッケージを利用すれば翻訳フリーですぐに遊べる。

  << apt-cache search jtalk                  
hts-voice-nitech-jp-atr503-m001 - Japanese male voice data for Open JTalk
open-jtalk - Japanese text-to-speech system
open-jtalk-mecab-naist-jdic - NAIST Japanese Dictionary for Open JTalk

これらjtalk周りのパッケージを導入すれば既に日本語の文字列を読み上げる準備が整う。

整うのだけれど、直接open_jtalkを叩くのはコマンドのオプションが多くてしんどいのでコマンドのラッパーを用意する。


シェルでエイリアスか関数を仕込めばコマンドを叩く度に喋るシェルになる。
ls(){ talk 坊やだからさ & ; /bin/ls $* ; }
楽しいけどわりとウザイ(*´ω`*)

今回作成した`talk`コマンドはUbuntuで「open-jtalk」日本語音声合成を使ってみるを参考にしつつ、キャッシュを設けたりgetoptsを仕込むなどして実用性を高めてみた。使い方はオプション無しで実行するかソースを見れば分かる。

また、open-jtalkを使ってみた。も参考に、
apt-add-repository ppa:kakurasan/unstable
するなどしてmei音声も導入すると声の選択肢が増えてより楽しめる。作成した`talk`コマンドでは手抜き実装ながら導入済みの声についても一覧、実行時のオプションでの切り替えに対応している。

随分と手軽に文字列のそれらしい読み上げ音声を作成できる良い時代になったヽ(´ー`)ノ

0 件のコメント:

コメントを投稿