Skip to content
  • QTextTospeech can't found engines

    Solved General and Desktop qtexttospeech linux qt5.15.2
    12
    0 Votes
    12 Posts
    1k Views
    .
    @jsulm I finally found my mistake, I'm missing the install qtspeech5-flite-plugin Thank you
  • QTextToSpeech::say exception

    Unsolved General and Desktop qtexttospeech exception
    6
    0 Votes
    6 Posts
    1k Views
    SGaistS
    Can you test whether a more recent version of Qt still has that problem ? The Qt 5.9 series is at the 5.9.6 and 5.11.1 being the current version.
  • 0 Votes
    3 Posts
    3k Views
    ?
    @raven-worx I don't have any experience with TTS either, also I can't find much info about the current infrastructure on Linux, resp. on KDE. I have installed speech-dispatcher. And I can make it speak in the terminal, using its own spd-say command. I'm not sure how speech-dispatcher and flite are related. I think speech-dispacher is an abstraction layer / daemon, and flite is one of several "engines" it can use. spd-say --list-output-modules says: OUTPUT MODULES flite cicero generic dummy espeak The following packages that seem to be relevant have been installed: speech-dispatcher libspeechd2 flite libflite1 speech-dispatcher-flite libqt5texttospeech5 libqt5texttospeech5-dev qtspeech5-flite-plugin Note that no qtspeech5-speechdispatcher-plugin (or similar) exists in the repo. But looking at the Qt Speech sources, it seems there should be such a plugin. Anyways, when I build an application for testing .... QTextToSpeech::availableEngines() returns "flite" availableLocales() gives "en_US" and availableVoices() says "kal16".
  • 0 Votes
    4 Posts
    2k Views
    _
    Thanks a zillion. For the record: qtexttospeech.h already has on line 118 Q_DECLARE_METATYPE(QTextToSpeech::State) Hence, what's missing is the qRegisterMetaType part. Which I am adding in main.cpp before the QTextToSpeech module is loaded. qRegisterMetaType<QTextToSpeech::State>("State"); QTextToSpeech* speech = new QTextToSpeech; Then, in main.qml, I am catching the state changed signals and the state like this: Connections { target: speech onStateChanged: { console.log("speech.state "+ speech.state); if (speech.state == 1){ console.log("--- we are speaking! ---"); } else if (speech.state == 0){ console.log("--- speaking stopped! ---"); } } }
  • QTextToSpeech Locales

    Unsolved General and Desktop qtexttospeech
    13
    0 Votes
    13 Posts
    4k Views
    SGaistS
    The module is not that big. What didn't you find ? As for the non-system voice, I don't know.