2

Android MediaRecorder を使用して i ファイルを記録する場合、次のようにプロパティを設定できます。

this.recorder.SetAudioSource(AudioSource.Mic);
this.recorder.SetOutputFormat(OutputFormat.AmrWb);
this.recorder.SetAudioEncoder(AudioEncoder.AmrWb);
this.recorder.SetAudioSamplingRate(16000);

3gppファイルを生成します。録音したファイルを Google Cloud Speech API に送信すると、音声が認識されてテキストに変換されます。

var response = speech.SyncRecognize(new RecognitionConfig()
            {
                Encoding = RecognitionConfig.Types.AudioEncoding.AmrWb,
                SampleRate = 16000,
                LanguageCode ="de-DE"
            }, RecognitionAudio.FromFile("test.3gpp"));

ただし、OutputFormat を

this.recorder.SetOutputFormat(OutputFormat.ThreeGpp);

.3gpp ファイルも生成しますが、Google Cloud API はエラーをスローします。OutputFormat は問題ではなく、両方のケースで AMR エンコードされたエンコードされたデータのコンテナーを定義するだけだと思ったので、それは奇妙です。だから私の質問は:

AMR と ThreeGpp OutputFormat の正確な違いは何ですか?

4

0 に答える 0