当前位置: 首页 > 知识库问答 >
问题:

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

卫和洽
2023-03-14

我想构建一个Android应用程序,它可以识别语音并将其转换为发音文本(即比较特殊单词和用户语音之间的真实发音或口音)。我只知道可以创建语音到文本。我想转换用户说的任何单词。

有没有API来做?如果没有,请帮助我如何实现它。

共有3个答案

艾仲渊
2023-03-14

Android有一种使用SpeechRecognitor类为开发人员提供语音识别的原生方式。

这个答案很好地解释了使用此API的利弊:

Android中的离线语音识别(JellyBean)

魏煜祺
2023-03-14

这些库可能适合您。我个人没有在Android中使用它们,但它们是针对Java的软件包。

查看以下答案:https://stackoverflow.com/a/9055291/3662013

孟浩慨
2023-03-14

我只是给语音到文本的代码。这是一个演示。我不知道这会对您有所帮助。但我正在将其用于我的应用程序。尝试使用它。

SpeechtoText。Java语言

public class SpeechtoText extends Activity {
protected static final int RESULT_SPEECH = 1;
private ImageButton btnSpeak;
private TextView txtText;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    txtText = (TextView) findViewById(R.id.txtText);
    btnSpeak = (ImageButton) findViewById(R.id.btnSpeak);
    btnSpeak.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(
                    RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
            intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "en-US");
            try {
                startActivityForResult(intent, RESULT_SPEECH);
                txtText.setText("");
            } catch (ActivityNotFoundException a) {
                Toast t = Toast.makeText(getApplicationContext(),
                        "Ops! Your device doesn't support Speech to Text",
                        Toast.LENGTH_SHORT);
                t.show();
            }
        }
       });
   }
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {
    case RESULT_SPEECH: {
        if (resultCode == RESULT_OK && null != data) {
            ArrayList<String> text = data
                    .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
            txtText.setText(text.get(0));
        }
        break;
    }
    }
}

}

activity\u main。xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/textView1"
android:layout_toLeftOf="@+id/textView1"
android:gravity="center"
android:orientation="vertical" >
<ImageButton
    android:id="@+id/btnSpeak"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:layout_marginRight="10dp"
    android:layout_marginTop="10dp"
    android:contentDescription="@string/speak"
    android:src="@android:drawable/ic_btn_speak_now" />
  <TextView
    android:id="@+id/txtText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:layout_marginTop="10dp"
    android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
 类似资料:
  • 在Swift中,我使用kCFStringTransformToLatin将日语转换为Romaji,将汉语转换为拼音。在Java中有什么可以与Android相媲美的吗?或者我必须导入一些库(正如在这里的几篇文章中讨论的那样)。如果是,建议哪一个?

  • 问题内容: 我想将 包含英文数字的a转换为阿拉伯数字,所以我将其转换为 输出 还有另一种更有效的方法吗? 问题答案: 这使字符串长度为3036的版本比原来的版本提高5倍。这还会检查以确保您只更改数字。如果不执行if / else检查,则速度大约是6倍。 如果字符不正确/放错了位置,请原谅我。我不得不从另一个来源找到其中一些。

  • [][1]我正在尝试用Vala语言做一个类似siri的应用程序。然而,我找不到任何语音识别或文本到语音库的vala,这是必不可少的。瓦拉有语音识别和语音文字转换吗?如果是的话,你能说出他们的名字吗? 顺便说一句,我是新的vala编程,所以也请做一些例子... 非常感谢。

  • 问题内容: 我只想知道在Java或C#中是否有任何库或外部库中的构建允许我获取音频文件并对其进行解析并从中提取文本。 我需要创建一个应用程序,但是我不知道从哪里开始。 问题答案: 以下是您的一些选择: 微软演讲 光明 龙自然讲 狮身人面像4

  • 问题内容: 我有一个我想完全输出为String的。本质上,我想使用由制表符分隔的每个元素按顺序输出。有什么快速的方法可以做到这一点吗?你可以遍历它(或删除每个元素)并将其连接为字符串,但我认为这会非常慢。 问题答案: 基本上,使用循环来迭代是唯一的选择: 不要使用此代码,请继续阅读此答案的底部,以了解为什么不希望使用此代码,以及应该使用哪个代码代替: 实际上,字符串串联就可以了,因为javac编译

  • 本文向大家介绍Python3实现汉语转换为汉语拼音,包括了Python3实现汉语转换为汉语拼音的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Python3实现汉语转换为汉语拼音的具体代码,供大家参考,具体内容如下 工具: Python3.6.2,pycharm 1.使用了 第三方模块 pypinyin(点击File->setting...->Project:name(自己的项目名称