标签: text-to-speech

Android TTS XML中phoneme属性的正确语法是什么?

我的理解是,这个X-SAMPA XML样本,就像这里的其他样本一样,甚至在这里这里,都应该听起来像是什么.

String text = "<speak xml:lang=\"en-US\"> <phoneme alphabet=\"xsampa\" ph=\"faIv\"/>.</speak>";
mTts.speak(text, TextToSpeech.QUEUE_ADD, null); 
Run Code Online (Sandbox Code Playgroud)

然而,由于一些奇怪的原因,它没有说什么(完全沉默).

我错过了什么?

为了澄清:我的TTS示例应用程序设置正常:如果我.在该</speak>标记之前将其更改为任何单词,Android TTS只是说这个单词很好.我唯一的问题是我无法以<phoneme alphabet=\"xsampa\" ph=\"faIv\"/>任何方式利用它.

我知道a .应该是静默的,但根据这些样本的海报,它应该是XML中的XSAMPA音素.我错过了什么?

android text-to-speech ssml

9
推荐指数
1
解决办法
2222
查看次数

Android不承认TTS引擎

我在这里开发一个非常简单的应用程序.这是我脑性麻痹的女儿.这只是一个很大的YES和NO按钮,所以她可以在要求时按下它们.

嗯......我正在使用SVOX经典TTS引擎.

一切顺利,直到我的平板电脑升级到ICS.现在,每次我运行应用程序时,都会打开市场,要求我安装TTS.我点击"回"然后,我的应用说话.这非常烦人.

以下是Google API所说的内容:

*成功检查将由CHECK_VOICE_DATA_PASS结果代码标记,表示在创建TextToSpeech对象后,此设备已准备好发言.如果没有,我们需要让用户知道安装设备成为多语言对话机所需的数据!下载和安装数据是通过触发ACTION_INSTALL_TTS_DATA意图完成的,该意图将用户带到Android Market,并让她/他启动下载.下载完成后,将自动安装数据.以下是onActivityResult()实现的示例:*

这是我的代码:

public class yesOunoActivity extends Activity implements OnInitListener{
ImageView yes;
ImageView no;
public TextToSpeech tts;
private int MY_DATA_CHECK_CODE = 0;

@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    Intent checkIntent = new Intent();
    checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
    startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);

    tts = new TextToSpeech(this, this);

    setContentView(R.layout.yesorno);

    yes = (ImageView) findViewById(R.id.yes);
    no = (ImageView) findViewById(R.id.no);


    yes.setClickable(true); 
    yes.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent arg1) {

             if (arg1.getAction() == android.view.MotionEvent.ACTION_DOWN) {                             
                 tts.speak("yes!", TextToSpeech.QUEUE_ADD, null);
             }
             return true; …
Run Code Online (Sandbox Code Playgroud)

android text-to-speech android-4.0-ice-cream-sandwich

9
推荐指数
1
解决办法
4757
查看次数

我在哪里可以使用Windows 7中的System.Speech获取.net应用程序的声音?

我对Windows中的文本到语音技术感到困惑.我有一个稍微特殊的要求:我需要使用System.Speech程序集从Win 7中运行的.net程序输出语音.我想要一个好的,机器人的声音,没有像微软安娜那样强烈的美国口音.

哪个第三方声音适用于.net api?有谁知道一个好的英国(但不是太英国)的声音,最好免费或便宜?

.net sapi text-to-speech

9
推荐指数
1
解决办法
2899
查看次数

谷歌在英国翻译文本到语音

我正在使用(非官方)谷歌翻译TTS api来检索mp3以支持残疾学习者阅读网页.一切正常,但我们有美国口音(我们在英国!).然而,当我使用Google翻译时,它会以英国口音取出mp3 - 我该如何调用此行为?

我使用了相同的GET请求URL,所以我可以假设它不是这样的:

http://translate.google.com/translate_tts?q=testing+1+2+3&tl=en
Run Code Online (Sandbox Code Playgroud)

(我玩过其他语言代码(en-gb)但没有运气 - 但是对于法语来说却很有用.)

非常感谢

text-to-speech google-translate

9
推荐指数
2
解决办法
3万
查看次数

无法检测到TTS(回调)android的完成.

我正在开发我正在使用文本到语音转换的android应用程序.当我打开应用程序运行文本到语音转换时,我需要什么.完成后我想做点什么.我的代码看起来像

public class Mainactivity extends Activity implements OnInitListener, OnUtteranceCompletedListener{
    private static int REQ_CODE = 1;
    private TextToSpeech tts = null;
    private boolean ttsIsInit = false;

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    startTextToSpeech();
    }

    private void startTextToSpeech() {
        Intent intent = new Intent(Engine.ACTION_CHECK_TTS_DATA);
        startActivityForResult(intent, REQ_CODE);
    }

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == REQ_CODE) {
            if (resultCode == Engine.CHECK_VOICE_DATA_PASS) {
                tts = new TextToSpeech(this, this); 
            } 
            else {
                Intent installVoice = new Intent(Engine.ACTION_INSTALL_TTS_DATA);
                startActivity(installVoice);
            } …
Run Code Online (Sandbox Code Playgroud)

android callback text-to-speech

9
推荐指数
2
解决办法
1万
查看次数

如何判断是否检查(启用)特定的TTS引擎?

此问题仅适用于Android 2.2:

以下屏幕截图显示了安装的3种不同的文本到语音引擎:

  1. PIco TTS(截至Froyo 2.2的Android默认版本)
  2. IVONA文字转语音总部
  3. SVOX Classic TTS

在此屏幕截图中,您可以看到并非所有3都已选中(已启用).相反,IVONA未经检查,仅留下Pico(暗示,因为它是硬编码的)和SVOX(已检查).

在此输入图像描述

我希望能够以编程方式从我的应用程序查询特定的TTS引擎(如IVONA)是否被选中(假设我知道在编码时的包名,当然).

在安卓2.2所有我是getDefaultEngine()不能在一个情况下真正帮助被选定为默认和SVOX检查(换句话说,我怎么知道SVOX如果被选中的Pico是默认?)

如何在Android 2.2中实现这一目标?

这是可能吗?

PS Android 4.x(API> = 14)引入了getEngines(),这可能会让您相信ICS +已经解决了这个问题,但仔细研究后发现:

  1. getEngines()仅列出已安装但未检查(已启用)的软件包.
  2. 每个列出的包附带的EngineInfo仅提供名称,标签,图标,优先级以及它是否是系统映像的一部分.换句话说,与Android 2.2中的限制相同.

android text-to-speech android-2.2-froyo

9
推荐指数
1
解决办法
2994
查看次数

Android TTS无法说出大量文字

我正在尝试使用Android Text To Speech讲出大量文本.我使用默认的Google语音引擎.以下是我的代码.

 public class Talk extends Activity implements TextToSpeech.OnInitListener {

        private ImageView playBtn;

        private EditText textField;

        private TextToSpeech tts;
        private boolean isSpeaking = false;

        private String finalText;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_talk);

            //Intialize the instance variables
            playBtn = (ImageView)findViewById(R.id.playBtn);

            textField = (EditText)findViewById(R.id.textField);


            //Resister the listeners
            playBtn.setOnClickListener(new PlayBtnAction());

            //Other things
            tts = new TextToSpeech(this,this);

            //Get the web page text if called from Share-Via
            if (Intent.ACTION_SEND.equals(getIntent().getAction())) 
            {

                   new GetWebText().execute("");

            }
        }


        //This class will execute the text …
Run Code Online (Sandbox Code Playgroud)

java eclipse android text-to-speech google-text-to-speech

9
推荐指数
2
解决办法
6531
查看次数

如何在swift中暂停和恢复AVSpeechSynthesizer/AVSpeechUtterance?

我已经在我的应用程序中实现了文本到语音,它可以正常使用我目前使用的代码.基本上算法创建文本,然后如果用户点击UIButton,则说出文本.

挑战:我想启用相同的UIButton来暂停合成器,如果按钮已经被轻敲(即当前正在说话文本),然后如果再次点击按钮则继续说话停止.

我知道AVFoundation Reference中有一些函数,但我无法正确实现它们.

有谁知道如何在Swift中这样做?

import UIKit
import AVFoundation


    @IBOutlet var generatedText: UILabel!

@IBAction func buttonSpeakClicked(sender: UIButton){
    var mySpeechSynthesizer:AVSpeechSynthesizer = AVSpeechSynthesizer()
    var mySpeechUtterance:AVSpeechUtterance = AVSpeechUtterance(string:generatedText.text)
    mySpeechUtterance.rate = 0.075

mySpeechSynthesizer .speakUtterance(mySpeechUtterance)
}
Run Code Online (Sandbox Code Playgroud)

text-to-speech avfoundation avspeechsynthesizer swift

9
推荐指数
1
解决办法
3204
查看次数

将SpeechSynthesisUtterance转换为音频blob

使用javascript Speech Synthesis API,您可以让浏览器说出一些文字:

var message = new SpeechSynthesisUtterance('foo bar');
speechSynthesis.speak(message);
Run Code Online (Sandbox Code Playgroud)

但是,除了说出制作的音频之外,我还想做点什么.

是否有可能以某种方式将SpeechSynthesisUtterance转换为音频blob?

javascript text-to-speech

9
推荐指数
0
解决办法
352
查看次数

如何获取iOS 9上的所有语音列表?

获取"所有"AVSpeechSynthesisVoice对象列表的标准方法是要求它:

[AVSpeechSynthesisVoice speechVoices]
Run Code Online (Sandbox Code Playgroud)

但是,这仅显示每个语言区域对的唯一默认语音.例如,对于en-US:

"Language: en-US, Name: Samantha, Quality: Default",
Run Code Online (Sandbox Code Playgroud)

如果我查看常规→辅助功能→语音→语音→英语下的设置应用程序,我看到我选择了'Siri Female(增强版)',但该语音无法从代码中选择.完整列表是

1

所以最大的问题是:如何从代码中选择Alex或Siri Female作为声音?

cocoa speech text-to-speech ios

9
推荐指数
2
解决办法
4481
查看次数