Microsoft Translator API の Text-to-speech が日本語に対応したということなので、さっそく試してみました。
API には、AJAX、HTTP、SOAP の3種類があり、とりあえず試すには簡単な SOAP を使います(Visual Studio を持っていればですが)。API 利用には事前に Bing Developer Center で Application ID を取得しておく必要があります。
Visual Basic のコンソールアプリのプロジェクトを作成して、サービス参照の追加で、http://api.microsofttranslator.com/V2/Soap.svc を追加。
次のコードを記述して実行。
Imports MyApp.Translator.ServiceReference Module MainModule Sub Main() Dim client = New LanguageServiceClient Dim appId = "your app id" Do Dim text = Console.ReadLine If text.Trim = "" Then Exit Do End If Dim result = client.Speak(appId, text, "ja", "audio/wav") My.Computer.Audio.Play(result) Loop End Sub End Module
実行して日本語入力すれば音声が再生されます。
この API の仕組みは、書式に従った URL にアクセスすると Wave ファイルの URL が返ってくるので、それを再生しています。SOAP API の場合、HTTP API で使用する初期を自動で作ってくれてるだけなんですねー。result の内容をみると HTTP API で使用される URL になっています。
詳しくは、使ってみよう! Windows Live SDK/API:第38回 使ってみようMicrosoft Translator|gihyo.jp … 技術評論社 の記事もどうぞ。