経緯
妻がフランス語を勉強しろとうるさい
ので,なんとかして勉強をしているフリをしてみることにした.
でも,そんなに時間を割いてる場合ではないので,あるものを使う.
基本動作の確認
say -v Alex 'hello'
こいつをcommand line appsに組み込むだけで,味気ないCUIがAUI (Audio User Interface,今作った,あるのかな?)に格上げ..
say -v '?'
で可能な声とか,言語の種類がわかるよ.
色んな声に色んなことばをしゃべらせたら
下のんをちょっと作ってみました.
require 'open3'
out, err, status = Open3.capture3("say -v '?' | grep US")
#out, err, status = Open3.capture3("say -v '?'")
out.split("\n").each do |line|
name_lang, sentence = line.split("#")
next unless m = name_lang.match(/(.+)\s+(\w+_\w+)/)
name = m[1].sub!(/\s+$/,'')
lang = m[2]
printf("%s =%5s=%s\n", name,lang,sentence)
sentence.gsub!("\'",'')
system "say -v \'#{name}\' #{sentence}"
end