題名のとおりとなりますが、Google SpeechAPIを使用してローカルにあるwavファイルの音声認識ができないか、試行錯誤中となります。
【準備したファイル】
・フォーマット:wav
・サンプリングレート:16000
・ビット:16
・チャンネル:2
VB.NET
1Private Sub test() 2 Dim fs As New FileStream("C:\gm.wav", FileMode.Open, FileAccess.Read) 3 Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding("utf-8") 4 Dim bs(fs.Length - 1) As Byte 5 6 fs.Read(bs, 0, bs.Length) 7 8 Dim url As String = "http://www.google.com/speech-api/v2/recognize?output=json&lang=ja-JP&key={0}" 9 url = String.Format(url, "key") 10 11 Dim req As WebRequest = WebRequest.Create(url) 12 req.Method = "POST" 13 req.ContentType = "Content-Type: audio/l16; rate=16000;" 14 req.ContentLength = bs.Length 15 16 Dim reqStream As System.IO.Stream = req.GetRequestStream() 17 reqStream.Write(bs, 0, bs.Length) 18 reqStream.Close() 19 20 Dim res As System.Net.WebResponse = req.GetResponse() 21 Dim resStream As System.IO.Stream = res.GetResponseStream() 22 Dim sr As New System.IO.StreamReader(resStream, enc) 23 Debug.WriteLine(sr.ReadToEnd()) 24 25 sr.Close() 26 fs.Close() 27End Sub
症状としましては、req.GetResponse()のところでWEBリクエストが400を返しております。
別途phpファイルを用意し、POSTの中身を見たところ空だったため、バイナリファイルの書き込みか、ContentTypeの指定に誤りがあるのかなと予想しております…
Google SpeechAPIのドキュメントが非常に少ないため、ご助言いただけると助かります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。