Text to speech

Startseite Foren Deutsches LiveCode-Forum Text to speech

Ansicht von 4 Antwort-Themen
  • Autor
    Beiträge
    • #21802
      Herby
      Teilnehmer

      Hallo,

      laut Release-Info sollte die Version 9.6 nun auch unter Android einen Text in Sprache ausgeben können.
      ( New text to speech library for iOS, Android and macOS (Indy/Business only) ) <– Indy habe ich.

      Also habe ich dies gleich ausprobiert : revSpeak „Text“
      Der Lautsprecher von meinem Android-Smartphone schweigt aber weiter.

      Kann mir jemand hierzu einen Tipp geben ?

      Beste Grüße Herby

    • #21808
      Klaus Major
      Verwalter

      Hast Du es mal mit manueller Inklusion versucht und in der Liste der Inklusionen bei den „Standalone Application Settings“ die „Speech Library“ angehakt?

    • #21826
      Torsten
      Teilnehmer

      Ich kann erstmal bestätigen, dass es mit revSpeak NICHT geht. Kann auch nicht, da revSpeak nicht für mobile zuständig ist. Der korrekte Befehl lautet in 9.6.0: speechSpeakUtterance

      Der funktioniert bei mir sowohl auf MacOs als auf Android aber auch nicht 🙁

      In der Bug-Liste ist er auch noch nicht eingetragen, hab es jetzt mal gemacht.

      Der Befehl scheint noch sehr neu zu sein, es gibt weder auf dem Livecode-Server noch im Forum etwas dazu.

      Beste Grüße
      Torsten

    • #21830
      Klaus Major
      Verwalter

      Ah, danke, danach hatte ich gesucht, toll, noch eine platformabhängige Syntax!?

      Der Unterschied zu „revspeak“ scheint wohl zu groß zu sein, um diese Syntax „revspeak…“ auch auf diese neue Engine „zu mappen“!?

      OK, habe es auf meinem Mac ans Laufen bekommen, man muss die Lib zunächst (EINMAL) initialisieren, wohl am besten bei „openstack“ in der Runtime.

      Das klappt hier:

      ...
      put speechInitializeLibrary() into tDummy
      speechSpeakUtterance "Hallo Freunde der Nacht!"
      ...

      Und ja „revspeak“ klappt auch weiterhin.

      Gruß

      Klaus

    • #21832
      Klaus Major
      Verwalter

      Korrektur laut Mailingliste:

      on mouseup
       ## Das ist in der Tat ein HANDLER!
       speechInitializeLibrary
      end mouseup
      
      ## Diese Nachricht wird bei obigem Befehl gesendet.
      ## Parameter = TRUE oder FALSE
      on speechLibraryInitialized pSuccess
      
        ## Library erfolgreich initialisiert, sprechen Sie jetzt:
       if pSuccess then
        speechSpeakUtterance "Hallo Freunde der Nacht!"
      
         ## Lib wieder ENTladen, reicht wohl auch EINMAL beim Schliessen des Stacks
        get speechfinalizeLibrary()
       end if
      end speechLibraryInitialized

      Gruß

      Klaus

      • #21838
        Torsten
        Teilnehmer

        Hi Klaus,

        ich habe das Script on Matthias getestet und es funktioniert so NICHT auf Android.

        Zum Glück hat Panos geantwortet und den richtigen Tipp gegeben: man muss die Library schon beim Starten des Stacks laden und erst wieder rauswerfen, wenn der Stack beendet wird.
        Ich habe einen Test-Stack gebaut, mit dem man das ausprobieren kann und in dem entsprechenden Thread reingehängt:
        https://quality.livecode.com/show_bug.cgi?id=22837

        Also nochmal zusammenfassend:

        1. Im Stack-Script folgende Handler einfügen

        on preopenstack
           speechInitializeLibrary
        end preopenstack
        
        on closestack
           speechfinalizeLibrary
        end closestack

        2. Jetzt kann man irgendwo in seinem Code das entsprechende Kommando einfügen und es spricht 🙂

        speechSpeakUtterance "Ich gehorche Dir, mein Gebieter"

        3. WICHTIG: Beim Standalone-Building muss man die Library MANUELL inkludieren, automatisch wird das nnoch nix. Also „Select inclusions for the standalone application“ anlklickn und dann auf der Inklusions-Seite die „Speech Library“ anklicken.

        Die Speech-Library kann noch mehr, z.B. kann man auch zwischen verschiedenen Stimmen auswählen. Auch das habe ich in meinem TestStack implementiert, einfahc mal anschauen.

        Ok, wieder was dazugelernt. Ich glaube, an dieser Stelle könnte das Dictionary etwas mehr Informationen enthalten, es erklärt sich nämlich nicht auf der Hilfeseite, dass man die Library überhaupt initialisieren soll und dann auch noch auf diese Weise. Mal sehen, wann das kommt 🙂

        Ich hoffe, wir haben Herby jetzt ordentlich helfen können.

        Happy coding,
        Torsten

Ansicht von 4 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.