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. Text To Speech Shows No Engines
Forum Updated to NodeBB v4.3 + New Features

Text To Speech Shows No Engines

Scheduled Pinned Locked Moved Unsolved General and Desktop
20 Posts 2 Posters 1.3k Views 2 Watching
  • 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.
  • F Offline
    F Offline
    fortnitegamer4
    wrote on last edited by
    #1

    I am attempting to implement the text to speech library in my plugin, however QTextToSpeech has 0 engines, 0 locales, and 0 voices. But, when I build and run the hello speak example, it has the Microsoft engines and voices.

    Main::initalize() {
      QTextToSpeech *m_speech = new QTextToSpeech();
      printf("Engines: " + std::to_string(m_speech->availableEngines().size()));
      printf("Locales: " + std::to_string(m_speech->availableLocales().size()));
      printf("Voices: " + std::to_string(m_speech->availableVoices().size()));
    }
    
    Engines: 0
    Locales: 0
    Voices: 0
    

    I've tried to create QTextToSpeech with the sapi engine (QTextToSpeech *m_speech = new QTextToSpeech("sapi", this)), and it also returns 0 voices.

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi and welcome to devnet,

      What kind of plugin ?
      In what type of application ?

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      F 1 Reply Last reply
      0
      • SGaistS SGaist

        Hi and welcome to devnet,

        What kind of plugin ?
        In what type of application ?

        F Offline
        F Offline
        fortnitegamer4
        wrote on last edited by
        #3

        @SGaist It is a TeamSpeak3 plugin. I've ensured that the Qt5TextToSpeech DLL is in an accessible place.

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          I would guess that you did not deploy the module plugins.

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          F 1 Reply Last reply
          0
          • SGaistS SGaist

            I would guess that you did not deploy the module plugins.

            F Offline
            F Offline
            fortnitegamer4
            wrote on last edited by
            #5

            @SGaist Oh I wasn't aware that I needed to do something extra in order to get it to work. So just providing the TTS dll doesn't allow my code to find/use the engines installed?

            How would I go about deploying the module plugins? The other modules used are provided by TeamSpeak and didn't require deploying the module to use it.

            1 Reply Last reply
            0
            • SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote on last edited by
              #6

              What exactly did you deploy and how ?

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              F 1 Reply Last reply
              0
              • SGaistS SGaist

                What exactly did you deploy and how ?

                F Offline
                F Offline
                fortnitegamer4
                wrote on last edited by
                #7

                @SGaist Typically I just run the standard build in Visual Studio. TTS is the only one giving me some real hassle, websockets were added relatively easily. I figured using the dll for TTS would be the same as what I had to do for websockets which was just make the dll accessible to my TeamSpeak plugin.

                1 Reply Last reply
                0
                • SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on last edited by SGaist
                  #8

                  You should then start your application with the QT_DEBUG_PLUGINS environment variable to 1 to see what is happening with the plugins on the Qt side.

                  Interested in AI ? www.idiap.ch
                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                  F 1 Reply Last reply
                  0
                  • SGaistS SGaist

                    You should then start your application with the QT_DEBUG_PLUGINS environment variable to 1 to see what is happening with the plugins on the Qt side.

                    F Offline
                    F Offline
                    fortnitegamer4
                    wrote on last edited by
                    #9

                    @SGaist Will I get information if my plugin is only loaded by TeamSpeak. I've tried QT_DEBUG_PLUGIN but it doesn't seem to work with the way TeamSpeak loads the plugin (unless I'm just missing some step to get the info).

                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #10

                      It's QT_DEBUG_PLUGINS. Sorry I missed the S.

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      1 Reply Last reply
                      0
                      • F Offline
                        F Offline
                        fortnitegamer4
                        wrote on last edited by
                        #11

                        Yeah I've tried that as well after looking up the usage of it. Since I'm not invoking my plugin directly, and TeamSpeak is with it's own handler, I'm not sure if I'm suppose to see anything in my output.

                        I know the TTS dll is loaded, as previously without it I would get an error in the TeamSpeak console about it, I'm just unsure there are no speech engines when trying to use it.

                        1 Reply Last reply
                        0
                        • SGaistS Offline
                          SGaistS Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on last edited by
                          #12

                          Did you check the structure of the TeamSpeak installation ?
                          Check for a plugins folder.
                          If there's one, try copying there the tts plugins folder.

                          Interested in AI ? www.idiap.ch
                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                          1 Reply Last reply
                          0
                          • F Offline
                            F Offline
                            fortnitegamer4
                            wrote on last edited by
                            #13

                            Ah okay, I see now. I copied the qtexttospeech_sapi and qtexttospeech_sapid DLLs, which I had previously not had, to the same location I have the Qt5TextToSpeech DLL, however it still showing no engines or voices available.

                            1 Reply Last reply
                            0
                            • SGaistS Offline
                              SGaistS Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on last edited by
                              #14

                              The plugins shall stay in the same folder structure. It's where Qt will search for then.

                              Interested in AI ? www.idiap.ch
                              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                              1 Reply Last reply
                              0
                              • F Offline
                                F Offline
                                fortnitegamer4
                                wrote on last edited by
                                #15

                                I've tried it both ways, with them just in the root folder where all my other libs are, and making a plugins folder inside my directory which would match what I think you are asking. I also even tried to put them in the TeamSpeak plugins folder but that didn't work as well.

                                1 Reply Last reply
                                0
                                • SGaistS Offline
                                  SGaistS Offline
                                  SGaist
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #16

                                  Can you show the folder trees you tried ?

                                  Interested in AI ? www.idiap.ch
                                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                  1 Reply Last reply
                                  0
                                  • F Offline
                                    F Offline
                                    fortnitegamer4
                                    wrote on last edited by
                                    #17

                                    First Attempt First Attempt

                                    Second Attempt Second Attempt

                                    Third attempt Third Attempt

                                    1 Reply Last reply
                                    0
                                    • SGaistS Offline
                                      SGaistS Offline
                                      SGaist
                                      Lifetime Qt Champion
                                      wrote on last edited by
                                      #18

                                      The plugin folder name should match the one from your Qt installation. If memory serves well, it should be "tts".

                                      Interested in AI ? www.idiap.ch
                                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                      1 Reply Last reply
                                      0
                                      • F Offline
                                        F Offline
                                        fortnitegamer4
                                        wrote on last edited by
                                        #19

                                        Okay I've tried both tts in the root folder and inside a plugins folder and it still didn't recognize any engines or voices.

                                        1 Reply Last reply
                                        0
                                        • SGaistS Offline
                                          SGaistS Offline
                                          SGaist
                                          Lifetime Qt Champion
                                          wrote on last edited by
                                          #20

                                          Then I would go with strace to see what is going on with file access.

                                          Since you are on Windows, maybe DrMemory'sdstrace may help.

                                          Interested in AI ? www.idiap.ch
                                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                          1 Reply Last reply
                                          0

                                          • Login

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