【问题标题】:Android studio - voice recognition for alphabetAndroid studio - 字母的语音识别
【发布时间】:2018-08-22 12:37:45
【问题描述】:

我正在为论文开发一个语音识别应用程序,可以识别字母表中的字母。我设法对文本进行语音识别,但我不知道如何才能只识别字母而不识别单词。就像我说“A”一样,应用程序应该显示字母 A 的图片。你们能帮帮我吗? 下面是我的语音识别应用程序在 youtube 的帮助下的示例代码,我通过将字符串“apple”与语音到文本识别进行比较来做到这一点。

final SpeechRecognizer mSpeechRecognizer = SpeechRecognizer.createSpeechRecognizer(this);

    final Intent mSpeechRecognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
    mSpeechRecognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
            RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
    mSpeechRecognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE,
            Locale.getDefault());

    Bundle bundle = getIntent().getExtras();
    if (bundle != null) {
        textview.setText(bundle.getString("letterA"));
        if (textview.getText().toString().equalsIgnoreCase("apple")){
            q="apple";
            Glide.with(Voice_view.this).load(R.drawable.apple).into(imageView);
            letter.setText("A");

【问题讨论】:

    标签: android speech-recognition speech-to-text android-studio-3.0 voice-recognition


    【解决方案1】:

    一般来说,识别 A、B、C... 字母的问题有几个方面,首先是少量的音频数据,其次是某些字母听起来相似的趋势。我们可以在很短的时间内说出“A”,从而导致相对于准确检测所需的音频数据非常少。 “b,c,d,e,g...”都以“iy”的声音结束,所以我们必须继续将它们分开,只需要在开始时发出很短的音频。解码器通常对“A”更满意,因为我们倾向于在发音时把它拖出来。

    在某些识别上下文中,如果您可以访问上下文无关语法来缩小可识别为有效句子的范围,您可以获得更多控制权。在线识别器不给你这个选项(据我所知)。独立的识别器(例如 Julius)可以使用 Backus-Naur 形式的上下文无关语法,因此尽管没有解决,但您找到单个字母的机会会大大提高。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-15
      • 1970-01-01
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多