[0001] Die Erfindung betrifft ein Verfahren für die Sprachsynthese und eine Anordnung zu
seiner Durchführung.
[0002] Es ist bekannt, die in einer Sprache vorkommenden Phoneme (Konsonanten und Vokale)
einzeln abzuspeichern und dann bedarfsweise sequentiell auszulesen. Da die Anzahl
der Phoneme relativ gering ist, bietet sich dabei die Möglichkeit, mit relativ wenig
Speicherkapazität zu arbeiten. Nachteilig ist jedoch, daß bei der Wiedergabe ein von
natürlicher Sprache stark abweichender Klang entsteht, weil zwischen aufeinanderfolgenden
Konsonanten und Vokalen ein "Klick-"geräusch hörbar wird, so daß dieses Prinzip praktisch
nicht angewandt wird.
[0003] Um eine der menschlichen Sprache weitgehend angenäherte synthetische Sprache zu erzeugen,
geht man daher so vor, daß jeweils aus den vorkommenden Konsonanten und den vorkommenden
Vokalen gebildete Kombinationen, sogenannte Di-Phoneme, gespeichert und ausgelesen
werden. Es versteht sich, daß hierfür eine sehr erhebliche Speicherkapazität benötigt
wird, die für eine indogermanische Sprache in der Größenordnung von etwa 500 oder
mehr Di-Phonemen liegt. Die Verwendung des Verfahrens beschränkt sich demgemäß auf
solche Fälle, bei denen ein erheblicher Aufwand gerechtfertigt ist.
[0004] Ausgehend von dem letztgenannten Verfahren liegt der Erfindung die Aufgabe zugrunde,
den Speicheraufwand erheblich herabzusetzen, so daß das Verfahren auch bei Massenkonsumgütern,
z.B. Spielzeugen (Puppenstimmen und dergleichen) anwendbar wird.
[0005] Der Patentanspruch 1 definiert das erfindungsgemäße erfahren. Man erkennt, daß jeder
Konsonant nur in Kombination mit einem einzigen Einheitsvokal abgespeichert wird,
der hier und im folgenden mit "&" bezeichnet werden soll, und der etwa dem "e" im
deutschen Wort "alle", im englischen Wort "the im französischen Wort "le" entspricht.
Es hat sich gezeigt, daß bei entsprechend zeitversetztem Auslesen das & von dem dann
wiedergegebenen eigentlichen Vokal völlig oder jedenfal soweit maskiert wird, daß
die resultierende Silbe der natürlichen Auss
prache weitgehend nahekommt.
[0006] Bei der üblichen digitalen Abspeicherung der Phoneme ist es zweckmäßig, bei den Konsonanten
an der richtigen Stel einen Befehl abzuspeichern, der den Beginn der Auslesung des
Vokalspeichers einleitet. Ferner kann es zweckmäßig sein, durch entsprechend ausgelegte
Filter die Frequenzen der Konsonanten einerseits, der Vokale andererseits unterschiedlich
zu verstärken bzw. zu bedämpfen, um die Maskierung der & zu verbessern.
[0007] Unter Bezugnahme auf die beigefügten Zeichnunge soll die Erfindung nachstehend im
einzelnen erläutert werden.
Fig. 1 zeigt anhand eines Beispiels das Prinzip des Verfahrens,
Fig. 2 zeigt Frequenzgänge von Filtern für Vokale und Konsonanten,
Fig. 3 zeigt schematisch ein mögliches Speicherformat für Konsonanten und Vokale,
Fig. 4 zeigt eine bevorzugte Hüllkurve für die Konsonantenerzeugung,
Fig. 5 ist ein Blockdiagramm einer Anordnung zur Ausführung des Verfahrens, und
Fig. 6 ist ein Diagramm zur Darstellung des Zeitablaufs bei der Synthese eines einfachen
Wortes.
[0008] Da der Auslesevorgang zeitversetzt, das heißt so erfolgt, daß die Auslesung eines
Vokals bereits beginnt, während noch das Auslesen des Konsonanten-Di-Phonems (nämlich
dessen &-Teil) abläuft, arbeitet man mit zwei Auslesekanälen. In Fig. 1 stellt das
obere Diagramm den Hüllkurvenverlauf des Konsonantenkanals, das untere den des Vokalkanals
dar, wobei als Beispiel das einfache Wort "DATO" gewählt ist. Man erkennt, daß gleichzeitia
die &-Anteile des Konsonantenkanals und die Vokale wiedergegeben werden, und bereits
dadurch werden die schwachen &-Laute stark maskiert. Diese Maskierung kann aber noch
durch weitere Maßnahmen unterstützt werden.
[0009] Fig. 2 stellt ein erstes Mittel hierfür dar. Es ist bekannt, daß das Frequenzspektrum
der Konsonanten und Vokale unterschiedlich ist; z.B. liegen bei einer männlichen Stimme
die Maxima der Konsonanten im Bereich von etwa 600...3000 Hz, der Vokale im Bereich
von etwa 200...1000 Hz. Dementsprechend werden den beiden Kanälen Filter mit den in
Fig. 2 gezeigten Durchlaßbändern zugeordnet, wobei die Filterung entweder bei der
Aufzeichnung oder bei der Wiedergabe erfolgen kann.
[0010] Fig. 3 zeigt schematisch das Format für die Speicherung. Bei der Aufzeichnung werden
die Laute digitalisiert, das heißt mit einem Takt von z.B. 10 KHz oder mehr amplitudenabgetastet
und die so erhaltenen Daten werden in aufeinanderfolgenden Speicherplätzen für serielles
Auslesen abgespeichert. Es werden jedoch zwei Speicherplätze für Kommandodaten freigehalten,
nämlich ein Kommando "weiter" und ein Kommando "Ende". Das Kommando "weiter" bedeutet
den Zeitpunkt, bei welchem der jeweils andere Kanal mit dem Auslesen fortfahren soll;
dieses Kommando liegt bei den Konsonantendaten beim Übergang des eigentlichen Konsonantenlauts
zum &-Teil, während es bei den Vokaldaten nahe dem Ende des Datenstrangs liegt. Das
Kommando "Ende" versteht sich von selbst, ist aber erforderlich, weil die einzelnen
Phoneme unterschiedliche Dauer besitzen. Das Kommando "weiter" kann dazu verwendet
werden, um den !4askierungseffekt noch zu verstärken, indem bei seinem Auftreten die
Hüllkurve des gerade ausgelesenen Kanals bedämpft wird, wie in Fig. 4 angedeutet,
wofür man ein übliches analog arbeitendes Dämpfungsglied aus Diode, Widerstand und
Kondensator verwenden kann.
[0011] Fig. 5 zeigt in Blockform ein Ausführungsbeispiel eines Sprachsynthesizers, der --
wie man erkennt -- höchst einfach aufgebaut ist. Die Auswahl der wiederzugebenden
Phoneme erfolgt durch externe Mittel, beispielsweise einen Mikroprozessor, und bildet
keinen Gegenstand der vorliegenden Erfindung; hier ist deshalb nur als Block 1 eine
externe Steuerschaltung angedeutet.
[0012] Die Anordnung umfaßt zwei untereinander identische Kanäle, von denen nachstehend
nur einer beschrieben wird.
[0013] Ein Speicheradressenzähler 2 wird von der Steuerschaltung 1 auf eine bestimmte Phonem-Startadresse
gesetzt. Ein
Phonemspeicher 3 enthält alle für eine gegebene Sprache benötigten Phoneme, wobei für
viele Sprachen sechsunddreißig Phoneme ausreichend sind. Die Phoneme sind nach Filterung
bei der Aufnahme (wie oben erläutert) digitalisiert und in dem in Fig. 3 dargestellten
Format abgespeichert; dabei können beispielsweise die Kodes "0" bzw. "1" für die Kommandos
"weiter" bzw. "Ende" reserviert sein. Ein Taktgenerator 5 erzeugt den Auslesetakt
von z.B. 10 KHz, und zwar für beide Kanäle. Die ausgelesenen Daten gelangen zu einem
Dekoder 4, der feststellt, ob es sich um Daten oder eines der Kommandos "weiter" bzw.
"Ende" handelt. Daten gelangen über einen Digital-Analog-Umsetzer 6 sowie ein Multiplizierglied
7 zu einem Summierglied 8 und von dort zu einer Verstärker-Lautsprecher-Einheit 9.
[0014] Bei Dekodierung des Kommandos "Ende" wird über ein U:;D-Gatter 10 die Inkrementierung
des Adresszählers 2 gesperrt.
[0015] Wird das Kommando "weiter" dekodiert, so wird ein Phonem-Anforderungs-Flipflop 11
für den jeweils anderen Kanal gesetzt; seine Rücksetzung erfolgt durch die externe
Steuerschaltung bei Eingabe der nächsten Startadresse. Ferner wird beim Kommando "weiter"
ein Dämpfungsflipflop 12 umgeschaltet, das mit seinem Ausgang F dem einen, mit seinem
Ausgang F dem anderen Kanal einen Hüllkurvengenerator 13 zuschaltet, der auf das Multiplizierglied
7 einwirkt, so daß der Ausgang des betreffenden Kanals sanft abfallend bedämpft wird,
ohne daß jedoch das "Klick"-geräusch entsteht. Die Ausgänge beider Kanäle werden im
Summierglied 8 kombiniert.
[0016] Der jeweilige Setzzustand des Flipflops 12 wird auch zu der externen Steuerschaltung
übertragen, um dieser zu signalisieren, welcher der beiden Kanäle belegt werden kann,
etwa zu Beginn eines Auslesezyklus nach Inbetriebnahme der Schaltung.
[0017] Bevor unter Bezugnahme auf Fig. 6 ein Synthesevorgang im einzelnen erläutert wird,
sei noch auf mögliche Abwandlungen der in Fig.5 gezeigten Blockschaltung hingewiesen.
[0018] Der Speicheraufwand läßt sich halbieren, wenn für beide Kanäle nur ein Phonemspeicher
3 vorgesehen ist und das Auslesen im Zeitmultiplex erfolgt. Das Multiplizierglied
7 ist in bestimmten handelsüblichen Digital-Analog-Umsetzern bereits enthalten, so
daß man den Ausgang der Hüllkurvengeneratoren 13 nur mit dem entsprechenden Eingang
des Umsetzers zu verbinden braucht. Man kann die Schaltung auch weitgehend in einem
Mikroprozessor realisieren, wobei dann entweder die beiden Hüllkurvengeneratoren und
die beiden Umsetzer außerhalb bleiben oder nur ein einzelner, gemeinsamer Umsetzer,
während alle anderen Vorgänge vom Mikroprozessor digital durchgeführt werden.
[0019] Fig. 6 zeigt
- in Zeile (a) den Takt des Taktgenerators 5; dieser Takt kann starr sein, kann aber
auch von der Steuerschaltung 1 variiert werden, um eine der natürlichen Sprache noch
ähnlichere Phrasierung zu erzielen,
- in Zeile (b) Formate aus dem ersten Kanal, hier die Phoneme "D&" und "T&",
- in Zeile (c) den Logikpegel am Ausgang des Flipflop 12,
- in Zeile (d) den Logikpegel am Ausgang des Flipflops 11 des zweiten Kanals,
- in Zeile (e) Formate aus demselben zweiten Kanal, hier Phoneme "a" und "o",
- in Zeile (f) den Logikpegel am Ausgang des Flipflops 11 des ersten Kanals,
- in Zeilen (g) bzw. (h) die Hüllkurven, erzeugt von den Hüllkurvengeneratoren 13
des ersten bzw. des zweiten Kanals, und
- in Zeilen (i) bzw. (k) die analogen Ausgangssignale des ersten bzw. zweiten Kanals;
dabei sind die Hüllkurven nicht als repräsentativ für die tatsächlich erzeugten Laute
"D", "A", "T" oder "0" zu verstehen; das Diagramm dient nur der Erläuterung des zeitlichen
Ablaufs.
1. Verfahren für die Sprachsynthese, bei dem Kombinationen aus je einem Konsonanten
und einem ihr folgenden Vokal abgespeichert und bedarfsweise ausgelesen werden, dadurch
gekennzeichnet, daß
- jeder in der Sprache vorkommende Konsonant zusammen mit einem schwachen Einheitsvokal
"&" abgespeichert wird,
- alle in der Sprache vorkommenden Vokale einzeln abgespeichert werden,
- die .gewünschte Konsonanten-Vokal-Kombination durch zeitversetztes Auslesen von
Konsonant und Vokal in zwei Kanälen unter Maskierung des Einheitsvokals "&" durch
den ausgelesenen Vokal gebildet wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß beim Abspeichern der Kombinationen
aus Konsonant und Einheitsvokal vokaltypische Frequenzen bedämpft werden und daß bein
Abspeichern der Vokale konsonantentypische Frequenzen bedämpft werden.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Amplituden der
Einheitsvokale "&" beim Auslesen bedämpft werden.
4. Verfahren nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet, daß das Auslesen mit
variabler Taktfrequenz erfolgt.
5. Anordnung zum Durchführen des Verfahrens nach Anspruch 1, gekennzeichnet durch
zwei alternierend aktivierbare Auslesekanäle und einen Umschaltkreis, der durch ein
in einem Kanal ausgelesenes Kommando zur Aktivierung des anderen Kanals ansteuerbar
ist.
6. Anordnung nach Anspruch 5, dadurch gekennzeichnet, daß jeder Kanal einen Speicher
für alle benötigten Laute (Phoneme und Di-Phoneme) umfaBt.
7. Anordnung nach Anspruch 5 oder 6, bei der die Laute (Phoneme und Di-Phoneme) digital
in jedem Speicher abgespeichert und sequentiell auslesbar sind, dadurch gekennzeichnet,
daß zumindest bei den Di-Phonemen das Umsteuer-Kommando in der Auslesesequenz zwischen
dem Konsonantenintervall und dem Einheitsvokal-Intervall abgespeichert ist.
8. Anordnung nach Anspruch 7 zur Durchführung des Verfahrens nach Anspruch 3, dadurch
gekennzeichnet, daß für jeden Kanal ein Hüllkurvengenerator vorgesehen ist, mittels
dem die Amplitudenbedämpfung bewirkt wird und der von dem Umsteuer-Kommando aktivierbar
ist.
9. Anordnung nach Anspruch 5, bei der die Laute (Phoneme und Di-Phoneme) digital in
jedem Speicher abgespeichert und sequentiell auslesbar sind, dadurch gekennzeichnet,
daß am Ende jeder Auslesesequenz ein Kommando "Ende" auslesbar ist, mittels dem ein
nächster Auslesevorgang einleitbar ist.