「今日はこれぐらいにしといたるわ」
昨日社内でお披露目したWebサービスに在宅勤務の社員から予想外の酷評が。え、どういうことと思って確認すると、なんと、Macだとこちらが思っているのと違うというかあまりよろしくない状態になってるじゃあ〜りませんか。
社内限定で公開したのはWebSpeechAPIを使って英語や日本語のテキストをブラウザに喋らせてしまおうというページです。分割したテキストファイルを連続で読んだり途中で止めて再開したり、ページを閉じてもCookieに記録を残して次回開いた時に前回のところから再開できたり。読み上げているファイルがどれなのかわかりやすく表示したり、おまけで読み上げ速度を変更したり。javascriptなのでスクリプトが丸見えということは読み上げに使うテキストファイルも丸見えです。そこの暗号化が次の山だなと会社向けに公開した段階では思っていました。
月曜の夜、家に帰って家事やら食事やらを片付けた後は日本語英語以外の言語の再生に挑戦です。ところがこれがうまくいかない。どうやっても日本語訛で読み上げるのです。そういえば英語の文章も最初はベタベタの日本語訛で読み上げていました。それは言語を指定することで解決できたのですが、日本語と英語以外の場合はもっと複雑な操作が必要になります。これを解決しない限り先に進むのは難しいなあ。
結局、月曜の夜と火曜の朝では解決できず。これが最大の山なのかと思いつつ出勤。通勤途中の電車内でもスマホで延々検索です。どうしたら解決できるのだろうか。
そういう状態で会社に着いてから今朝作業していたファイルを確認したら、なんと英語日本語以外の指定も効いてるじゃないですか。自然な感じでの音声読み上げに成功です。でも、途中でブツッと切れるのはなぜ? でも、これでいけるならイギリス英語とかオーストラリア英語とかインド英語の指定もできるじゃん。急いで試してみたらイギリス英語はいけました。すごい、すごいよ。
とか、そんな感じでやや浮かれていたところでの酷評でした。英語のAI音声、下手したら聞き分けられないぐらい自然な感じなんだけど、なんで?
そこから改めて調べて衝撃の事実が判明しました。Macだと英語の読み上げも日本語訛になってしまうのです。というか、WebSpeechAPIはブラウザやOSの言語機能と音声読み上げ機能を使うらしいのですが、Macだとjavascriptで英語を指定しても日本語読み上げ音声の「kyoko」が使われてしまうため、英語もベタベタの日本語訛で読んでしまうのだそうです。
なんでだよ。
どういうことだよ。
Mac許さじ。
昔からMacには痛い目にあわされっぱなしです。いちおう仕事でMacを使う機会もあるので仕方なく触っていますが、マジ腹立つわ〜。あまりに腹が立ちすぎて家で使っているパソコンはMacでもWindowsでもないChromebookです。Chromebook、サイコーッ!
この土日に盛り上がって、その勢いでそのまま突っ走るかと思った今回のWeb制作ですが、残念ながらこの辺で自分の技術力としては限界です。名残惜しくはありますが、「今日はこれぐらいにしといたるわ」という感じ。
次の月曜日は祝日なので三連休です。
そこで捲土重来かなあ。
どうかなあ。
それにしても、残念ながら一般公開にまでは辿り着けそうにないものの、ブラウザのAPIをがっつり触るという意味ではとてもいい勉強になりました。今回は音声合成(TTS)でしたが、音声認識も気になっています。そっちも先日ちょろっと触ったら思った以上に認識率が高くて驚きました。昨今のAIの急激な進化はこのあたりにかなり大きな変化をもたらしているようです。
そういう意味では慌ててどうこうよりも、もう少し熟してから取り組むっていうのもありなのかもしれません。
でもなあ、こういうのは早いうちに取り組んでおかないとついていけなくなるからな。今の段階でも既についていけないので、これ以上置いていかれるぐらいならなんとかすがりついたほうがいいかも。
やっぱり三連休にがんばろう。
そうしよう。