JavaScriptでGoogleを使い音声読み上げ

Pocket

Google翻訳の機能を利用して音声合成をする方法について簡単にまとめます。
音声読上げについては以前にも紹介したことがありますが、英語のみでした。今回の方法は日本語もOKです。

「http://translate.google.com/translate_tts」に、tl(言語)とq(文字列)を指定し、Audioオブジェクトとして再生します。
次の例は英語で「Good morning」と読み上げます。

var obj;
obj = new Audio("http://translate.google.com/translate_tts?tl=en&q=Good+morning");
obj.play();

次の例は日本語で「Good morning」と読み上げます。
変数を使ってみました。
英語はかなり本物っぽいのですが、日本語は訛っているというか、何というか、改善の余地がありそうです。

var tl, q, obj, url;
tl = "ja";
q = "Good+morning";
obj = new Audio(url + "?tl=" + tl + "&q=" + q);
obj.play();

次の例は日本語で「おはようございます」を読ませます。
日本語の文字列はエンコードする必要があります。

var tl, q, obj, url;
tl = "ja";
q = encodeURIComponent("おはようございます");
url = "http://translate.google.com/translate_tts";
obj = new Audio(url + "?tl=" + tl + "&q=" + q);
obj.play();

サンプルを載せておきます。リンク先を開くといきなり音声が出ますので注意してください。
読み上げサンプル

2016年11月20日追記
Googleの仕様の変更で使えなくなったようです。

[ 2014年5月25日 | カテゴリー: JavaScript | タグ: , , ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報