HOYAの音声合成ソフトウェアVoiceTextをWeb経由で利用することができるサービス「VoiceText Web API(β版)」が公開されています。
VoiceTextといえば、人気番組「モヤモヤさまぁ~ず2」のナレーション、ショウ君でお馴染みの高品質音声合成ソフト。登録してAPIキーさえゲットすればショウ君にお馴染みのセリフをしゃべりまくらせることが可能です。
curlから使う
まずAPI利用登録からAPIキーをゲットしておきます。基本的な使用法はcurlを使ってurlを叩くだけ。
curl "https://api.voicetext.jp/v1/tts" \ -o "test.wav" \ -u "YOUR_API_KEY:" \ -d "text=おはようございます" \ -d "speaker=hikari"
上の例だと「hikari」の声で「おはようございます」と喋った音声ファイルが「test.wav」に書きだされます。
一つだけ注意点は、YOUR_API_KEYのあとに「:」が必要なこと。curl上の仕様上必要とのことです。
Rubyから使う
VoiceText Web APIをRubyから使うためのGemが作られています(ただの日記、GitHub、RubyGems)。このGemを利用すればより簡単に喋らせることが出来ます。Mac用に簡単なサンプルプログラムを作ってみました。
まずgemコマンドでインストールします(またはGemfileを利用)。
$ gem install voice_text_api
以下の内容をshow.rbとして保存します。YOUR_API_KEYの部分は自分のAPIキーと書き換えてください。
require 'voice_text_api'
vt = VoiceTextAPI.new('YOUR_API_KEY')
# wav形式の戻り値が返ってくる
text = ARGV.shift || 'おはようございます'
wav = vt.tts(text, :show)
# wavファイルを保存
filename = "sample.wav"
File.open(filename, "wb") do |f|
f.write wav
end
# afplayコマンドでwavファイルを再生
system("/usr/bin/afplay #{filename}")
実行。
$ ruby show.rb
引数を与えればしゃべる内容を変えることができます。
$ ruby show.rb お肉食べよう
まとめ
VoiceTextの音声合成は優秀で聞き取りやすいです。さらなる応用例としてTwitterのタイムラインを読み上げるプログラムなんかも公開されています。
今のところベータ版で、作成した音声データの商用利用、二次利用及び配布する行為が禁止されているなど残念な点もありますが(しかたない?)、今後の発展に期待したいサービスです。