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 … 技術評論社 の記事もどうぞ。