私は電話からオーディオを録音し、Google音声非ストリーミングAPIに送信します。私はCapture.captureAudio()を使って録音することができますが、音声符号化とサンプルレートは何であるか分かりません。なぜなら、それらは必要なのですからfor the api requestです。 オーディオのエンコードとサンプルレートを取得して、私のAPIリクエストで送ることができますか?コードネームワンのGoogle Speech APIの使い方は?
4
A
答えて
1
あなたは、AMR-WBで、それが記録Android上sources
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_WB);
recorder.setOutputFile(temp.getAbsolutePath());
、Googleの音声APIをチェックする場合は、適切にset audio format場合AMR-WBを受け入れます。
もう一つの問題は、あなたがオーディオデータの形式3GPPを抽出するためのカスタムコードを必要とするので、あなたはそれをhere見つけることができ、ファイルを3GPPコンテナにAMR-WBとして記録されていることである。
// #!AMR\n
private static byte[] AMR_MAGIC_HEADER = {0x23, 0x21, 0x41, 0x4d, 0x52, 0x0a};
public byte[] convert3gpDataToAmr(byte[] data) {
if (data == null) {
return null;
}
ByteArrayInputStream bis = new ByteArrayInputStream(data);
// read FileTypeHeader
FileTypeBox ftypHeader = new FileTypeBox(bis);
// You can check if it is correct here
// read MediaDataHeader
MediaDataBox mdatHeader = new MediaDataBox(bis);
// You can check if it is correct here
int rawAmrDataLength = mdatHeader.getDataLength();
int fullAmrDataLength = AMR_MAGIC_HEADER.length + rawAmrDataLength;
byte[] amrData = new byte[fullAmrDataLength];
System.arraycopy(AMR_MAGIC_HEADER, 0, amrData, 0, AMR_MAGIC_HEADER.length);
bis.read(amrData, AMR_MAGIC_HEADER.length, rawAmrDataLength);
return amrData;
}
はまた、AMR-ことに注意してくださいWBはわずかに低い精度を提供するので、codenameoneではなく、より詳細なAPIを使って生のオーディオキャプチャを検討することができます。
関連する問題
- 1. androidのgoogle speech apiの使い方
- 2. Google Speech APIとWeb Speech APIの違い
- 3. Android Speech to Text API(Recognizer Intent)とGoogle Cloud Speech APIの違いは?
- 4. NodeJSのGoogle Speech APIの使用例
- 5. Google Cloud Streaming Speech API
- 6. Google Speech Raspbian(ラズベリーパイ)のApiクレデンシャルエラー
- 7. ブラウザからのGoogle Speech API
- 8. Google Web Speech APIの文法
- 9. java-google-translate-text-to-speech APIの使用方法は?
- 10. Google Speech API、オプション[フレーズ]を使用して
- 11. Google Cloud Speech APIリアルタイム認識
- 12. Google Cloud Speech API add SpeechContext
- 13. Android用Google Cloud Speech API
- 14. Google Speech APIに関して
- 15. Google Cloud Speech API on production
- 16. Bing Speech APIとUWP Speech APIの違いは何ですか
- 17. Google Speech APIの使い方Androidでの非同期音声認識
- 18. Google Speech Recognition API:各単語のタイムスタンプ?
- 19. Google Speech APIの認証エラーTransportError:HTTPSConnectionPool
- 20. Google Speech API資格のプロキシ認証
- 21. iOS speech APIのオフライン使用方法
- 22. pythonでgoogle cloud speech apiを使用する方法
- 23. コードネームワン - FacebookマーケティングAPI
- 24. Google Speech APIを使用した非同期リクエストのcurlコマンド
- 25. テキストボックスでGoogle Speech APIの応答を解析する方法
- 26. PHP - Google Speech API:クラス 'Google \ Cloud \ Speech \ SpeechClient'が見つかりません
- 27. IBM Waston Speech to text APIのキーワードスポッティング機能の使用方法は?
- 28. Google Speech APIの例で解決できないR
- 29. Google Speech APIの正しい認識結果
- 30. コードネームワン - Googleマップcn1libのJavadocとNetBeans
Android以外のプラットフォームについてはどうですか?すべてのプラットフォームでネイティブインターフェイスを使用する必要がありますか? –
iOSとBlackBerryもamrを記録します。私はあなたが興味を持っている他のプラットフォームが何であるか分かりません –
iOS、Android、おそらく他のOSで動作するAMRをCodename One APIを使ってキャプチャすることができます:https://www.codenameone.com/javadoc/com/codename1/ media/MediaManager.html#createMediaRecorder-java.lang.String-java.lang.String- https://www.codenameone.com/javadoc/com/codename1/media/MediaManager.html#にOS対応のMIMEタイプを取得できますgetAvailableRecordingMimeTypes-- –