1年前に購入したHT-03Aからの機種変更になる。Androidのバージョンは1.6から2.2となり、性能は格段に良くなった。この1年での技術の進歩には驚かされる。SでSL4Aが利用できるかは気になるところだが、実は購入する前に既に動作することを確認していたので、その点については心配なかった。SL4Aが使えなかったら、多分購入しなかったと思う。この新しいAndroid機を使って、SL4AのPythonで日本語を喋らせてみることにした。英語であればttsSpeakのAPIを使えば一発なのだが漢字かな混じりの日本語では簡単には行かない。デベロッパーネットワークの日本語形態素解析を使うことにした。これなら助詞の「は」も「わ」という発音であることがわかるし、後々、応用が効くだろう。作成したソースコードは最後に示してあるが、短いコードで簡単に実装できた。使い方も簡単で、入力ダイアログから喋らせたい文章を入力するだけだ。Soupで解析している。取得した平仮名をその発音に近い英語に直すだけだ。ローマ字に置き換えるだけでは日本語として正しく発音されないので、適当にいじってある。Projectなどを利用して、ちゃんとした日本語を喋らせるようにしたほうが良いのだろうけど、形態素解析を使ってみたかったし、英語を無理やり日本語にするところも面白かったので、今回はこれで良しとした。自分が楽しめないとね。例によって、このプログラムを使って子供相手に遊んでみた。元の文章を知っていれば問題なく聞き取れるのだが、知らないと思ったよりも聞き取れないことを逆手に取って、何を喋っているかを当てるゲームをしてみた。こんな単純なことなのだが、子供たちは思いのほか楽しんでいたようだ。インチキ外国人ぽい雰囲気が面白いらしい。作成したソースコードは以下の通り。retdroid=android.Android()text=droid.dialogGetInput(u'日本語を喋ります',u'何を喋らせますか?').result.strip()droid.ttsSpeak(get_keitaiso(text))droid.makeToast(text)インチキ外国人なら喋る内容もインチキっぽくしようと思い付いたので、入力した文章をGoogleの翻訳APIで英訳し、それをまた和訳するという処理を挟んでみた。」と入力したら「最高のお問い合わせください。これはジョークプログラムにしかならないけど、形態素解析を利用した人工無脳に仕立て上げたりするのも楽しいかもしれない。上記のspeak_ja.pyに以下の赤で示したコードを追加すればいい。data['responseData']['translatedText']droid=android.Android()text=droid.dialogGetInput(u'日本語を喋ります',u'何を喋らせますか?').result.strip()text=translator(translator(text,'ja','en'),'en','ja')droid.ttsSpeak(get_keitaiso(text))droid.makeToast(text)投稿者nox時刻:1:19ラベル:Android,Python,プログラミング2コメント:匿名さんのコメント...今なら日本語しゃべらせるAPI使えますよ。14:33noxさんのコメント...情報ありがとうございます。NetVOCALOIDで喋らせることができるのですね。JaTTSのようなライブラリもあるのですが、今回は既存のttsSpeakを使ったお遊びということでご了承ください。Engineメッセージボード*当ブログに関する意見や要望などにお使いください。Googleアカウントでログインすることで書き込みができます。Twitterへの送信を同時に行うこともできます。ストリートビューで散歩*Googleマップのストリートビューを利用して散歩をするWebアプリです。ストリートビューとマップを分割してマーカーを視界タイプに変更することで使いやすくしてあります。APIを利用したグラフ・チャート作成ウェブアプリです。クリック一つで簡単にグラフを作成できます。ブログ記事への貼り付けなどにどうぞ。OpenIDテスト*OpenIDによるログインのテストを行います。mixiであればクリック一つで、他のOpenIDアカウントであればそのURLを入力することでテストできます。一言コメント表示機能付きです。HTML文字変換*テキストで使われているHTML特殊文字をウェブで表示できるようにするための文字変換ウェブアプリです。プログラムのソースコードなどをブログ記事に貼り付けるときなどに便利です。短縮URLチェッカー*フィッシングサイト判別機能付き短縮URLチェッカーです。テキストボックスに変換したいURLを入力すればbit.lyの短縮URLが表示され、bit.lyの短縮URLを入力すればもとのURLが表示されます。展開されたURLがリンク付きで表示されますが、もしフィッシングサイトの疑いがある場合は警告が表示されます。Trendsの急上昇ワードをランキング順に表示します。Googleでのキーワード・画像検索やWikipediaによる用語の説明もあります。※GoogleがAPIの提供を終了したため、現在停止中です。自己紹介noxゲームを楽しむだけの余裕と感性は失いたくないnoxです。