Zufällige Text Auswahl bei Sprachausgabe

Hallo zusammen,
ich gebe (fast) auf. Ich brauche Eure Hilfe.

Gerne würde ich die Sprachausgabe etwas interessanter machen und aus einer vorgefertigten Auswahl an Texten zufällig eine auswählen lassen.
Ich habe das Forum gefühlt durchsucht und komme einfach nicht weiter.

<?php
$uhrzeit = date("H:i");

$text1 = "Guten Morgen, Zeit zum aufstehen. Es ist jetzt $uhrzeit.";
$text2 = "Es ist jetzt $uhrzeit. Zeit zum Aufstehen.";
$text3 = "$uhrzeit. Keine Lust aufzustehen?";
$text4 = "So langsam wird es Zeit. Es ist jetzt $uhrzeit. Letzter Weckruf";

$InstanceID = 15564; // InstanzID des Echo Remote Devices

ECHOREMOTE_TextToSpeechVolume( $InstanceID,  $text3, 80 );

Hat jemand eine Idee, wie ich die Texte zufällig ausgewählt wieder geben kann?

Danke und Gruß
Daniel

Die Texte in ein Array packen und mit Rand(0,3) eine Zahl zwischen 0 und 3 erzeugen.
Dann mit $meineTexte[Zahl] den als Index nutzen um einen Eintrag aus dem Array zu erhalten.
https://www.php.net/manual/de/function.rand.php
Michael

1 „Gefällt mir“

So habe ich es auch gemacht

        //Gruß
        $arrText = [
            'Auf Wiedersehen!',
            'Ich wünsche einen schönen Tag.',
            'Und tschüss!',
            'Komm gut wieder nach Hause!',
            'Viel Spaß unterwegs!',
            'Hab einen schönen Tag',
            'Bis bald!',
            'Bis später!',
            'Lass es dir gut gehen.'
        ];

        $text = $arrText[random_int(0, count($arrText) - 1)];

1 „Gefällt mir“

ja das war ja ein schneller Erfolg! DANKE.
Eine Frage noch, vll hast du auch hier eine Idee:

Er liest die Uhrzeit nicht vor, sondern sagt… Es ist jetzt Dollar Uhrzeit.

Eine Ahnung warum?

<?php
$uhrzeit = date("H:i");

$arrText = [
            'Guten Morgen, Zeit zum aufstehen. Es ist jetzt $uhrzeit.',
            'Es ist jetzt $uhrzeit. Zeit zum Aufstehen.',
            '$uhrzeit. Keine Lust aufzustehen?',
            'So langsam wird es Zeit. Es ist jetzt $uhrzeit. Letzter Weckruf',
        ];

        $text = $arrText[random_int(0, count($arrText) - 1)];

$InstanceID = 15564; // InstanzID des Echo Remote Devices

ECHOREMOTE_TextToSpeechVolume( $InstanceID,  $text, 80 );

Wenn du in einem String die Variablen auflösen willst, dann musst du die doppelten Anführungszeichen nehmen.

1 „Gefällt mir“

ja, OK, da hätte ich nach so vielen Jahren auch selbst drauf kommen können. Aber wie war das mit dem Ochs vorm Berg.

Mega, Vielen Dank für die schnelle Hilfe!

Gerne. Und noch ein paar kreative Sätze aus der KI :slight_smile:

$wakeUpPrompts = [
    'Es ist jetzt %s Uhr. Zeit, aufzustehen und den Tag zu begrüßen!',
    'Schau auf die Uhr, es ist bereits %s Uhr. Lass uns den Tag beginnen!',
    'Aufwachen! Es ist schon %s Uhr und der Tag wartet auf dich.',
    'Es ist %s Uhr. Zeit, aufzustehen und die Welt zu erobern!',
    'Es ist bereits %s Uhr. Beginnen wir den Tag mit Energie!',
    'Aufstehen und auf geht's! Es ist schon %s Uhr.',
    'Der Wecker klingelt. Es ist %s Uhr und ein neuer Tag beginnt.',
    'Es ist %s Uhr! Zeit, aufzustehen und das Beste aus dem Tag zu machen.',
];
2 „Gefällt mir“