Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. QTextTospeech can't found engines
QtWS25 Last Chance

QTextTospeech can't found engines

Scheduled Pinned Locked Moved Solved General and Desktop
qtexttospeechlinuxqt5.15.2
12 Posts 3 Posters 1.3k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • . Offline
    . Offline
    ._Miro_.
    wrote on last edited by
    #1

    Hello, I work with version QT 5.15.2 on a raspberry pi4.
    My goal is to develop software capable of doing TTS (text to speech).
    The problem I have is that the availabeEngines() method always returns only one engine namely speechd.
    I saw on the blog: https://www.qt.io/blog/qt-speech-coming-to-qt-6.4 that for Linux devices, flite in version 2.3 was also supported.
    So I installed this version:

    texttospeech git:(feature/multi-langs) ✗ flite --version
      Carnegie Mellon University, Copyright (c) 1999-2016, all rights reserved
      version: flite-2.3-current Mar 2022 (http://cmuflite.org)
    

    but when I run my application I always only have speechd. here is my code and the output I have:

    #include <QCoreApplication>
    #include <iostream>
    #include <QTextToSpeech>
    int main(int argc, char *argv[])
    {
       QCoreApplication a(argc, argv);
       for(auto const& v : QTextToSpeech::availableEngines()){
           std::cout << "engine:"<<v.toStdString() << std::endl;
       }
        return a.exec();
    }
    

    give me

    engine:speechd
    

    Why is flite not found ?
    Is it a bug in the class on. version 5.15.2 ?

    jsulmJ 1 Reply Last reply
    0
    • jsulmJ jsulm

      @_Miro_ You have /usr/lib/aarch64-linux-gnu/qt5/plugins/texttospeech/libqtexttospeech_speechd.so but no /usr/lib/aarch64-linux-gnu/qt5/plugins/texttospeech/libqtexttospeech_flite.so (or whatever the exact lib name is for Flite).

      . Offline
      . Offline
      ._Miro_.
      wrote on last edited by
      #12

      @jsulm I finally found my mistake, I'm missing the install

      qtspeech5-flite-plugin
      

      Thank you

      1 Reply Last reply
      1
      • . ._Miro_.

        Hello, I work with version QT 5.15.2 on a raspberry pi4.
        My goal is to develop software capable of doing TTS (text to speech).
        The problem I have is that the availabeEngines() method always returns only one engine namely speechd.
        I saw on the blog: https://www.qt.io/blog/qt-speech-coming-to-qt-6.4 that for Linux devices, flite in version 2.3 was also supported.
        So I installed this version:

        texttospeech git:(feature/multi-langs) ✗ flite --version
          Carnegie Mellon University, Copyright (c) 1999-2016, all rights reserved
          version: flite-2.3-current Mar 2022 (http://cmuflite.org)
        

        but when I run my application I always only have speechd. here is my code and the output I have:

        #include <QCoreApplication>
        #include <iostream>
        #include <QTextToSpeech>
        int main(int argc, char *argv[])
        {
           QCoreApplication a(argc, argv);
           for(auto const& v : QTextToSpeech::availableEngines()){
               std::cout << "engine:"<<v.toStdString() << std::endl;
           }
            return a.exec();
        }
        

        give me

        engine:speechd
        

        Why is flite not found ?
        Is it a bug in the class on. version 5.15.2 ?

        jsulmJ Offline
        jsulmJ Offline
        jsulm
        Lifetime Qt Champion
        wrote on last edited by
        #2

        @_Miro_ Take a look at https://doc.qt.io/qt-6/qttexttospeech-engines.html "Flite" and check whether you have Flite libs in one of the folders mentioned there.

        https://forum.qt.io/topic/113070/qt-code-of-conduct

        . 1 Reply Last reply
        0
        • jsulmJ jsulm

          @_Miro_ Take a look at https://doc.qt.io/qt-6/qttexttospeech-engines.html "Flite" and check whether you have Flite libs in one of the folders mentioned there.

          . Offline
          . Offline
          ._Miro_.
          wrote on last edited by
          #3

          @jsulm If I do the find command:

          sudo find / -name "flite" -type d
          

          I have this output:

          /usr/share/doc/flite
          /usr/local/include/flite
          /usr/include/flite
          
          jsulmJ 1 Reply Last reply
          0
          • . ._Miro_.

            @jsulm If I do the find command:

            sudo find / -name "flite" -type d
            

            I have this output:

            /usr/share/doc/flite
            /usr/local/include/flite
            /usr/include/flite
            
            jsulmJ Offline
            jsulmJ Offline
            jsulm
            Lifetime Qt Champion
            wrote on last edited by
            #4

            @_Miro_ You need to search for flite library files...

            https://forum.qt.io/topic/113070/qt-code-of-conduct

            . 1 Reply Last reply
            0
            • jsulmJ jsulm

              @_Miro_ You need to search for flite library files...

              . Offline
              . Offline
              ._Miro_.
              wrote on last edited by ._Miro_.
              #5

              @jsulm Something like :

              
              /.
              /usr
              /usr/lib
              /usr/lib/aarch64-linux-gnu
              /usr/lib/aarch64-linux-gnu/libflite.so.2.2
              /usr/lib/aarch64-linux-gnu/libflite_cmu_grapheme_lang.so.2.2
              /usr/lib/aarch64-linux-gnu/libflite_cmu_grapheme_lex.so.2.2
              /usr/lib/aarch64-linux-gnu/libflite_cmu_indic_lang.so.2.2
              /usr/lib/aarch64-linux-gnu/libflite_cmu_indic_lex.so.2.2
              /usr/lib/aarch64-linux-gnu/libflite_cmu_time_awb.so.2.2
              /usr/lib/aarch64-linux-gnu/libflite_cmu_us_awb.so.2.2
              /usr/lib/aarch64-linux-gnu/libflite_cmu_us_kal.so.2.2
              /usr/lib/aarch64-linux-gnu/libflite_cmu_us_kal16.so.2.2
              /usr/lib/aarch64-linux-gnu/libflite_cmu_us_rms.so.2.2
              /usr/lib/aarch64-linux-gnu/libflite_cmu_us_slt.so.2.2
              /usr/lib/aarch64-linux-gnu/libflite_cmulex.so.2.2
              /usr/lib/aarch64-linux-gnu/libflite_usenglish.so.2.2
              /usr/share
              /usr/share/doc
              /usr/share/doc/libflite1
              /usr/share/doc/libflite1/changelog.Debian.gz
              /usr/share/doc/libflite1/copyright
              /usr/share/lintian
              /usr/share/lintian/overrides
              /usr/share/lintian/overrides/libflite1
              /usr/lib/aarch64-linux-gnu/libflite.so.1
              /usr/lib/aarch64-linux-gnu/libflite_cmu_grapheme_lang.so.1
              /usr/lib/aarch64-linux-gnu/libflite_cmu_grapheme_lex.so.1
              /usr/lib/aarch64-linux-gnu/libflite_cmu_indic_lang.so.1
              /usr/lib/aarch64-linux-gnu/libflite_cmu_indic_lex.so.1
              /usr/lib/aarch64-linux-gnu/libflite_cmu_time_awb.so.1
              /usr/lib/aarch64-linux-gnu/libflite_cmu_us_awb.so.1
              /usr/lib/aarch64-linux-gnu/libflite_cmu_us_kal.so.1
              /usr/lib/aarch64-linux-gnu/libflite_cmu_us_kal16.so.1
              /usr/lib/aarch64-linux-gnu/libflite_cmu_us_rms.so.1
              /usr/lib/aarch64-linux-gnu/libflite_cmu_us_slt.so.1
              /usr/lib/aarch64-linux-gnu/libflite_cmulex.so.1
              /usr/lib/aarch64-linux-gnu/libflite_usenglish.so.1
              

              and

               export LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu:$LD_LIBRARY_PATH ?
              

              Because, I have the same thing

              jsulmJ 1 Reply Last reply
              0
              • . ._Miro_.

                @jsulm Something like :

                
                /.
                /usr
                /usr/lib
                /usr/lib/aarch64-linux-gnu
                /usr/lib/aarch64-linux-gnu/libflite.so.2.2
                /usr/lib/aarch64-linux-gnu/libflite_cmu_grapheme_lang.so.2.2
                /usr/lib/aarch64-linux-gnu/libflite_cmu_grapheme_lex.so.2.2
                /usr/lib/aarch64-linux-gnu/libflite_cmu_indic_lang.so.2.2
                /usr/lib/aarch64-linux-gnu/libflite_cmu_indic_lex.so.2.2
                /usr/lib/aarch64-linux-gnu/libflite_cmu_time_awb.so.2.2
                /usr/lib/aarch64-linux-gnu/libflite_cmu_us_awb.so.2.2
                /usr/lib/aarch64-linux-gnu/libflite_cmu_us_kal.so.2.2
                /usr/lib/aarch64-linux-gnu/libflite_cmu_us_kal16.so.2.2
                /usr/lib/aarch64-linux-gnu/libflite_cmu_us_rms.so.2.2
                /usr/lib/aarch64-linux-gnu/libflite_cmu_us_slt.so.2.2
                /usr/lib/aarch64-linux-gnu/libflite_cmulex.so.2.2
                /usr/lib/aarch64-linux-gnu/libflite_usenglish.so.2.2
                /usr/share
                /usr/share/doc
                /usr/share/doc/libflite1
                /usr/share/doc/libflite1/changelog.Debian.gz
                /usr/share/doc/libflite1/copyright
                /usr/share/lintian
                /usr/share/lintian/overrides
                /usr/share/lintian/overrides/libflite1
                /usr/lib/aarch64-linux-gnu/libflite.so.1
                /usr/lib/aarch64-linux-gnu/libflite_cmu_grapheme_lang.so.1
                /usr/lib/aarch64-linux-gnu/libflite_cmu_grapheme_lex.so.1
                /usr/lib/aarch64-linux-gnu/libflite_cmu_indic_lang.so.1
                /usr/lib/aarch64-linux-gnu/libflite_cmu_indic_lex.so.1
                /usr/lib/aarch64-linux-gnu/libflite_cmu_time_awb.so.1
                /usr/lib/aarch64-linux-gnu/libflite_cmu_us_awb.so.1
                /usr/lib/aarch64-linux-gnu/libflite_cmu_us_kal.so.1
                /usr/lib/aarch64-linux-gnu/libflite_cmu_us_kal16.so.1
                /usr/lib/aarch64-linux-gnu/libflite_cmu_us_rms.so.1
                /usr/lib/aarch64-linux-gnu/libflite_cmu_us_slt.so.1
                /usr/lib/aarch64-linux-gnu/libflite_cmulex.so.1
                /usr/lib/aarch64-linux-gnu/libflite_usenglish.so.1
                

                and

                 export LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu:$LD_LIBRARY_PATH ?
                

                Because, I have the same thing

                jsulmJ Offline
                jsulmJ Offline
                jsulm
                Lifetime Qt Champion
                wrote on last edited by
                #6

                @_Miro_ said in QTextTospeech can't found engines:

                export LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu:$LD_LIBRARY_PATH ?

                This is not needed for standard locations.
                You can also check what happens when plug-ins are loaded. See https://doc.qt.io/qt-6/debug.html QT_DEBUG_PLUGINS

                https://forum.qt.io/topic/113070/qt-code-of-conduct

                . 1 Reply Last reply
                0
                • jsulmJ jsulm

                  @_Miro_ said in QTextTospeech can't found engines:

                  export LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu:$LD_LIBRARY_PATH ?

                  This is not needed for standard locations.
                  You can also check what happens when plug-ins are loaded. See https://doc.qt.io/qt-6/debug.html QT_DEBUG_PLUGINS

                  . Offline
                  . Offline
                  ._Miro_.
                  wrote on last edited by
                  #7

                  @jsulm When I load the plugin, only speechd is found in the keys

                  ➜   export QT_DEBUG_PLUGINS=1
                  
                  ➜   ./speech
                  QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/aarch64-linux-gnu/qt5/plugins/texttospeech" ...
                  QFactoryLoader::QFactoryLoader() looking at "/usr/lib/aarch64-linux-gnu/qt5/plugins/texttospeech/libqtexttospeech_speechd.so"
                  Found metadata in lib /usr/lib/aarch64-linux-gnu/qt5/plugins/texttospeech/libqtexttospeech_speechd.so, metadata=
                  {
                      "IID": "org.qt-project.qt.speech.tts.plugin/5.0",
                      "MetaData": {
                          "Features": [
                          ],
                          "Keys": [
                              "speechd"
                          ],
                          "Provider": "speechd",
                          "Version": 100
                      },
                      "archreq": 0,
                      "className": "QTextToSpeechPluginSpeechd",
                      "debug": false,
                      "version": 331520
                  }
                  
                  
                  Got keys from plugin meta data ("speechd")
                  QFactoryLoader::QFactoryLoader() checking directory path "/home/pi/Desktop/texttospeech/texttospeech" ...
                  engine:speechd
                  
                  jsulmJ 1 Reply Last reply
                  0
                  • . ._Miro_.

                    @jsulm When I load the plugin, only speechd is found in the keys

                    ➜   export QT_DEBUG_PLUGINS=1
                    
                    ➜   ./speech
                    QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/aarch64-linux-gnu/qt5/plugins/texttospeech" ...
                    QFactoryLoader::QFactoryLoader() looking at "/usr/lib/aarch64-linux-gnu/qt5/plugins/texttospeech/libqtexttospeech_speechd.so"
                    Found metadata in lib /usr/lib/aarch64-linux-gnu/qt5/plugins/texttospeech/libqtexttospeech_speechd.so, metadata=
                    {
                        "IID": "org.qt-project.qt.speech.tts.plugin/5.0",
                        "MetaData": {
                            "Features": [
                            ],
                            "Keys": [
                                "speechd"
                            ],
                            "Provider": "speechd",
                            "Version": 100
                        },
                        "archreq": 0,
                        "className": "QTextToSpeechPluginSpeechd",
                        "debug": false,
                        "version": 331520
                    }
                    
                    
                    Got keys from plugin meta data ("speechd")
                    QFactoryLoader::QFactoryLoader() checking directory path "/home/pi/Desktop/texttospeech/texttospeech" ...
                    engine:speechd
                    
                    jsulmJ Offline
                    jsulmJ Offline
                    jsulm
                    Lifetime Qt Champion
                    wrote on last edited by
                    #8

                    @_Miro_ said in QTextTospeech can't found engines:

                    /usr/lib/aarch64-linux-gnu/qt5/plugins/texttospeech

                    I guess the texttospeech plug-in was built without Flite support?

                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                    . 1 Reply Last reply
                    0
                    • jsulmJ jsulm

                      @_Miro_ said in QTextTospeech can't found engines:

                      /usr/lib/aarch64-linux-gnu/qt5/plugins/texttospeech

                      I guess the texttospeech plug-in was built without Flite support?

                      . Offline
                      . Offline
                      ._Miro_.
                      wrote on last edited by
                      #9

                      @jsulm I don't understand: <<. I assume the texttospeech plugin was built without Flite support? >>

                      Actually, I can't load the engine for example:

                      QTextToSpeech *tts = new QTextToSpeech("flite");
                      

                      return -> Text-to-speech plug-in "flite" is not supported.

                      jsulmJ 1 Reply Last reply
                      0
                      • . ._Miro_.

                        @jsulm I don't understand: <<. I assume the texttospeech plugin was built without Flite support? >>

                        Actually, I can't load the engine for example:

                        QTextToSpeech *tts = new QTextToSpeech("flite");
                        

                        return -> Text-to-speech plug-in "flite" is not supported.

                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by
                        #10

                        @_Miro_ You have /usr/lib/aarch64-linux-gnu/qt5/plugins/texttospeech/libqtexttospeech_speechd.so but no /usr/lib/aarch64-linux-gnu/qt5/plugins/texttospeech/libqtexttospeech_flite.so (or whatever the exact lib name is for Flite).

                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                        . 1 Reply Last reply
                        0
                        • B Offline
                          B Offline
                          Bonnie
                          wrote on last edited by
                          #11

                          There seems no flite support according to the doc of 5.15 https://doc.qt.io/qt-5/qtspeech-index.html

                          The module depends on Speech Dispatcher (libspeechd) on the Linux platform.

                          1 Reply Last reply
                          0
                          • jsulmJ jsulm

                            @_Miro_ You have /usr/lib/aarch64-linux-gnu/qt5/plugins/texttospeech/libqtexttospeech_speechd.so but no /usr/lib/aarch64-linux-gnu/qt5/plugins/texttospeech/libqtexttospeech_flite.so (or whatever the exact lib name is for Flite).

                            . Offline
                            . Offline
                            ._Miro_.
                            wrote on last edited by
                            #12

                            @jsulm I finally found my mistake, I'm missing the install

                            qtspeech5-flite-plugin
                            

                            Thank you

                            1 Reply Last reply
                            1
                            • . ._Miro_. has marked this topic as solved on

                            • Login

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • Users
                            • Groups
                            • Search
                            • Get Qt Extensions
                            • Unsolved