我创建了一个 Android 应用程序,并将 Bluemix 上可用的不同 watson 服务连接到它:Natural Language Classifier、Visual Recognition 和 Speech to Text。
1)第一个和第二个工作良好;我对第三个关于音频格式的小问题。应用程序应该注册一个 30 秒的音频,将其保存在内存中并发送到服务以获取相应的文本。我使用了 MediaRecorder 类的实例来注册文件。它可以工作,但可用的输出格式是 AAC_ADTS、AMR_WB、AMR_NB、MPEG_4、THREE_GPP、RAW_MR 和 WEBM。
不同的是,该服务接受以下格式的输入:FLAC、WAV、PCM。将音频文件从第一组输出转换为第二组的最佳方法是什么?有没有一种简单的方法可以做到这一点?例如,从 THREE_GPP 或 MPEG_4 到 WAV 或 PCM。
我用谷歌搜索了信息和想法,但我发现只有很少的长期方法,不太了解。我正在寻找一种快速的方法,因为我会让服务的转换和详细说明的延迟尽可能短。
是否有可用的库来执行此操作?还是一个简单的代码片段?
2)最后一件事:
SpeechResults transcript = service.recognize(audio, HttpMediaType.AUDIO_WAV);
System.out.println(transcript);
“成绩单”是一个 json 响应。有没有一种方法可以直接提取文本,还是应该解析 json?
任何建议将不胜感激!谢谢!