Articles of 语音识别

在Android应用中集成Google语音识别function

我想在我的应用程序中引入一项新function: 永久语音识别 。 首先,我关注了这些post: 语音识别 Android中的语音识别 Android中的离线语音识别(JellyBean) 以及更多其他人,以及来自不同网站的其他post。 问题:我实际上要做的是在没有显示谷歌语音活动的情况下进行永久语音识别。 例如:当我启动应用程序时,语音识别应该开始并收听。 当识别器匹配某些单词时,我的应用程序将相应地执行不同的操作。 我不想每次想要进行语音识别时都按下按钮,而且我也不喜欢在屏幕上显示任何内容来与之交谈。 我能这样做吗? 欢迎任何建议。 谢谢! 🙂

将语音转换为发音的最佳方式

我想构建一个识别语音并将其转换为发音文本的Android应用程序(即比较特殊单词和用户语音之间的真实发音或重音)。 我只知道可以创建语音到文本。 我想转换用户说的任何单词。 有没有API可以做到这一点? 如果没有,请帮助我如何实现它。

为什么RecognitionListener在JellyBean中停止工作?

对于使用Android 语音识别API的每个人来说,曾经有一个方便的RecognitionListener,你可以注册,将各种事件推送到你的回调。 特别是,有以下onBufferReceived(byte[])方法: public abstract void onBufferReceived (byte[] buffer) 自:API等级8收到更多声音。 此function的目的是允许向用户提供有关捕获的音频的反馈。 无法保证将调用此方法。 参数 buffer包含一系列表示单通道音频流的大端16位整数的缓冲区。 采样率取决于实现。 虽然该方法明确指出无法保证它将被调用,但在ICS和之前它将有效地被调用100%的时间:通常足够,至少,通过连接以这种方式接收的所有字节,你可以重建整个音频流并播放它。 然而,出于某种原因,在Jellybean SDK中, 这神奇地停止了工作 。 没有关于弃用的通知,代码仍然编译,但现在从未调用onBufferReceived 。 从技术上讲,这并没有打破他们的API(因为它说“无法保证”该方法将被调用),但显然这是对许多依赖于这种行为的事情的重大改变。 有没有人知道为什么禁用这个function,以及是否有办法在Jellybean上复制它的行为? 澄清 :我意识到整个RecognizerIntent是一个具有多个实现的接口(包括Play商店中的一些实现),并且他们每个人都可以选择如何处理RecognitionListener 。 我特指的是绝大多数Jellybean手机使用的默认Google实施方式。

在Android中使用语音识别的比较:通过Intent还是on-thread?

介绍 Android为我提供了两种使用语音识别的方法。 第一种方式是Intent ,就像这个问题: 意图的例子 。 一个新的Activity被推到堆栈的顶部,它听取用户的声音,听到一些语音,尝试转录它(通常是通过云),然后通过onActivityResult调用将结果返回给我的应用程序。 第二个是获取SpeechRecognizer ,就像这里的代码一样: SpeechRecognizer示例 。 在这里,看起来语音被记录并转录到其他一些线程上,然后回调给我带来了结果。 这是在不离开我的Activity情况下完成的。 我想了解这两种语音识别方式的优缺点 。 到目前为止我得到了什么 使用Intent : 编码很简单 避免重新发明轮子 在整个设备上提供一致的语音识别用户体验 但 使用它自己的窗口创建新活动可能会很慢 使用SpeechRecognizer : 让我在我的应用程序中保留对UI的控制权 给了我额外的回应可能性( 文档 ) 但 仅限于从主线程调用 更多的控制需要更多的错误检查。

Android语音识别和录音同时进行

我的应用程序使用AsyncTask中的MediaRecorder类记录音频,并使用Google API转换语音到文本 – Recognizer Intent – 使用此问题的代码: 如何在没有烦人的对话框的情况下使用语音识别 我也试过在Thread中录制音频,但这是更糟糕的解决方案。 它会导致更多问题。 我的问题是我的应用程序在模拟器上正常工作。 但由于缺乏语音识别服务,模拟器不支持语音重新识别。 在我的设备上,当我开始录制音频和语音识别时,我的应用程序崩溃了 – “已意外停止”。 但是当我关闭wifi时,应用程序就像在模拟器上一样正常工作。 在AndroidManifest中录制音频需要: 和语音识别要求: 我想这是单音频输入的问题? 我该如何解决这个问题? Google Speech Recognizer需要在主UI线程中工作,因此我无法在Async Task中执行此操作。 所以我在Async Task中录音。 我不知道为什么这会导致问题。 我已将设备连接到Eclipse,并且已使用USB调试。 这是我在LogCat中的执行: 08-23 14:50:03.528: ERROR/ActivityThread(12403): Activity go.android.Activity has leaked ServiceConnection android.speech.SpeechRecognizer$Connection@48181340 that was originally bound here 08-23 14:50:03.528: ERROR/ActivityThread(12403): android.app.ServiceConnectionLeaked: Activity go.android.Activity has leaked ServiceConnection android.speech.SpeechRecognizer$Connection@48181340 that was […]

Android语音识别API离线

有人可以帮帮我吗? 我正在通过RecognizerIntent开发一个带语音识别的应用程序。 哪个Android版本通过API正式引入了应用程序的离线识别? 有没有关于它的陈述? 根据我的阅读,直到知道如果通过在线服务或离线词典完成语音识别,它不是开发者的选择。 我对吗? 或者是否有任何记录的API可以脱机? 谢谢

有没有办法将音频文件发送到语音到文本识别

我希望Android语音识别系统能够分析音频文件而不是麦克风的默认传入语音。 有没有办法做到这一点? 谢谢。

开发类似于“Google now”的应用程序 – 是否可以在没有键输入的情况下使用语音识别?

我正在尝试开发一个使用TTS引擎和语音识别的酷应用程序。 到目前为止它还可以,但我想要更多。 我想创建一个服务(我认为服务是正确的方式),这总是“倾听”,当有人说”ok google”或其他东西时,语音识别开始,就像谷歌现在。 例如,如果你说”ok google”谷歌现在开始。 我不知道从哪里开始所以我在这里直接询问是否有可能。 我试着看这个post[这里]( 在任何时候都在听关键词,比如4.4上的“Ok google” ),最后一个回答谈​​到了服务,正如我想的那样。 有人可以帮我处理我的代码吗? 例如,这是通过点击按钮开始语音识别的代码: /** * Instruct the app to listen for user speech input */ private void listenToSpeech() { //start the speech recognition intent passing required data Intent listenIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); //indicate package listenIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, getClass().getPackage().getName()); //message to display while listening listenIntent.putExtra(RecognizerIntent.EXTRA_PROMPT, “Say a word!”); […]

语音识别作为后台服务

是否可以将活动作为服务实施? 我的活动是语音识别活动。 我希望在应用程序的后台运行活动,不断检查语音,当用户说出命令时,它会识别它,然后执行操作。 我的问题是……是否可以这样做,如果是这样,后台服务如何通知当前活动或应用程序? 有一篇关于此的post没有明确答案……感谢任何意见或帮助。 以下是来自另一个StackOverflowpost的语音活动: import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.speech.RecognitionListener; import android.speech.RecognizerIntent; import android.speech.SpeechRecognizer; import android.widget.Button; import android.widget.TextView; import java.util.ArrayList; import android.util.Log; public class voiceRecognitionTest extends Activity implements OnClickListener { private TextView mText; private SpeechRecognizer sr; private static final String TAG = “MyStt3Activity”; @Override public void onCreate(Bundle […]

如何为我的应用创建自定义语音操作?

我想申请我的应用程序自定义语音操作,以启动我的应用程序。 它应该看起来像:’好吧,谷歌’ – >’直接匹配’和我的应用程序运行。 这个怎么做?