(蓝混)音频文件格式的转换



我创建了一个 Android 应用程序,并将 Bluemix 上可用的不同 Watson 服务连接到它:自然语言分类器、视觉识别和语音转文本。

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?

任何建议将不胜感激!谢谢!

要转换不同格式/编码的音频记录,您可以:- 找到一个音频编码器库以包含在您的应用程序中,该库支持所需的库,但在移动设备上运行可能会非常繁重(如果您找到合适的库)- 开发一个外部Web应用程序,用于发送您的记录,使其编码并作为文件或流返回- 开发一个简单的Web应用程序,就像一个实时代理一样工作,获取记录文件,对文件进行实时转换并发送到Watson。

第二个选项和第三个选项都希望使用像ffmpeg这样的编码工具。第三个开发起来更轻,但有点复杂,但可以让您保存来自安卓设备的 2 http 请求

相关内容

  • 没有找到相关文章

最新更新