• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Sprachausgabe OSX auf deutsch

El Libero

Ontario
Registriert
19.05.06
Beiträge
340
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?
 
kostenfrei leider nicht.
Ansonsten halt cepstralvoice
 
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***
;-) 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 ;)
 
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.
 
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 :D
 
skeeve nimms mir nicht übel, aber kannst du noch ein wenig kommentieren was das genau bewirkt?
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...
 
Zuletzt bearbeitet:
Hallo,

es gibt auch deutsche Stimmen, die direkt aus deutschem Rext vorlesen können, z.B. hier ...

Gruss
Andreas