Bekijk de volledige versie : Sprechender Router
Ich hab in der letzten zeit versucht dem router das "sprechen" beizubringen, leider ohne erfolg.
Da der Router ja eine Soundkarte hat und bei mir an die anlage angeschlossen ist, hab ich überlegt er könnte mit einem programm wie "espeak" oder "flite" individuelle nachrichten oder sogar texte vorlesen.
Leider sind meine compile kentnisse nicht wirklich ausgereift.
Allerding hab ich den eindruck "flite" ist einfacher zu compilieren, allerdings dauerte dies auf meinem roter sehr sehrt lange und ich hab momentan auch kein zugang zu einem cross-compile enviroment.
Wenn das einer probiert wär ich sehr dankbar.
Source ESPEAK: http://espeak.sourceforge.net/
Source FLITE: http://www.speech.cs.cmu.edu/flite/
So hab flite jetzt kompiliert bekommen per crosscompile.
Die binary funktioniert auf meinem wl500gp, allerdings spielt es zu schnell ab hab ich den eindruck. Man hört zwar etwas, aber verstehen tut man nix. Sagt man flite allerdings er soll seinen text als "wav" speichern, und man spielt danach die "wav" mit z.b. MPD funktioniert das ganze wunderbar.
Mal schauen was sich damit noch machen lässt...
Ich hab das ganze ding mal hochgeladen, ist allerdings 33 MB gross. Ist noch der ganze source kram drin, da ich mir aber nicht ganz sicher bin was da alles wichtig hab ich das mal so gelassen.
Hier der RS link: mipsel-flite (http://rapidshare.com/files/239936072/flite.tar.gz)
Hallo zusammen,
kennt jemand von Euch ein Programm mit dem man Text in synthetisierte Sprache umwandeln kann und das dann auch noch auf der Box läuft?
Bin um Hinweise dankbar.
Norbert
schau dir mal diesen thread (http://wl500g.info/showthread.php?t=18768&highlight=flite) an in dem ich vor einieger zeit mal einen monolog geführt habe :)
Nimm doch einen online-converter!
Ich habe dir einmal einen Skript geschrieben, der es macht:
(Nenne ihn z.B.: getspeech.pl .)
#!/usr/bin/perl -w
use strict;
use warnings;
my $res;
my $r1=shift @ARGV || "";
my $r2=shift @ARGV || "";
my $r3=shift @ARGV || "";
my $r4=shift @ARGV || "";
my $r5=shift @ARGV || "";
my $r6=shift @ARGV || "";
my $r7=shift @ARGV || "";
$res=`wget 'http://vozme.com/text2voice.php?lang=en&gn=fm&text=$r1 $r2 $r3 $r4 $r5 $r6 $r7' -q -O - | grep http://vozme.com/speech`;
$res=~m/\"(.*?)\"/;
`wget -q -O text.mp3 $1`;
Gib zum Beispiel ein:
perl getspeech.pl are you well
Danach steht der Text in der mp3-Datei text.mp3.
Die kannst du mit mpd oder irgend etwas abspielen.
(Du kannst den Skript auch leicht abändern, dass der Text gleich abgespielt wird.
Vorher playlist mit "mpc save" speichern.)
#!/usr/bin/perl -w
use strict;
use warnings;
my $res;
my $r1=shift @ARGV || "";
my $r2=shift @ARGV || "";
my $r3=shift @ARGV || "";
my $r4=shift @ARGV || "";
my $r5=shift @ARGV || "";
my $r6=shift @ARGV || "";
my $r7=shift @ARGV || "";
$res=`wget 'http://vozme.com/text2voice.php?lang=en&gn=fm&text=$r1 $r2 $r3 $r4 $r5 $r6 $r7' -q -O - | grep http://vozme.com/speech`;
$res=~m/\"(.*?)\"/;
`mpc clear`;
`mpc add $1`;
`mpc play 1`;
Sollte klappen! (Konnte es nicht testen: Es ist Nacht und ich will keinen Ärger mit dem Nachbarn.)
Und für deutschen Text:
#!/usr/bin/perl -w
use strict;
use warnings;
my $res;
my $r1=shift @ARGV || "";
my $r2=shift @ARGV || "";
my $r3=shift @ARGV || "";
my $r4=shift @ARGV || "";
my $r5=shift @ARGV || "";
my $r6=shift @ARGV || "";
my $r7=shift @ARGV || "";
`wget 'http://www.rockle.com/cgi/tts/speak.cgi' --post-data='t=$r1 $r2 $r3 $r4 $r5 $r6 $r7 &l=g' -O text.mp3`
Ohh sorry, habs falsch gepostet.!
Hi,
vielen Dank an thejew und gerdi. Den threat von thejew hatte ich damals auch gelesen. Bin nur nicht mehr drauf gekommen unter welchem Thema er stand.
Flite scheint im Moment die erste Wahl zu sein, da die Online TTS (text to speach) Dienste Limits bezüglich Textlänge aufweisen. Auf Online TTS bin ich auch schon gekommen. Man findet da echt gute deutsche Synthese von amerikanischen Seiten. Das blöde ist nur, dass alle Dienste eine kommerzielle und private Nutzung durch Robots untersagen.
Ich wollte mir meine Mails per Audio ansagen lassen. Mit flite hätte ich alles auf dem Router und ohne Beschränkungen. Ich werde das mit flite die Tage mal probieren.
Danke für Eure Hilfe.
Norbert
Hi,
vielen Dank an thejew und gerdi. Den threat von thejew hatte ich damals auch gelesen. Bin nur nicht mehr drauf gekommen unter welchem Thema er stand.
Flite scheint im Moment die erste Wahl zu sein, da die Online TTS (text to speach) Dienste Limits bezüglich Textlänge aufweisen. Auf Online TTS bin ich auch schon gekommen. Man findet da echt gute deutsche Synthese von amerikanischen Seiten. Das blöde ist nur, dass alle Dienste eine kommerzielle und private Nutzung durch Robots untersagen.
Ich wollte mir meine Mails per Audio ansagen lassen. Mit flite hätte ich alles auf dem Router und ohne Beschränkungen. Ich werde das mit flite die Tage mal probieren.
Danke für Eure Hilfe.
Norbert
In Deutschland kann dir niemand die private Nutzung durch Robots verbieten.
MercuryV
27-06-2012, 20:11
Sorry for english.
flite package is now available in Entware (http://wl500g.info/showthread.php?30158-Optware-oder-Entware) repository
to install
$ opkg install flite
to say a text string
$ flite -f "hello world"
to read usage notes
$ flite --help