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

Android文本到语音的配置和变化

汪兴为
2023-03-14

我想知道如何对语音引擎进行配置更改。例如,我想降低阅读文本的速度,在男性和女性声音之间交换,甚至为不同的语言提供支持。有人能帮我提供这些信息吗。提前致谢:)

[下面是我目前使用的代码(礼貌:一个写得很好的android TTS基本博客),所有变量都已经声明我没有复制整个代码,这个代码片段工作得很好。]

btnSpeak = (ImageButton) findViewById(R.id.ttsIB);    
btnSpeak.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                speakOut();
            }

        });

@Override
    public void onDestroy() {
        // to shutdown TTS
        if (tts != null) {
            tts.stop();
            tts.shutdown();
        }
        super.onDestroy();
    }

    @Override
    public void onInit(int status) 
    {

        if (status == TextToSpeech.SUCCESS) 
        {
            int result = tts.setLanguage(Locale.US);

            if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED)
            {
                Log.e("TTS", "This Language is not supported");
            } 
            else 
            {
                btnSpeak.setEnabled(true);
                speakOut();
            }

        } 
        else 
        {
            Log.e("TTS", "Initilization Failed!");
        }

    }

    private void speakOut() 
    {

        String text = textVal.getText().toString();

        tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
    }

共有1个答案

潘坚白
2023-03-14

我在几年前使用过TTS,并记得,没有太多的配置可能性。

有一个有用的方法SetEngineBypackageName(String packageName)

一些TTS引擎对每个语音都有单独的包名。例如,使用Loquendo,您需要编写tts.setEngineBypackagename(“com.Loquendo.tts.susan”),您的应用程序将与美国语音Susan对话。

tts.setEngineByPackageName("com.svox.pico");
tts.setLanguage(Locale.US);
 类似资料:
  • 我已经查看了语音识别的Android示例,但我并不真正了解它应该做什么或它是如何工作的。在清单中没有任何类型的主要活动要运行,因此当我在手机上安装该应用程序时,我无法运行它。 我还试图找到一个简单的语音到文本的示例,它将语音作为输入并在屏幕上输出文本。这样我就可以研究它来看看它是如何工作的,但是我在网上找不到任何展示它的示例。

  • Android谷歌语音转文本SDK,语音录制由SDK控制。我需要将其设置为手动按钮,用于启动和停止语音录制,以便将语音转换为文本。例如:当单击按钮开始语音识别时,它会继续录制音频,直到单击停止按钮。但在android SDK中,它会自动停止录制并将录制的音频传递给处理。

  • 问题内容: 我开发了可以识别普通话语音,然后生成文本的android应用程序。但是我找不到怎么做。有人可以给我示例其他语言(普通话,法国等)的语音识别代码吗? 问题答案: 您可以在调用识别器时设置RecognizerIntent.EXTRA_LANGUAGE。 因此,简体中文的示例为:

  • 我想在我的应用程序中转换语音到文本...对于这个,我正在使用识别监听器界面一切正常,但如何更新和显示文本,即使说话(像在谷歌现在语音搜索) 我已经设置了识别意图。EXTRA_PARTIAL_RESULTS,为真,并且还使用了识别监听器界面的onPARAL结果(Bundle arg()方法来设置文本通过语音识别完成后立即显示整个文本,但是我希望实时文本在用户说话时显示 我的活动 怎么让这一切发生

  • 带有en-us语音的AVSpeechsynthesizer是“A”的发音,是“大写字母A”,但只想要“A”,怎么能做到呢?

  • 我跟着这首短裙:https://jbinformatique.com/2018/02/16/android-speech-to-text-api-google-tutoriel/ 它工作得很好!它使用android.speech.识别意图包,它是免费的,它可以在没有互联网的情况下工作,正如这里提到的: Android语音到文本API(识别器意图)和Google Cloud Speech API之间