Sicher kennt Ihr das Problem, dass man sich den Text zwar vorlesen lassen kann, aber man seinen Mac nur mit viel Fantasie versteht, da die Sprachmodule nur amerikanisch sprechen ***grmpfl*** Gibt es mittlerweile neben den kostenpflichtigen auch kostebfreie Deutsch-Module zum nachrüsten?
Ton einschalten und im Terminal eingeben: Code: printf "begin-base64 644 x\nV29zIGhvc3N0IERvbyBnYWVnYWVubiBteSBuZW4gYWNrIGNlbnQ/Cg==\n===="|uudecode -p|say -v Vicki -f -
Oder auch das hier: Code: for v in /System/Library/Speech/Voices/*.SpeechVoice ; do printf "begin-base64 644 x\nV29zIGhvc3N0IERvbyBnYWVnYWVubiBteSBuZW4gYWNrIGNlbnQ/Cg==\n===="|uudecode -p|say -v `basename $v .SpeechVoice` -f - ; done
skeeve nimms mir nicht übel, aber kannst du noch ein wenig kommentieren was das genau bewirkt? nicht jeder kann terminal befehle einfach so lesen
Nöööö... Das soll ja nicht sofort offensichtlich sein, was da passiert. Das nimmt doch den Spaß. Naja.. Vielleicht heute Abend.
vorsicht ist die mutter der porzellankiste und für mich als italiener gilt dann auch noch tutto arriva a chi sa aspettare
Okay... Ein wenig... Code: # Zuerst mal eine Schleife über alle Stimmen im System for v in /System/Library/Speech/Voices/*.SpeechVoice ; do # Dann einen uu-codierten Text ausgeben printf "begin-base64 644 ... usw ..." # den schicken wir durch uudecode | uudecode -p # Das Ergebnis, der "entschlüsselte Text" # Wird an "say" übergeben, | say # wobei say mit der aktuellen Stimme aus $v spricht -v `basename $v .SpeechVoice` # das `basenam...` entfernt den Pfad und die Extension vom Dateinamen # So daß aus /System/Library/Speech/Voices/Victoria.SpeechVoice # "Victoria" wird # die letzte option von say -f - # teilt say mit, daß der zu sprechende Text aus der Datei (-file) # mit Namen "-" kommt, was hier der Standardeingabe # also der Ausgabe von uudecode entspricht. # Schleifenende done Wer jetzt den Text vernehmen will muß es halt aufrufen.
Versuch einer Deutsch -> Englisch "Übersetzung". Ich habe mal angefangen eine Umsetzung von deutschen Zeichenfolgen in solche fürs Englische mit ähnlichem Klang zu programmieren. Speichert das Script als "sprich", macht es ausführbar und gebt im Terminal ein: "sprich das ist ja super". Das ganze ist noch sehr rudimentär und Umlaute gehen auch nicht unbedingt, aber immerhin ein Anfang. Code: #!/usr/bin/perl use strict; use warnings; my ( $de2en, %de2en, ); my $i=0; $de2en= join '|', grep { $i=!$i } %de2en= ( ie => 'eeh', i => 'ee', j => 'y', u => 'oo', ss => 'z', au => 'ou', sch => 'sh', ch => 'k', ); $_= join(' ', @ARGV); s/($de2en)/$de2en{$1}/g; system 'say',$_; Ich habe das Script erweitert und ausgelagert. Schaut einfach hier...
Hallo, es gibt auch deutsche Stimmen, die direkt aus deutschem Rext vorlesen können, z.B. hier ... Gruss Andreas