在录制声音剪辑的Android上进行语音识别?
我已经使用了Android上的语音识别功能,我喜欢它。 这是我的客户最受赞誉的功能之一。 但是,格式有些限制。 你必须调用识别器的意图,让它把录音发送给谷歌,然后等待文本回来。
我的一些想法需要在我的应用程序中录制音频,然后将剪辑发送到谷歌进行转录。
有没有什么办法可以发送一个音频剪辑,以语音处理文本?
我有一个解决方案可以很好地进行语音识别和录音。 这里是我创建的一个简单的Android项目的链接,以显示解决方案的工作。 另外,我在项目中放置了一些打印屏幕来说明应用程序。
我将尝试简要解释我使用的方法。 我在该项目中结合了两个功能:Google Speech API和Flac录制。
Google Speech API通过HTTP连接进行调用。 Mike Pultz提供了关于API的更多细节:
“(...)新的[Google] API是一个全双工流媒体API,这意味着它实际上使用两个HTTP连接 - 一个POST请求将内容作为”实时“分块流上传,第二个GET请求来访问结果,这对于更长的音频样本或流式音频更有意义。“
但是,此API需要接收FLAC声音文件才能正常工作。 这让我们进入第二部分:Flac录音
我通过从一个名为AudioBoo的开放源代码应用程序中提取和修改一些代码和库来实现Flac录制。 AudioBoo使用本地代码来记录和播放flac格式。
因此,可以录制一个flac声音,将其发送到Google Speech API,获取文本并播放刚录制的声音。
我创建的项目具有使其发挥作用的基本原则,并可针对特定情况进行改进。 为了使它在不同的场景下工作,有必要获得Google Speech API密钥,该密钥由Google Chromium-dev组的一部分获得。 我在该项目中留下了一把钥匙,以显示它正在工作,但我最终会将其删除。 如果有人需要更多关于它的信息,让我知道原因,我不能在这篇文章中添加2个以上的链接。
遗憾的是目前还没有。 Android的语音识别服务目前唯一支持的界面是RecognizerIntent
,它不允许您提供自己的声音数据。
如果这是您想要查看的内容,请在http://b.android.com上提交功能请求。 这也与现有问题4541相关。
据我所知,还没有办法直接将音频剪辑发送给Google进行转录。 但是,Froyo(API等级8)引入了SpeechRecognizer类,它可以直接访问语音识别服务。 因此,例如,您可以开始播放音频剪辑,并让您的Activity启动在后台侦听的语音识别器,这会在完成后将结果返回给用户定义的侦听器回调方法。
以下示例代码应在Activity中定义,因为SpeechRecognizer的方法必须在主应用程序线程中运行。 您还需要将RECORD_AUDIO权限添加到您的AndroidManifest.xml中。
boolean available = SpeechRecognizer.isRecognitionAvailable(this);
if (available) {
SpeechRecognizer sr = SpeechRecognizer.createSpeechRecognizer(this);
sr.setRecognitionListener(new RecognitionListener() {
@Override
public void onResults(Bundle results) {
// process results here
}
// define your other overloaded listener methods here
});
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
// the following appears to be a requirement, but can be a "dummy" value
intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, "com.dummy");
// define any other intent extras you want
// start playback of audio clip here
// this will start the speech recognizer service in the background
// without starting a separate activity
sr.startListening(intent);
}
您还可以通过扩展RecognitionService来定义自己的语音识别服务,但这超出了本答案的范围:)
链接地址: http://www.djcxy.com/p/34411.html上一篇: Voice recognition on android with recorded sound clip?
下一篇: How to use Androids' speech to text with audio sample file