スイーツ(笑)と呼ばないで!!
| |||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
11/24/03:10 [PR] |
12/21/18:02 Macに声をかけてもらいたい時SF映画を見たりすると、コンピュータが話をしているシーンに遭遇する。 昔はわざわざ録音した音声を流していたりしたけど、 今は、音声合成という技術が使える。 昔は専用のソフトとかインストールする必要があったけど、 今はOSとかに標準でついていたりする。 それも、英語だけだなく、最近では多言語対応が盛んだ。 我らがMac OS Xも日本語対応して数年になる。 とはいえ、なかなか日本語で音声合成することはあまりない。 英語のサイトみていて、英語で音声合成して読ませるとかはあるけど。 ただ、時々、最初に書いたようなSF映画なんかを見ると、 メールの着信だけでなく、メールの内容も読み上げてくれないかなー、なんて思う。 今日はそんな仕組みをMacで開発する時の話。 昨日ちょうどそんなSF映画を見ていろいろ試したのでそのメモをまとめてみる。 まず、結論からいうと、Macにはsayというコマンドがある。 say ‘Hello’ と書くと、HelloどMacが発音してくれる。 ここで大事なのは、音声合成にどのVoiceを選択しているかだ。 システム環境設定 > 音声入力と読み上げ の「システムの声」で選択できる。 ここで「Kyoko」とか「Otoya」とか日本語音声を選択していると、 上記の「Hello」もきっちり日本人的な発音をしてくれる(笑) ちなみに、私が好きな英語音声はAllison。 で、これだとインタラクティブな操作が必要なので、メモで書いて音声合成しているのと変わらない。 そこでいろいろとオプションを指定してみる。 まずボイスの選択は-vオプションだ。 say -v Kyoko ‘こんにちは’ とやればKyokoさんが読み上げてくれる。 次に、速聴・速読に慣れている人は一般的なスピードだと遅くてイライラすることでしょう。 そんな時は-rオプションが使える。 say -v Kyoko -r 200 ‘こんにちは’ 1分間に200語を話すスピードということになる。 個人的には1分間に500語程度のスピードが好きだ。 ちなみに、MAXの設定は720語みたい。 1分間に720語は、一度聞いた文章ならストレスないけど、 初めて聞く文章だと聞き流しだと何個か聞き損じがあるかもしれない。 ちなみに、ざっくり調べた感じだと、ギネス認定の最速ラッパーは15秒で97単語、つまり、1分間で400語程度とか。 で、最後に、システム開発で利用する場合には、文章を動的に変更する必要がある。 リアルタイムに流そうとすると1音声しか準備できないので、 きっと先読みで音声ファィルに変換したいよね。 そんな時は、-fでまずファイルから読むべき内容を受け取るように指定する。 say -v Kyoko -r 500 -f email.txt こんな感じにするとemail.txtの中身を読み上げてくれる。 最後に、音声ファイルで出力するオプションは-oだ。 say -v Kyoko -r 500 -f email.txt -o email.aiff とか書けばよいね。 さあ、これで、準備はできた。 あとは表側のシステムを組めばよいね。 バッチ処理とかでメールボックスをチエックする。 メールがあったらその内容をテキストファィルに出力し、 それをsayコマンドを使って音声ファィルに出力する。 その上で 「メールを3件受信しました。読み上げますか?」 みたいに音声で呼びかけ、指令が出たら、順に音声ファイルを読み上げる。 どう? 映画であったワンシーンそのままでしょ。 プログラムだから、いろんな条件でフィルタしたりいろいろ好きにできるね。 プログラミングしながら、バックグラウンドでメールを読み上げなんてこともできる。 目を使う作業は一つしかできないけど、目と耳は別のことができるからね ^ ^ 時間は24時間しかないからねー 効率的に生きていきましょ。 PR
|
|
|