这可能没有修改android API吗?我发现了一篇关于此的文章.有一条评论我应该对android API进行修改.但它没有说明如何进行修改.谁能给我一些关于如何做到这一点的建议?谢谢!
我找到了这篇文章; SpeechRecognizer 他的需求与我的几乎相同.这对我来说是一个很好的参考!
我完全解决了这个问题.
我从这个中国网站上搜索了一个可用的示例代码.这
是我的源代码
package voice.recognition.test;
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 savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button speakButton = (Button) findViewById(R.id.btn_speak);
mText = (TextView) findViewById(R.id.textView1);
speakButton.setOnClickListener(this);
sr = SpeechRecognizer.createSpeechRecognizer(this); …
Run Code Online (Sandbox Code Playgroud) 在.NET中有两个类似的名称空间和程序集用于语音识别.我试图了解这些差异以及何时适合使用其中一种.
从程序集System.Speech(在System.Speech.dll中)有System.Speech.Recognition.System.Speech.dll是.NET Framework类库3.0及更高版本中的核心DLL
还有Microsoft.Speech.Recognition来自程序集Microsoft.Speech(在microsoft.speech.dll中).Microsoft.Speech.dll是UCMA 2.0 SDK的一部分
我发现文档令人困惑,我有以下问题:
System.Speech.Recognition表示它适用于"Windows桌面语音技术",这是否意味着它不能用于服务器操作系统或不能用于大规模应用程序?
UCMA 2.0 Speech SDK(http://msdn.microsoft.com/en-us/library/dd266409%28v=office.13%29.aspx)表示它需要Microsoft Office Communications Server 2007 R2作为先决条件.但是,我在会议和会议上被告知,如果我不需要存在和工作流等OCS功能,我可以使用没有OCS的UCMA 2.0 Speech API.这是真的?
如果我正在为服务器应用程序构建一个简单的识别应用程序(假设我想自动转录语音邮件)而且我不需要OCS的功能,那么两个API之间有什么区别?
看起来谷歌已经从Google即时版为第三方应用程序提供了离线语音识别功能.它被名为Utter的应用程序使用.
有没有人看过如何使用这个离线语音rec进行简单的语音命令的任何实现?您是否只使用常规的SpeechRecognizer API并自动运行?
android speech-recognition offline speech-to-text google-now
我用android.speech.SpeechRecognizer
它DICTATION_MODE
来识别很长一段时间内的命令.在此模式下,对回调方法的调用onPartialResults
比正常模式下的延迟要多得多.有谁知道为什么会发生这种情况以及如何避免这种延迟?
这是我用于的配置SpeechRecognizer
:
Intent recognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
recognizerIntent.putExtra("calling_package", mainActivity.getApplicationContext().getPackageName());
recognizerIntent.putExtra("android.speech.extra.DICTATION_MODE", true);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 100);
Run Code Online (Sandbox Code Playgroud) 我想在android中开发一个语音识别器,它应该可以在离线状态下工作.由于android的内置语音识别器使用需要互联网的谷歌服务器,我想要一个在没有互联网的情况下工作的替代品.
请建议我实现上述功能的一些方法.
我需要编写一个使用语音识别引擎的应用程序 - 内置vista或第三方 - 可以显示单词或短语,并识别用户何时读取它(或其近似值) ).我还需要能够在语言之间快速切换,而无需更改操作系统的语言.
用户将在很短的时间内使用该系统.应用程序需要工作而无需首先将识别引擎训练到用户的声音.
如果这可以在Windows XP或较低版本的Windows Vista上运行,那也太棒了.
可选地,系统需要能够以用户选择的语言将屏幕上的信息读回用户.我可以使用预先录制的画外音来解决此规范,但首选的方法是使用文本到语音引擎.
谁能为我推荐一些东西?
我已经成功地将连续语音识别工作(使用SpeechRecognizer类)作为服务,适用于4.1以上的所有Android版本.我的问题是关于让它在版本4.1和4.2上运行,因为众所周知,有一个问题是,API没有按照文档识别启动后几秒钟的记录,如果没有检测到语音输入那么它就像如果语音识别器无声地死亡.(http://code.google.com/p/android/issues/detail?id=37883)
我找到了一个问题,提出解决这个问题的方法(语音识别在几秒钟后停止监听),但我不确定如何实现此解决方案所需的处理程序.我知道这种解决方法每隔几秒钟会发生一次"嘟嘟"声,但对我来说,获得连续的语音识别更为重要.
如果有人有任何其他替代解决方法,那么我也想听听.
还有什么更多的东西,在(精神上)类似于OpenCV,但是用于处理音频并从中获取一些智能?能力范围可以从: -
如果库在原始音频格式/编码转换上工作则很好,这是由其他现有库(来自ffmpeg的sa)处理的外部问题.
我不是这个领域的专家,但是需要使用这样的API,并且想知道这些库是否存在,所以我选择用于确定功能的术语可能不是最好的,所以专家可能想编辑这个问题.
那些文档终于说出来了,我需要在我的手腕上放几个月.因为我是一名.NET开发人员,这可能会暂时维持生计,这是我不急于做的事情.那就是说,开发人员有没有好的免提选择?有没有人成功使用任何语音识别软件?
POSTSCRIPT:我已经恢复了我的手臂,直到双手编程不成问题.Dragon自然而然地说效果不错,但速度较慢,而不像我编程的键盘比我想象的要快.
我知道SIRI-Services没有公共API,但是有简单语音识别的API吗?因此,如果我有一个文本字段并且用户点击该文本字段,则会出现一个带有典型麦克风按钮的键盘,如果按下它,语音会被识别并转换为字符串对象?或者这个按钮可能默认显示?
android ×5
speech ×3
offline ×2
.net ×1
audio ×1
c# ×1
c++ ×1
ergonomics ×1
google-now ×1
ios ×1
objective-c ×1
open-source ×1
opencv ×1
siri ×1
ucma2.0 ×1
ucs ×1
voice ×1