我正在使用Window的语音识别API,并且它一直在检测非常低的背景噪音作为"if"重复的单词.我一直试图找到一种方法来为它开始接受输入的最小量要求,但其所有成员都设置为只读.
如何设置麦克风音量的最小截止值?
编辑:找出一种获得平均值的方法,如果它低于我想要的平均值,则忽略文本
public void hRecognition_AudioStateChanged(object sender, AudioStateChangedEventArgs e)
{
if (e.AudioState == AudioState.Stopped)
{
volumeAverage /= volumeCount;
}
else if (e.AudioState == AudioState.Speech)
{
volumeAverage = 0;
volumeCount = 0;
}
}
public void hRecognition_AudioLevelUpdated(object sender, AudioLevelUpdatedEventArgs e)
{
volumeAverage += e.AudioLevel;
volumeCount += 1;
}
Run Code Online (Sandbox Code Playgroud) 我需要一个API或库(最好是免费的),它将通过麦克风将语音/语音转换为文本(字符串).
另外,我需要一个可以进行文本到语音转换的API或库.
我想使用C#和.NET,但其他语言就足够了.
谢谢.
我想开发一种基于语音生物识别的应用程序.
具体来说,我想开发一个应用程序,它将从电话录制语音,并识别扬声器.如果同一个人再次呼叫,它将识别语音.像其他生物识别应用程序一样,我需要做一个语音生物识别.是否有任何URL或示例可以帮助我.我搜索但无法找到解决方案.
FreeSpeech is a text-independent speaker verification system that verifies a caller's identity
Run Code Online (Sandbox Code Playgroud)
我想在我的应用程序中实现上述一个FreeSpeech识别.
是否可以使用任何开源执行以下操作.
如果是,请您提供一个URL或示例来帮助我.
好吧,我得到了来自This Url 的灯光以完成上述任务,但无法获得预期的输出.
我目前正在寻找JAVA的职业生涯,并决定从构建应用程序开始.我在这里有这个代码,我用它来触发语音识别.
public class MainActivity extends Activity implements OnClickListener{
private static final int VR_REQUEST = 999;
private ListView wordList;
private final String LOG_TAG = "SpeechRepeatActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button speechBtn = (Button) findViewById(R.id.speech_btn);
wordList = (ListView) findViewById (R.id.word_list);
PackageManager packManager= getPackageManager();
List<ResolveInfo> intActivities = packManager.queryIntentActivities
(new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);
if (intActivities.size() !=0){
speechBtn.setOnClickListener(this);
} else {
speechBtn.setEnabled(false);
Toast.makeText(this,"Oops - Speech Recognition Not Supported!",
Toast.LENGTH_LONG).show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this …Run Code Online (Sandbox Code Playgroud) 谷歌Chrome扩展程序是否支持Chrome的网络语音识别API?我已经包含了一些javascript来创建语音识别对象,但是当我启动扩展时,我不会被提示进行麦克风访问.
这不是我的代码的问题.我在谷歌搜索过,但是我找不到有关Chrome扩展是否支持Web Speech API的任何信息.我只想要一个是/否答案.
注意:我相信WebSpeech API不适用于本地文件.
有人可以帮帮我吗?
我正在通过RecognizerIntent开发一个带语音识别的应用程序.
谢谢
我想在我的应用程序中引入一项新功能:永久语音识别.
首先,我关注了这些帖子:
以及更多其他人,以及来自不同网站的其他帖子.
问题: 我真正要做的是在没有显示谷歌语音活动的情况下进行永久语音识别.例如:当我启动应用程序时,语音识别应该开始并收听.当识别器匹配某些单词时,我的应用程序将相应地执行不同的操作.我不想每次想要进行语音识别时都按下按钮,而且我也不喜欢在屏幕上出现任何与之交谈的内容.我能这样做吗?
欢迎任何建议.谢谢!:)
android speech-recognition voice-recognition google-voice google-voice-search
是否可以将活动作为服务实施?我的活动是语音识别活动.我希望在应用程序的后台运行活动,不断检查语音,当用户说出命令时,它会识别它,然后执行操作.我的问题是......是否可以这样做,如果是这样,后台服务如何通知当前活动或应用程序?之前有一篇帖子没有明确的答案......感谢您的任何意见或帮助.以下是来自另一个StackOverflow帖子的语音活动:
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);
sr.setRecognitionListener(new listener());
}
class listener implements RecognitionListener
{
public void onReadyForSpeech(Bundle params)
{ …Run Code Online (Sandbox Code Playgroud) 对于使用Android 语音识别API的每个人来说,曾经有一个方便的RecognitionListener,你可以注册,将各种事件推送到你的回调.特别是,有以下onBufferReceived(byte[])方法:
public abstract void onBufferReceived (byte[] buffer)从那时起:API等级8收到更多声音.此功能的目的是允许向用户提供有关捕获的音频的反馈.无法保证将调用此方法.
参数
buffer缓冲区包含一系列表示单通道音频流的大端16位整数.采样率取决于实现.
虽然该方法明确指出无法保证它将被调用,但在ICS和之前它将被有效地被调用100%的时间:通常足够,至少,通过连接以这种方式接收的所有字节,你可以重建整个音频流并播放它.
然而,出于某种原因,在Jellybean SDK中,这神奇地停止了工作.没有关于弃用的通知,代码仍在编译,但onBufferReceived现在从未调用过.从技术上讲,这并没有破坏他们的API(因为它说"无法保证"该方法将被调用),但显然这对于许多依赖于这种行为的事情来说是一个突破性的变化.
有没有人知道为什么禁用这个功能,以及是否有办法在Jellybean上复制它的行为?
澄清:我意识到整个RecognizerIntent事情是一个具有多个实现的界面(包括一些可在Play商店中获得),并且他们每个人都可以选择如何处理RecognitionListener.我特指的是绝大多数Jellybean手机使用的默认Google实施方式.
我有一个使用 Kotlin 编写的 RecognitionListener 的项目。语音转文本功能一直很成功,从未出现任何问题。
从上周开始,它的 onResult 函数开始被调用两次。没有对项目进行任何更改。我测试了该项目的旧版本(从几个月前开始)并且那些有同样的问题。
存在三种不同的情况:
这是 VoiceRecognition 语音到文本类代码:
class VoiceRecognition(private val activity: Activity, language: String = "pt_BR") : RecognitionListener {
private val AudioLogTag = "AudioInput"
var voiceRecognitionIntentHandler: VoiceRecognitionIntentHandler? = null
var voiceRecognitionOnResultListener: VoiceRecognitionOnResultListener? = null //Must have this
var voiceRecognitionLayoutChanger: VoiceRecognitionLayoutChanger? = null
var isListening = false
private val intent: Intent
private var speech: SpeechRecognizer …Run Code Online (Sandbox Code Playgroud) android ×6
c# ×2
java ×2
.net ×1
biometrics ×1
google-voice ×1
kotlin ×1
offline ×1
service ×1
voice ×1