[Problem] Cepstral und Nummern

fstrauss

Neuer User
Mitglied seit
31 Mrz 2011
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Hey Community,


Ich benutze Cepstral als TTS-Software.
Diese funktioniert auch soweit tadellos.

Jetzt möchte ich aber eine Nummer, genauer eine IP-Adresse, vorlesen lassen, die später von Asterisk abgespielt werden soll.

Beispiel:

IP: 172.18.19.201

wird derzeit so vorgelesen einhundertzweiundsiebzig / Punkt / achzehn / Punkt / neunzehntausend und eins

ich möchte aber das sie folgendermaßen gelesen wird:
1-7-2 Punkt 1-8 Punkt 1-9 Punkt 2-0-1

also jede Ziffer seperat mit dem Wort "Punkt" oder aber mit kurzer Pause


oder als:
einhundertzweiundsiebzig.achzehn.neunzehn.zweihundertundeins

hat jemand eine Idee.
Habe bis jetzt noch nichts im Internet gefunden.


Danke im Voraus
 
Zuletzt bearbeitet:
nur als idee, lass einfach zeichen fuer zeichen lesen
 
und wie würde ich das anstellen @ chaos?

ich hab schon mit say-as rumgespielt aber nichts hat geholfen.

Als Anmerkung:
ich bin jetzt soweit das er es fast richtig macht, komme aber nicht mehr weiter.
swift -o blablup.wav '<say-as type="number:digit">172.18.19.201 </say-as>'

liest er: 1-7-2 Punkt 1-8 Punkt und dann aber neunzehntausendzweihundertundeins
 
du verwendest kein app_swift?
ich wurde das ueber agi machen und ggf zeichen fur zeichen lesen lassen - kenne mich aber nicht aus mit swift
 
Also ich würde gerne mit Cepstral weiterarbeiten und nicht auf app_swift umsteigen.

Habe soweit alles fertig Nagios und Schnittstelle zu Asterisk.

Es wäre nur das Problem mit den Zahlen ....


Hat vielleicht jemand eine Idee?
 
Hallo Ihr Zwei,

ich würde mir das Leben natürlich einfach machen und das ganze "mal eben" durch eine sed schleife ziehen, tausche punkt durch cepstral ruhesekunden oder sowas.

Bsp.

Wenn Du 10.0.0.10 von Nagios aussprechen lassen willst ( so ist es bei mir ) lässt Du es vorher oder als Pipe an swift (ich mag app_swift auch nicht) mit sed durchlaufen :

Code:
echo "Die IP 10.0.0.10 ist down" | [COLOR=#C20CB9][B]sed[/B][/COLOR] [COLOR=#FF0000]"s#.#[/COLOR]<break strength='medium' />[COLOR=#FF0000]#g" | swift [/COLOR][B]-o blablup.wav
[/B]


Ungetestet!

Als praktischer Tipp meinerseits - das aussprechen von Fehlermeldungen von Nagios ist in der Praxis nur bedingt gut (ich hatte immer das Glück gegen 3 Uhr angerufen zu werden - totmüde und noch im Schlaf hört man das was man hören muss eh nicht :) ) Nimm lieber ein SMS Gateway, das kann man in Ruhe nachlesen - oder beides :)

Viel Erfolg!

Stefan

EDIT : Ich lese gerade "jede Ziffer separat oder mit Pause" - es geht natürlich auch jede Ziffer separat - ich würde es so nicht lösen, aber wenn Du das so brauchst kannst Du ja noch einfacher mit cut in der Pipe arbeiten - ein "for" dabei löst dann auch jede x beliebige Länge der IP...

LG Stefan
 
Hallo Stefan,

super deine Antwort. Genau das hat bei mir geholfen. Hatte leider keine Ahnung über den Linux-Befehl "sed". WUNDERBAR.

Ich bin dir sehr dankbar. 1A

Hab dies direkt ausprobiert..... mit Erfolg.

Jedoch habe ich noch eine zweite Möglichkeit gefunden.

Da ich mit python arbeite, gibt es eine String-replace Funktion.
Mit ihr gebe ich an, dass jeder "." durch den String " Punkt " ersetzt werden soll.

Danke vielmals


PS: Der SMS-Support ist zusätzlich eingetragen mit E-Mail und Jabber ^^
 
Wenn Du "Umlaute und Sonderzeichen" zum aussprechen nicht gerade gut findest (interessant wird es zBsp. bei mehrmaligem Punkt oder einem ". ." dann gebe ich Dir hier noch ein Praxistool :

Code:
sed -f /etc/skripte/tagesumsatz.sed tages-nicole.bak > tages-nicole.csv

Datei "tages-nicole.bak" wird durch "tagesumsatz.sed" gefiltert und zu "tages-nicole.csv" gemacht

tagesumsatz.sed sieht dabei zbsp so aus :

Code:
s![<]tr[>]! !g
s![<]td[>]! !g
s![<]th[>]! !g
s![<][/]tr[>]!!g
s![<][/]td[>]!!g
s![<][/]th[>]!!g
s![<][/]table[>]!!g
s![<]table[>]! !g
s!^[ \t]*!!
s![<]h2[>]! !g
s![<][/]h2[>]!!g
s! No rows found! !g

Filter html-Ausgaben, php und sql server queries.

sie könnte auch so aussehen :

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!\[pc_10.gif\]!!g
s![°]!!g

Filter aktuell den Content der Website fürs Wetter so sauber das man nur noch plain-text liest.

Du kannst das ganze natürlich auch in einer pipe verbauen :

php warengruppen-kontrolle.php | sed -f /etc/skripte/warengruppen-kontrolle.sed | mail -s "EinBetreff" [email protected]

Oder oder oder..

Und das ist noch nichtmal das Kapitel "haben Sie Spaß mit 'cut'" :)

Viel Spaß!
 

Statistik des Forums

Themen
246,300
Beiträge
2,249,714
Mitglieder
373,904
Neuestes Mitglied
Elemir
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.