Combining multiple TTS inputs

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Gast

    #1

    Combining multiple TTS inputs

    Hi all,

    A question: I would like to use multiple text-markers as the input for the TTS on the Audioserver. This seems not to be possible. Has anybody any idea on how to solve this in an elegant and well functioning way.

    I could create a sequential controller that checks if on of the multiple inputs is changed and in that case change the output to that input value. But, in order to gest this working, it would require the controller to constantly monitor the inputs, requiring a lot of system resources.

    All tips more than welcome!

    Greetings from Belgium
    Koen
  • Gast

    #2
    Nothing?

    Kommentar

    • Tico
      Lox Guru
      • 31.08.2016
      • 1035

      #3
      I'm a bit unclear on what you want to do. How are the multiple inputs being measured as changing? Are the multiple inputs numeric values that you wish to trigger a particular voice command for?

      Have you looked at the Status Block? You can have any value input correspond to a desired text output. There are multiple lines available that can hold hundreds of desired voice commands.
      Zuletzt geändert von Tico; 23.08.2022, 08:14.
      Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

      Kommentar

      • Tico
        Lox Guru
        • 31.08.2016
        • 1035

        #4
        In the example below, I have three Virtual Inputs. The input that has the last change is the one that is being assessed at input AI1.

        Within the Status Block, the first line that satisfies the comparison will output the applicable Status-text output (TQ). For example, I can change Input VI3 to count from 0 to 30. When it lands on value 10, the text 'Ten' will be output. When it lands on value 20, the text 'Twenty' will be output etc.

        If value 30 is maintained on AI1, but a subsequent value change occurs on a different Virtual Input (the subsequent value change being not equal to any of 10, 20 or 30), then no text is output.

        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Text Output.png
Ansichten: 597
Größe: 42,7 KB
ID: 355731
        Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

        Kommentar

        • Gast

          #5
          Hi Tico,
          Thanks for the reply!

          I use multiple Sequential controllers to generate text messages (on alarm states, windows & doors that are open, ...). Now I would like to use these different TQ-outputs as input for the TTS from an audio controller in every room. This way, I would like to use speech notifications that give status messages.

          Hope this clarifies my question a bit?

          Kommentar

          • Tico
            Lox Guru
            • 31.08.2016
            • 1035

            #6
            The Status Block would still be your go-to choice. I haven't got an Audioserver to test this on, but I use the same technique for broadcasting to Google Home devices.

            Using a Sequential Controller seems a bit of overkill to generate the text messages. A simpler method is to use the Status Block as follows -

            Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Windows open.png
Ansichten: 773
Größe: 18,7 KB
ID: 355928

            I've included a trigger on AI2 for demonstration purposes. You can also remove the trigger condition and each value change on AI1 will also update the text output.

            Combining all your TQ outputs on a single Status Block before the TTS Input would look like this -

            Klicke auf die Grafik für eine vergrößerte Ansicht

Name: The house is on fire.png
Ansichten: 517
Größe: 33,2 KB
ID: 355929

            You can also selectively use Text comparisons to only verbalise a subset of messages. The image below will work exactly the same as the image above, but will only let the listed messages through. Note the use of the comparison *= (contains). The explanation is at the bottom of the Status Text block.

            Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Selective text.png
Ansichten: 534
Größe: 37,1 KB
ID: 355930
            Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

            Kommentar

            • Gast

              #7
              Yes, that did the trick. I was not aware that the Status block input would be able to recognise the different text inputs. In the sequential controller, combining multiple texts results in a '1' on the input.

              ...I really should look into the status block a bit more!

              thanks for the help!

              Kommentar

              Lädt...