[GELÖST] SED Kunstwerk zur Wettervorhersage per TTS

HobbyStern

Aktives Mitglied
Mitglied seit
5 Dez 2005
Beiträge
1,844
Punkte für Reaktionen
0
Punkte
36
Hallo Gemeinde,

da ich zwar mit sed locker suchen und ersetzen spielen kann - jedoch auch manchmal an meine Grenzen stoße würde ich gerne um eine Hilfestellung bitten - folgende Wetterprognose müsste ich stark minimieren :

So ist es jetzt :

Code:
   Niederrhein, Ruhr, Münsterland
   3 Minus Tagesprognose       Tagestemperaturen
   Mittwoch   21.04.2010 9° bis 10 Grad        Regen  [pc_7.gif] 80  Prozent
   Donnerstag 22.04.2010 10° bis 12 Grad       wolkig [pc_3.gif] 5  Prozent
   Freitag    23.04.2010 12° bis 14 Grad       wolkig [pc_3.gif] 5  Prozent
So soll es sein :

Heute (such nach Datum = heute) - Textüberbleibsel "9° bis 10 Grad Regen 80 Prozent"

Morgen (ebenfalls das Datum von morgen) "10° bis 12 Grad Wolkig 5 Prozent"

Hat jemand mehrere gute Ratschläge wie ich sed so weit bringe das es das Kind dynamisch verarbeitet, natürlich ist alles etwas dynamisch, es steht leider nicht immer pc_3.gif, sondern pc_x.gif, Wochentage und Daten sind natürlich dynamisch.

Alles etwas tricky.

Wäre dankbar!

Stefan
 
Zuletzt bearbeitet:
Hallo Ralf,

klar kann sed das Datum nicht kennen, jedoch die Bash das aktuelle Datum an eine Variable übergeben...ich kann mich an die Zeilennummer nicht halten, habe aber in der Zeit das ganze zusammengebastelt, für die nachfolgende Welt (ggf. gibt es Menschen die die ganze Wettervorhersage per TTS ausgeben möchten --> melden) ist hier die Auflösung :

Start der Aktion (per SED File)

Code:
mv wetter.csv wetter.bak
sed -f /etc/skripte/tagesumsatz.sed wetter.bak > wetter2.bak

Das SED File (meins arbeitet einige Dateien ab, daher wird nur die vor & letzte Expression wichtig sein :

Code:
s!-! Minus !g
s!%! Prozent !g
s!°C! Grad !g
s!louder!\<prosody volume='loud'\>!g
s!louderstop!\</prosody\>!g
s!kraeftig!!g
s!kraeftigende!!g
s!\[pc_[0-9].gif\]!!g
s![°]!!g

DIe ersten beiden Zeilen löschen, suchen nach EXPRESSION

Code:
cat wetter2.bak | sed '/Münster/d' | sed '/Tagesprognose/d' > wetter.bak
Alles weitere so auflösen das es nicht mehr gesprochene Daten gibt, sondern einen einfacheren Weg (HEUTE, MORGEN..) :

Code:
cat wetter.bak | grep $HEUTE > wetter2.bak
cat wetter.bak | grep $MORGEN >> wetter2.bak

echo Die aktuelle Wettervorhersage lautet wie folgt. > /tmp/wetter.bak
cat wetter2.bak | sed "s!$(date --date='today' +"%A")!!g" | sed "s!$(date --date='today' +"%d.%m.%Y")!Heute werden es !g" | sed "s!$(date --date='tomorrow' +"%A")!!g" | sed "s!$(date --date='tomorrow' +"%d.%m.%Y")!Morgen werden es !g" >> /tmp/wetter.bak
cat wetter.bak | sed -ne "s/[\t| ]*//p" | sed "s!Prozent!Prozentige Regenwahrscheinlichkeit.!g" | sed "s!Grad!Grad.!g"> wetter.csv
echo . Das war die aktuelle Vorhersage für heute und morgen. >> /tmp/wetter.csv
Trotzdem Danke für Deine Antwort.

LG Stefan
 
Moin,

mit welcher TTS engine arbeitest du ?
Das mit dem Wetter ist ganz interessant, will mir auch sowas in der Richtung in meinen Asterisk installieren, aber muss noch eine passende TTS engine finden, welche auch noch unter Cent OS läuft und vernünftig klingt, eventuell hast du ja einen Tipp... Ansonsten schreibe ich meine Scripte in php in Verbindung mit bash und cron...sehr praktisch ist auch lynxi in diesem Zusammenhang..:)

LG
Olav
 
Hi,


Das ganze ist schon etwas antiker.

Es läuft (immernoch) mit Cepstral.

Aus der Praxis kann ich zwei Meinungen hier kundtun :

- Kein Mensch ruft noch ein System an - nur um das Wetter zu hören (dafür hat sich das Smartphone besser bewährt)
- Wenn man die Wetteransage in einen Anruf einbaut wird es gerne genommen. zBsp. hier wird das Wetter vor der Bestelleingabe von Artikeln für Kunden kundgetan.

Grüsse!
 
Moin,

ich dachte da eher an anrufen lassen, muss mir aber erstnoch so eine Regel bauen damit der Asterisk auch selbst rausrufen kann... Mit einbinden von Cepstral hat ja erstaunlich gut geklappt, ist auch schön einfach zu händeln... zur ZEit nervt nur noch "Bitte registrieren SIe mich " sprich ich muss mir wohl eine Lizenz kaufen...ist ja auch nicht sooo teuer...

LG
Olav

PS bin erst jetzt auf die Idee gekommen den Asterisk-Now ein wenig aufzupeppen...
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.