音声ファイルを作って、Pepperに話をさせる(再生)
text-to-speechとは
IBMの音声合成機能を使用して書かれたテキストを自然な音声に変換してくれます。
AWSでいうPollyと同じ。
Pepperの発話に苦戦
Pepperにいい感じに発話させるのって大変。しかも発音調整するには実機がないとできないから余計に大変
バーチャルロボットで確認できるならいいんだけど、そうもいかず。。これ、みんなどうしているんだろう??
みんな苦戦しているのでしょうか??
テキストを音声ファイルにして再生
というわけで、テキストを Text to Speech 使って音声ファイルに変換しダウンロード。それをそのまま発話させるということを試しました。
Bluemixで Text to Speechを作成
アクションの「資格情報の表示」を押すと、usernameとpasswordが表示されるので、コレを使います。
url = "https://stream.watsonplatform.net/text-to-speech/api/v1/synthesize?accept=audio/wav&voice=ja-JP_EmiVoice"
param = {"output" : "hello_world.wav", "text" : message}
filePath = self.appFolder + "/" + self.getParameter("file name")
r = requests.get(url, auth=("{username}", "{password}"), params=param)
outfile = open(filePath, 'wb')
outfile.write(r.content)
outfile.close()
http get に、python requestsモジュールを使ってます。
このあたりが参考になります。
http://qiita.com/n0bisuke/items/5b782bb758ce5611cc90
paramでは、出力(ダウンロード)ファイル名と、変換元のテキストを設定しています。
requests.getで、先の資格情報とparamを設定し、request発行
Pepper内の filePath
にしていた場所に outfile.write(r.content)
にて保存されます。
あとは Play Soundボックスで再生すれば完成です。