DE2954413C2 - - Google Patents

Info

Publication number
DE2954413C2
DE2954413C2 DE2954413A DE2954413A DE2954413C2 DE 2954413 C2 DE2954413 C2 DE 2954413C2 DE 2954413 A DE2954413 A DE 2954413A DE 2954413 A DE2954413 A DE 2954413A DE 2954413 C2 DE2954413 C2 DE 2954413C2
Authority
DE
Germany
Prior art keywords
memory
data
speech
address
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2954413A
Other languages
English (en)
Inventor
Paul S. Plano Tex. Us Breedlove
George L. Brantingham
James H. Lubbock Tex. Us Moore
Richard H. Dallas Tex. Us Wiggins Jun.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US05/901,394 external-priority patent/US4189779A/en
Priority claimed from US05/901,392 external-priority patent/US4304964A/en
Priority claimed from US05/901,393 external-priority patent/US4209836A/en
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Application granted granted Critical
Publication of DE2954413C2 publication Critical patent/DE2954413C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B7/00Electrically-operated teaching apparatus or devices working with questions and answers
    • G09B7/02Electrically-operated teaching apparatus or devices working with questions and answers of the type wherein the student is expected to construct an answer to the question which is presented or wherein the machine gives an answer to the question presented by a student
    • G09B7/04Electrically-operated teaching apparatus or devices working with questions and answers of the type wherein the student is expected to construct an answer to the question which is presented or wherein the machine gives an answer to the question presented by a student characterised by modifying the teaching programme in response to a wrong answer, e.g. repeating the question, supplying a further explanation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/04Details of speech synthesis systems, e.g. synthesiser structure or memory management
    • G10L13/047Architecture of speech synthesisers

Description

Die Erfindung bezieht sich auf eine Sprachsyntheseanordnung gemäß dem Oberbegriff des Patentanspruchs 1.
Eine solche Sprachsyntheseanordnung ist aus der DE-AS 21 15 258 bekannt. In dieser bekannten Anordnung werden Daten angewendet, die in drei verschiedenen Speichern enthalten sind, wobei die Daten unmittelbar für die Erzeugung künstlicher Sprache eingesetzt werden. Einer der Speicher ist ein Workkatalog, der die zur Erzeugung bestimmter Wörter notwendigen Informationen enthält. Der zweite Speicher enthält Zeitablaufdaten zur zeitlichen Steuerung der Lauterzeugung, und der dritte Speicher enthält Informationen über die jeweiligen Tonhöhen. Alle Informationen aus diesen drei Speichern werden gemeinsam zur Erzeugung der künstlichen Sprache angewendet. In der bekannten Anordnung ist es somit erforderlich, die für die Erzeugung der künstlichen Sprache erforderlichen Daten in drei Gruppen einzuteilen und dann je nach ihrer Zugehörigkeit in einem der drei Speicher abzuspeichern. Um ein Wort unter Anwendung der Daten in den drei Speichern zu erzeugen, müssen die drei Speicher an Speicherplätze adressiert werden, die jeweils die zu dem Wort gehörigen Daten enthalten. Diese Art der Abspeicherung der für die Erzeugung der künstlichen Sprache notwendigen Informationen ist für die Erzielung einer hohen Bitfolgefrequenz ungünstig.
In der Druckschrift "Löbel, Müller, Schmidt, Lexikon der Datenverarbeitung, 4. Auflage, München, Verlag Moderne Industrie", ist zwar auf den Seiten 32 und 33 ein Verfahren zur Verarbeitung von großen Datenmengen in mehreren Speicherblöcken beschrieben, bei dem mit einem indizierten Zugriff gearbeitet wird, jedoch fehlt dabei jeder Zusammenhang mit der Erzeugung künstlicher Sprache.
Der Erfindung liegt die Aufgabe zugrunde, eine Sprachsynthese­ anordnung der eingangs angegebenen Art zu schaffen, bei der die Bitfolgefrequenz ohne Beeinträchtigung der Verständlichkeit der künstlich erzeugten Sprache wesentlich herabgesetzt ist.
Diese Aufgabe wird gemäß der Erfindung mit den im Kennzeichen des Patentanspruchs 1 angegebenen Merkmale gelöst.
In der erfindungsgemäßen Sprachsyntheseanordnung enthält nur der erste Speicher Sprachdaten, während die beiden anderen Speicher Adresseninformationen enthalten, die zur Adressierung der Informationen im ersten Speicher herangezogen werden. Aus der Zusammenwirkung der beiden Adressen enthaltenden Speicher ergibt sich eine Datenkompression und damit die angestrebte Reduzierung der Bitfolgefrequenz. Im übertragenen Sinne können die Adressendaten enthaltenden Speicher als Tabellen angesehen werden, die nach kurzen Kennzeichen geordnet jeweils eine Reihe von längeren Begriffen enthalten, wobei mit den längeren Begriffen aus dem dritten Speicher ein Zugriff auf die Tabelle im zweiten Speicher durchgeführt werden kann, indem noch längere Begriffe enthalten sind. Die längeren Begriffe aus dem zweiten Speicher werden dann zur eigentlichen Adressierung der Daten im ersten Speicher benutzt und in die eigentlichen Sprachdaten umgesetzt. Die angestrebte Datenkompression und die dadurch erzielte Reduzierung der zur Erzeugung der Sprache erforderlichen Bitfolgefrequenz ergibt sich dabei aus einem Vergleich der Eingangsdaten des dritten Speichers mit den Ausgangsdaten des ersten Speichers.
Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
Ein Ausführungsbeispiel der Erfindung wird anhand der Zeichnung erläutert. Es zeigen
Fig. 1 eine Vorderansicht eines sprechenden Lernhilfegeräts, in der die erfindungsgemäße Sprachsyntheseanordnung angewendet wird,
Fig. 2 Einzelheiten der Segmente der Anzeige,
Fig. 3 ein Blockschaltbild der das Lernhilfegerät vorzugsweise bildenden Hauptbestandteile,
Fig. 4a und 4b seitlich aneinandergefügt ein zusammengesetztes Blockschaltbild der Sprachsyntheseschaltung,
Fig. 5 ein Zeitdiagramm verschiedener Zeitsteuersignale, die vorzugsweise in der Sprachsyntheseschaltung angewendet werden,
Fig. 6 ein Diagramm zur Verdeutlichung des Datenkompressionsschemas, das vorzugsweise zur Reduzierung der für die Syntheseschaltung erforderlichen Datenrate angewendet wird,
Fig. 7a und 7b ein zusammengesetztes Logikschaltbild der Festspeicher/Steuerwerk-Schnittstellenschaltungen der Sprachsyntheseschaltung,
Fig. 8a, 8b, 8c ein zusammengesetztes Logikschaltbild der Schnittstellenlogik
Fig. 9a und 9b ein zusammengesetztes Logikschaltbild der Interpolationsschaltung,
Fig. 10a und 10b ein zusammengesetztes Logikschaltbild des Matrixmultiplizierers,
Fig. 11a und 11b ein zusammengesetztes Logikschaltbild des Gitterfilters und des Anregungsgenerators der Sprachsyntheseschaltung,
Fig. 12a und 12b schematische Schaltbilder des Parameter- Schreib/Lese-Speichers,
Fig. 13a und 13b schematische Schaltbilder des Parameter- Festspeichers,
Fig. 14a und 14b ein zusammengesetztes Schaltbild des Chirp-Festspeichers,
Fig. 15a und 15b ein zusammengesetztes Blockschaltbild des als Steuerschaltung zu verwendenden Mikroprozessors,
Fig. 16a und 16b ein zusammengesetztes Logikschaltbild des Segmentdecodierers des Mikroprozessors,
Fig. 17 ein Schaltbild der Stellenausgabepuffer und Stellenregister des Mikroprozessors,
Fig. 18 die KB-Wählschaltung des Mikroprozessors,
Fig. 19 ein Blockschaltbild der Festspeicher 12 a, 12 b 13 a oder 13 b,
Fig. 20a bis 20e ein zusammengesetztes Logikschaltbild der Steuerlogik für die Festspeicher 12 a, 12 b, 13 a oder 13 b,
Fig. 21a und 21b ein zusammengesetztes Logikschaltbild der X- und Y-Adressendecodierer und der Speicherzellenmatrix und
Fig. 22 in etwa 50facher Vergrößerung eine Draufsicht auf den Sprachsynthese-Chip, wobei die Metallmaske dargestellt ist.
Allgemeine Beschreibung
In Fig. 1 ist ein sprechendes Lernhilfegerät in der Vorderansicht dargestellt. Das Lernhilfegerät enthält ein Gehäuse 1, in dem elektronische Schaltungen untergebracht sind, die vorzugsweise auf (nicht dargestellten) integrierten Schaltungen gebildet sind. Diese Schaltungen sind mit einer Anzeigevorrichtung 2, einem Tastenfeld 3 und einem Lautsprecher 4 oder einer anderen Vorrichtung mit einer Sprechspule, die in Fig. 1 auch nicht dargestellt ist, verbunden. Es sind jedoch die Öffnungen 4 a dargestellt, hinter denen der Lautsprecher 4 vorzugsweise angebracht ist. Im beschriebenen Ausführungsbeispiel ist die Anzeigevorrichtung vorzugsweise eine Vakuum-Fluoreszenzanzeige, doch können auch andere Anzeigevorrichtungen, beispielsweise ein Feld aus Leuchtdioden, Flüssigkristallanzeigen, elektrochrome Anzeigen, Gasentladungsanzeigen benutzt werden, falls es erwünscht ist. Bei der hier vorliegenden Ausführung ist die Anzeige mit acht Zeichenpositionen gewählt worden. Das Tastenfeld 3 des Lernhilfegeräts enthält im beschriebenen Ausführungsbeispiel 40 Tastenschalterpositionen, von denen 26 dazu benutzt werden, die Buchstaben des Alphabets in das Gerät einzugeben. Fünf der übrigen 14 Tastenschalterpositionen werden für Betriebsarttasten für die folgenden Betriebsarten benutzt: Ein/Buchstabieren, Lernen, Wörter Ratespiel, Codeknacker und Zufallsbuchstabe; weitere fünf Tastenschalterpositionen werden für Steuerfunktionen benutzt, die von dem Lernhilfegerät in den Betriebsarten "Eingabe", "Sage es nochmal", "Erneut wiedergeben", "Löschen" und "Start". Die restlichen vier Tastenschalterpositionen werden für eine Apostrophtaste, eine Leertaste, eine Wortlisten- Auswahltaste und eine Abschalttaste verwendet. Vom Lernhilfegerät gesprochene Wörter und die richtige Schreibweise dieser Wörter sind in Form digitaler Informationen in einem oder in mehreren Festspeichern abgespeichert.
Das in Fig. 1 dargestellte Lernhilfegerät kann aus einer Batterie oder aus einer externen elektrischen Energiequelle mit Versorgungsenergie gespeist werden. Das Gehäuse besteht vorzugsweise aus Spritzgußkunststoff, und die Schalter des Tastenfeldes können in Form von 5 × 8- Matrizen aus Tastenschaltern gebildet sein, wie in der US-PS 40 05 293 beschrieben ist, falls es erwünscht ist. Natürlich können auch andere Gehäusematerialien oder Schalter benutzt werden.
Nachdem nun das Äußere des Lernhilfegeräts beschrieben worden ist, werden nun zunächst die verschiedenen Betriebsarten erläutert, in denen das Lernhilfegerät arbeiten kann; daran anschließend werden die Blockschaltbilder und die genauen Logikdiagramme der verschiedenen elektronischen Schaltungen erläutert, die zur Verwirklichung des in Fig. 1 dargestellten Lernhilfegeräts angewendet werden.
Betriebsarten
Das Lernhilfegerät hat in der vorliegenden Ausführungsform fünf Betriebsarten, die nun beschrieben werden. Für den Fachmann ist klar, daß diese Betriebsarten natürlich modifiziert, hinsichtlich ihrer Anzahl reduziert oder hinsichtlich ihrer Fähigkeiten erweitert werden können. Auf Grund der speziellen Auslegung ist das vorliegende sprechende Lernhilfegerät mit folgenden Betriebsmöglichkeiten ausgestattet:
Die erste Betriebsart, nämlich die Betriebsart "Buchstabieren" wird automatisch eingegeben, wenn die "Ein"-Taste gedrückt wird. Im Buchstabierbetrieb wählt das Lernhilfegerät auf Zufallsbasis 10 Wörter aus einer ausgewählten Wortliste mit einem ausgewählten Schwierigkeitsgrad innerhalb der ausgewählten Wortliste aus. Die Wortliste kann geändert werden, indem die Taste "Wortlistenauswahl" gedrückt wird, die mit iener softwaremäßig ausgeführten Flipflop-Schaltung in Verbindung steht, die jedesmal dann kippt, wenn die Taste "Wortlistenauswahl" gedrückt wird.
Das Wortlistenauswahl-Flipflop bestimmt dann, aus welchen zwei Festspeichern die 10 Wörter auf Zufallsbasis ausgewählt werden, wie noch zu erkennen sein wird. Jede Wortliste enthält vorzugsweise Wörter, die in vier Schwierigkeitsgraden angeordnet sind. Im vorliegenden Ausführungsbeispiel gibt das Lernhilfegerät automatisch den niedrigsten Schwierigkeitsgrad ein. Die Tatsache, daß der niedrigste Schwierigkeitsgrad ausgewählt worden ist, wird dadurch angezeigt, daß in der Anzeigevorrichtung 2 der Ausdruck "SPELL A" wiedergegeben wird. Der Schwierigkeitsgrad kann durch Drücken der B-, C- oder D-Tasten erhöht werden, worauf die Anzeigevorrichtung 2 als Reaktion darauf die Angaben "SPELL B", "SPELL C" oder "SPELL D" wiedergibt. Nachdem die Wortliste und der Schwierigkeitsgrad ausgewählt worden sind, wird die Starttaste gedrückt, worauf das Lernhilfegerät beginnt, auf Zufallsbasis 10 Wörter auszuwählen und das Wort "spell" (Buchstabiere) und daran anschließend das erste, auf Zufallsbasis ausgewählte Wort zu sagen. An der am weitesten links liegenden Zeichenposition erscheint dann ein Gedankenstrich, nämlich das Sigment D in der Anzeigevorrichtung 2 (Fig. 2). An diesem Zeipunkt kann der Student dann entweder die Schreibweise des Worts eingeben und dann die Eingabetaste drücken oder die Taste "sage es nochmal" drücken. Der Student kann auch die Löschtaste drücken, wenn er feststellt, daß die eingegebene Schreibweise falsch ist, bevor er die Eingabetaste gedrückt hat; der Student kann dann erneut versuchen, die richtige Schreibweise einzugeben. Die Taste "sage es nochmal" hat zur Folge, daß das Wort von dem Lernhilfegerät nochmal gesprochen wird. In einigen Ausführungsformen kann das nochmalige Drücken der Taste "sage es nochmal" zur Folge haben, daß das ausgewählte Wort wiederholt wird, jedoch mit langsamerer Geschwindigkeit. Wenn der Student die Schreibweise des Worts unter Verwendung der Magnettasten am Tastenfeld 3 eingibt, erscheint die eingegebene Schreibweise an der Anzeigevorrichtung 2, wobei eine Verschiebung von links nach rechts stattfindet, wenn die Buchstaben eingegeben werden. Im Anschluß an das Drücken der Eingabetaste vergleicht das Lernhilfegerät die vom Studenten eingegebene Schreibweise mit einer richtigen Schreibweise, die in einem der Festspeicher gespeichert ist, und es gibt dem Studenten in Worten an, ob die eingegebene Schreibweise richtig oder falsch war. Die in Worten gesprochene Antwort ist ebenfalls als digitale Information in einem Festspeicher gespeichert. Falls es erwünscht ist, kann natürlich gleichzeitig oder als Alternative auch eine sichtbare Antwort gegeben werden. Im vorliegenden Ausführungsbeispiel erhält der Student zwei Möglichkeiten zum richtigen Buchstabieren des Worts, worauf das Lernhilfegerät das Wort (über den Lautsprecher 4) gesprochen und (über die Anzeigevorrichtung 2) in sichtbarer Weise für den Studenten buchstabiert und zum nächsten Wort aus der Gruppe der zehn auf Zufallsbasis ausgewählten Wörter weitergeht.
Am Ende der Prüfung des Buchstabierens von 10 auf Zufallsbasis ausgewählten Wörtern gibt das Lernhilfegerät die Anzahl der richtigen und falschen Antworten gesprochen und in sichtbarer Weise wieder. Damit dem Studenten ein zusätzlicher Antrieb gegeben wird, gibt das Lernhilfegerät vorzugsweise eine hörbare Antwort, die von der Richtigkeit der Buchstabiervorgänge abhängt. Im hier vorliegenden Ausführungsbeispiel spielt das Lernhilfegerät eine Melodie, bei der die Anzahl der Töne von der Richtigkeit der Buchstabiervorgänge des Studenten für die Gruppe der ausgewählten Wörter abhängt. Die Verwendung der Funktionstasten für "Eingabe", "sage es nochmal", "Löschen" und "Start" ist nun für die Betriebsart "Buchstabieren" beschrieben worden. Es gibt eine zusätzliche Funktionstaste, nämlich die Taste "Wiederholung", deren Funktion noch nicht beschrieben worden ist. Diese Taste "Wiederholung" hat die Wirkung, daß das Lernhilfegerät die Gruppe der zehn auf Zufallsbasis ausgewählten Wörter wiederholt, nachdem diese Gruppe beendet worden ist, oder daß das Lernhilfegerät wieder mit dem ersten Wort der Gruppe aus zehn Wörtern beginnt, wenn diese Taste im Verlauf der Gruppe gedrückt wird. Der Student kann am Ende der Gruppe aus zehn Wörtern jedoch auch die Taste "Start" drücken, die die Zufallsauswahl einer weiteren Gruppe aus zehn Wörtern aus der ausgewählten Wortliste auslöst.
Beispiele der Probleme beim Buchstabierbetrieb sind in der Tabelle I angegeben; dabei sind Beispiele für die Tastenbetätigungen, die der Student während der angegebenen Beispiele vornehmen kann, zusammen mit den vom Lernhilfegerät an der Anzeigevorrichtung 2 und mittels des Lautsprechers 4 gegebenen Antworten in einer Liste zusammengestellt.
Die Betriebsart "Lernen" wird durch Drücken der Taste "Lernen" eingegeben. Im Lernbetrieb wählt das Lernhilfegerät nach dem Drücken der Starttaste auf Zufallsbasis 10 Wörter aus der ausgewählten Wortliste bei dem ausgewählten Schwierigkeitsgrad aus, und es zeigt dann das erste ausgewählte Wort an der Anzeigevorrichtung 2 an; etwa eine Sekunde später sagt das Gerät "sage es". Etwa zwei Sekunden danach spricht das Lernhilfegerät das an der Anzeigevorrichtung 2 angezeigte Wort aus. Während dieses Zeitintervalls hat der Student die Möglichkeit zu versuchen, das an der Anzeigevorrichtung 2 angezeigte Wort auszusprechen; das Lernhilfegerät fährt dann fort, die Aussprache des Worts zu demonstrieren. Nach dem Durchlauf der zehn auf Zufallsbasis ausgewählten Wörter kehrt das Lernhilfegerät automatisch in den zuvor erwähnten Buchstabierbetrieb zurück, wobei jedoch die zehn während des Buchstabierbetriebs geprüften Wörter zehn Wörter sind, die zuvor während des Lernbetriebs angezeigt wurden. Im Lernbetrieb sind die Tasten "sage es nochmal", "Löschen", "Wiederholen" und "Eingabe" unwirksam. Der Schwierigkeitsgrad wird wie im Buchstabierbetrieb ausgewählt, jedoch zeigt das Lernhilfegerät im Lernbetrieb die verschiedenen Schwierigkeitsgrade in der Form "say it A" (sage es A), "say it B" (sage es B) usw. wiedergibt. Das Drücken der Starttaste hat die Wirkung, daß das Lernhilfegerät eine weitere Probe aus zehn Wörtern im Lernbetrieb auswählt. Beispiele für die beim Lernbetrieb auftretenden Probleme sind in der Tabelle II zusammengestellt.
Der Wörterratebetrieb wird eingegeben, indem die Taste "Wörter raten" gedrückt wird. Im Wörterratebetrieb wählt das Lernhilfegerät auf Zufallsbasis ein Wort aus der ausgewählten Wortliste aus und gibt an einer Anzahl von Zeichenpositionen auf der Anzeigevorrichtung 2 Gedankenstriche wieder; die Anzahl der Zeichenpositionen entspricht dabei der Anzahl der Buchstaben des ausgewählten Worts. Wenn das Lernhilfegerät beispielsweise das Wort "course" auswählt, dann erscheinen Gedankenstriche an sechs der acht Zeichenpositionen der Anzeigevorrichtung 2, wobei mit der am weitesten links liegenden Zeichenposition begonnen wird und die Fortsetzung nach rechts für sechs Zeichenpositionen erfolgt. Der Gedankenstrich wird in dem Zeichen der Anzeigevorrichtung dargestellt, indem die D-Segmente der jeweiligen Zeichen­ positonen erreicht werden (siehe Fig. 2). Das das Gerät bedienende Kind kann dann geratene Buchstaben in das ausgewählte Wort durch Drücken der Buchstabentasten am Tastenfeld 3 eingeben. Bei einer richtigen Wahl gibt das Lernhilfegerät eine hörbare Antwort aus vier Tönen, und es zeigt jeden Ort an, an dem der ausgewählte Buchstabe in dem ausgewählten Wort auftritt. Sobald Buchstaben richtig erraten worden sind, bleiben sie bis zum Ende des Spiels in der Anzeigevorrichtung. Für falsch geratene Buchstaben gibt das Lernhilfegerät vorzugsweise keine Antwort, doch könnte es auch beispielsweise "incorrect guess" (falsch geraten) sagen. Im vorliegenden Ausführungsbeispiel hat das Kind sechs Falschratemöglichkeiten. Beim siebten falschen Raten sagt das Lernhilfsgerät "I win" (ich gewinne). Wenn das Kind jedoch alle Buchstaben richtig geraten hat, bevor es siebenmal unrichtig geraten hat, sagt das Lernhilfegerät "you win" (Du gewinnst) und gibt eine hörbare Antwort aus vier Tönen. Im Wörterratebetrieb ermöglicht das Lernhilfegerät dem Kind also allein oder mit anderen Kindern das herkömmliche Buchstabierspiel zu spielen, das als "Männchen aufhängen" (hang man) bekannt ist. Beispiele der beim Wörterraten auftretenden Probleme sind in der Tabelle III zusammengestellt.
Das Lernhilfegerät weist eine weitere Betriebsart auf, die als "Codeknacker" bekannt ist; diese Betriebsart wird durch Drücken der Taste "Codeknacker" eingegeben. In dieser Betriebsart kann das Kind wahlweise irgendein Wort eingeben, und nach dem Drücken der Eingabetaste werden die Buchstaben der Anzeige gemäß einer vorbestimmten Codierung ausgetauscht. Im Code­ knackerbetrieb kann das Lernhilfegerät also dazu benutzt werden, vom Kind ausgewählte Wörter zu verschlüsseln. Das Lernhilfegerät kann im Codeknackerbetrieb auch dazu benutzt werden, die verschlüsselten Wörter wieder zu entschlüsseln, indem die verschlüsselten Wörter eingegeben werden, und die Eingabetaste gedrückt wird.
Eine weitere Betriebsart des Lernhilfegeräts ist der Zufallsbuchstabenbetrieb, der durch Drücken der Taste "Zufallsbuchstabe" eingegeben wird. In dieser Betriebsart zeigt das Lernhilfegerät als Antwort auf das Drücken der Starttaste automatisch einen auf Zufallsbasis ausgewählten Buchstaben des Alphabets in der ersten Zeichenposition der Anzeigevorrichtung 2 an. Die Buchstaben des Alphabets treten etwa proportional zu ihrem Vorkommen in der englischen Sprache auf; die häufiger vorkommenden Buchstaben werden daher häufiger angezeigt, als die weniger häufig benutzten Buchstaben. Wenn die Starttaste erneut gedrückt wird, wird ein weiterer auf Zufallsbasis ausgewählter Buchstabe in der ersten Zeichenposition angezeigt, und der zuvor ausgewählte Buchstabe bewegt sich nach rechts zur zweiten Zeichenposition, was als Antwort auf weitere Betätigungen der Zufallsbuchstabentaste fortgesetzt wird.
In Fig. 2 ist eine bevorzugte Anordnung der Segmente Der Anzeigevorrichtung 2 dargestellt. Die Anzeigevorrichtung 2 weist vorzugsweise acht Zeichenpositionen auf, von denen jede mit 16 Segmenten versehen ist; ein Zeichen besteht aus 14 Segmenten, die so angeordnet sind, daß ungefähr eine britische Flagge entsteht, während weitere zwei Segmente für einen Apostroph und einen Dezimalpunkt vorgesehen sind. In Fig. 2 sind die Segmente A bis N etwa in der Form der britischen Flagge angeordnet, während das Segment AP einen Apostroph und das Segment DP einen Dezimalpunkt bilden. An die Segmente A bis N, DP und AP sind an den acht Zeichenpositionen der Anzeigevorrichtung 2 Segmentleiter Sa bis Sn, Sdpt und Sap angeschlossen. Für jede Zeichenposition ist auch eine gemeinsame Elektrode D 1 bis D 8 vorgesehen. Wenn die Anzeigevorrichtung 2 von einer Vakuum-Fluoreszenzanzeigevorrichtung gebildet ist, sind die Segmentelektroden Anoden in der Vakuum- Fluoreszenzanzeigevorrichtung, während jede gemeinsame Elektrode vorzugsweise von einem jeder Zeichenposition zugeordneten Gitter gebildet ist. Durch Multiplexieren der Signale an den Segmentleitern (Sa-Sn, Sdpt und Sap) mit Signalen an den gemeinsamen Zeichenelektroden (D 1 bis D 8), kann die Anzeigevorrichtung veranlaßt werden, die verschiedenen Buchstaben des Alphabets, einen Punkt, einen Apostroph und verschiedene Zahlen darzustellen. Bei einer geeigneten Erregung der Leiter für die Segmente A, B, C, E und F bei entsprechender Erregung der gemeinsamen Elektrode D 1 wird der Buchstabe A an der ersten Zeichenposition der Anzeigevorrichtung 2 angezeigt. Durch entsprechendes Ansteuern der Leiter für die Segmente A, B, S D, H, I und J bei Erregung der gemeinsamen Elektrode D 2 wird an der zweiten Zeichenposition der Anzeigevorrichtung 2 der Buchstabe B wiedergegeben. Durch eine entsprechende Erregung der Segmentleiter und gemeinsamen Elektroden können alle anderen Buchstaben des Alphabets sowie der Apostroph, der Punkt und auch Ziffern gebildet werden. Im Betrieb werden die gemeinsamen Elektroden D 1 bis D 8 nacheinander durch Anlegen einer geeigneten Spannung erregt, wenn ausgewählte Segmentleiter durch ihre entsprechenden Spannungswerte zur Erzeugung der Wiedergabe von Zeichen auf der Anzeigevorrichtung 2 erregt werden. Es könnten aber auch die Segmentelektroden sequentiell erregt werden, wenn die gemeinsamen Elektroden in ausgewählter Weise zur Erzeugung einer Wiedergabe auf der Anzeigevorrichtung 2 erregt werden.
Blockschaltbild des Lernhilfegeräts
In Fig. 3 ist ein Blockschaltbild mit den Hauptbaueinheiten dargestellt, aus denen das beschriebene Ausführungsbeispiel des sprechenden Lernhilfegeräts zusammengesetzt ist. Die Elektronik des Lernhilfegeräts kann in drei Hauptfunktionsgruppen unterteilt werden, nämlich in eine Steuerschaltung 11, eine Sprachsyntheseschaltung 10 und einen Festspeicher 12 (ROM). In der hier beschriebenen Ausführungsform sind diese elektronischen Hauptfunktionsgruppen jeweils auf eigenen integrierten Schaltungs-Chips integriert; die Ausnahme bildet dabei die den Festspeicher 12 bildende Funktionsgruppe, die auf zwei integrierten Schaltungs-Chips integriert ist. Die Sprachsyntheseschaltung 10 ist also vorzugsweise als eine integrierte Schaltung ausgebildet, die in Fig. 3 als Block 10 dargestellt ist; die Steuerschaltung ist ebenfalls als eine eigene integrierte Schaltung ausgeführt, die in Fig. 3 als Block 11 dargestellt ist. Die Wortliste des Lernhilfegeräts ist in der Festspeicher-Funktionsgruppe gespeichert, die sowohl die richtige Schreibweise der Wörter als auch die Rahmen aus digitalen Codegruppen speichert, die von der Sprachsyntheseschaltungsanordnung 10 in ein elektrisches Signal umgesetzt werden, das einen Lautsprecher 4 oder eine andere mit einer Stimmspule ausgestattete Vorrichtung ansteuert. Im beschriebenen Ausführungsbeispiel hat der Festspeicher 12 vorzugsweise eine Speicherkapazität für 261 144 Bits. Auf Grund der speziellen Auslegung sind die 262 144 Datenbits auf zwei getrennte Festspeicher-Chips aufgeteilt, die in Fig. 3 mit 12 A und 12 B bezeichnet sind. Die Speicher­ kapazität des Festspeichers 12 ist eine Frage der Auslegung; bei Anwendung der anschließend mit Bezugnahme auf Fig. 6 näher erläuterten Datenkompressionsmerkmale können die 262 144 Bits des Festspeichers dazu benutzt werden, größenordnungsmäßig etwa 250 Wörter der gesprochen wiedergegebenen Sprache und ihre richtige Schreibweise sowie verschiedene Töne und vom Lernhilfegerät gesprochene Lob- und Korrektursätze speichern.
Wie unter Bezugnahme auf Fig. 1 erläutert wurde, hat die Wortlistenwähltaste die Wirkung, daß das Lernhilfegerät Wörter aus jeweils einer anderen Wortliste auswählt. In Fig. 3 ist die Grundwortliste, die beim Lernhilfegerät benutzt wird, in den Festspeicher 12 A und 12 B zusammen mit der Schreibweise der Wörter und entsprechenden Ausdrücken, die das Lernhilfegerät während der verschiedenen Betriebsarten ausspricht, gespeichert. Die zweite Wortliste, die durch Drücken der Wortlistenwähltaste ausgewählt werden kann, ist vorzugsweise in zwei weiteren Festspeichern 13 A und 13 B gespeichert. In Fig. 3 sind diese Festspeicher mit gestrichelten Linien dargestelllt, da sie vorzugsweise von der das Gerät benutzenden Person in das Lernhilfegerät eingesteckt werden und im Normalfall nicht im Gerät enthalten sind; wenn das Gerät von Kindern benutzt wird, wird der Wechsel der Festspeicher vorzugsweise von einem Erwachsenen vorgenommen, da Kinder nicht die notwendige manuelle Geschicklichkeit haben können. Auf diese Weise können verschiedene "Bibliotheken" aus Wortlisten für die Benutzung durch das Lernhilfegerät zur Verfügung gestellt werden.
Die Anzahl der Schaltungs-Chips, auf denen das Lernhilfegerät verwirklicht ist, ist eine Frage der Auslegung; mit der Verbesserung der LSI-Verfahren (Verfahren der Integration in großem Maßstab), beispielsweise unter Verwendung von Elektronenstrahlätzverfahren oder anderen Verfahren, kann die Anzahl der integrierten Schaltungs- Chips von vier auf einen einzigen Chip reduziert werden.
Die Sprachsyntheseschaltung 10 ist über einen Datenweg 15 mit den Festspeichern und über einen Datenweg 16 mit der Steuerschaltung 11 verbunden. Die Steuerschaltung 11, die von einer entsprechend programmierten Mikroprozessoranordnung gebildet sein kann, betätigt vorzugsweise die Anzeigevorrichtung 2, indem sie an die Segmentleiter Sa bis Sn, Sdpt und Sap Segmentinformationen und an die Anschlüsse der gemeinsamen Elektroden D 1 bis D 8 Zeichen­ positionsinformationen anlegt. Im hier beschriebenen Ausführungsbeispiel liefert die Steuerschaltung 11 vorzugsweise auch die Heizdrahtenergie an die Anzeigevorrichtung 2, wenn für diese eine Vakuum-Fluoreszenzanzeigevorrichtung benutzt wird. Bei Verwendung einer Flüssigkristall-Anzeigevorrichtung, einer elektrochromen Anzeigevorrichtung, einer Leuchtdioden-Anzeigevorrichtung oder einer Gasentladungs- Anzeigevorrichtung ist diese Heizdrahtenergie natürlich nicht erforderlich. Die Steuerschaltung 10 tastet auch das Tastenfeld 3 ab, um darin gedrückte Tasten festzustellen. Das Tastenfeld 3 weist 40 Schaltpositionen auf, die in Fig. 3 schematisch dargestellt sind; die Schaltpositionen liegen an den Stellen, an denen sich die Leiter innerhalb des von einer gestrichelten Linie umgebenen Blocks, der mit 3 bezeichnet ist, in Fig. 3 überkreuzen. Das Schließen eines Schalters hat zur Folge, daß die in Fig. 3 als Überkreuzungen dargestellten Leiter miteinander verbunden werden. Bei 3′ ist der an einer Leiterüberkreuzung 3 vorhandene Schalter genauer dargestellt. Zusätzlich zur Betätigung der Anzeigevorrichtung 2 und zur Feststellung gedrückter Tasten am Tastenfeld 3 hat die Steuerschaltung 11 auch die Funktion der Abgabe von Adressen zur Adressierung der Festspeicher 12 A und 12 B (über die Sprachsyntheseschaltung 10) und des Vergleichs der richtigen Schreibweise aus den Festspeichern 12 A oder 12 B mit der von einem Studenten am Tastenfeld 3 eingegebenen Schreibweise; andere Aufgaben werden noch zu erkennen sein. Adressen aus der Steuerschaltung 11 werden den Festspeichern 12 A, 12 B von der Sprachsyntheseschaltung 10 zugeführt, da diese vorzugsweise mit Puffern ausgestattet ist, die mehrere Festspeicher adressieren können, wie noch zu erkennen sein wird. Auf Grund eines Chip-Auswahlsignals, das von der Sprachsyntheseschaltung 10 an alle Festspeicher übertragen wird, gibt vorzugsweise nur einer der zwei Festspeicher als Reaktion auf die Adressierung Informationen ab. Im vorliegenden Ausführungsbeispiel überträgt die Steuerschaltung 11 die Adressen an die Festspeicher über die Sprachsyntheseschaltung 10, so daß nur deren Ausgangspuffer zur gleichzeitigen Adressenübertragung zu mehreren Festspeichern dimensioniert werden müssen. Natürlich könnten auch die Ausgangspuffer der Steuerschaltung 11 für die gleichzeitige Informationsübertragung zu mehreren Festspeichern dimensioniert werden; in gewissen Ausführungsformen kann es daher erwünscht sein, die Steuerschaltung 11 direkt mit den Festspeichern zu verbinden.
Wie noch zu erkennen sein wird, erzeugt die Sprachsynthese­ schaltung 10 synthetisch menschliche Sprache oder andere Töne entsprechend Datenrahmen, die in den Festspeichern 12 A, 12 B oder 13 A, 13 B gespeichert sind. In der Sprachsyntheseschaltung 10 wird von einem digitalen Filter Gebrauch gemacht, wie es in der DE-OS 28 26 570 beschrieben ist. Bei der nachfolgenden Erläuterung der Sprachsyntheseschaltungsanordnung wird angenommen, daß der Leser die Arbeitsweise des in der genannten Patentanmeldung beschriebenen Filters grundsätzlich versteht. Der Leser wird daher angeregt, vor dem Einstieg in die nachfolgende genaue Erläuterung der Sprachsyntheseschaltung die erwähnte Offenlegungsschrift zu lesen. Die Sprachsyntheseschaltung 10 enthält auch einen Digital-Analog-Umsetzer zum Umsetzen der digitalen Ausgangssignale des Filters in Analogsignale zur Ansteuerung des Lautsprechers 4 oder einer anderen Stimmspulenvorrichtung. Die Sprachsyntheseschaltung 10 enthält auch Takt-, Steuer-, Datenspeicher- und Datenkompressionsanordnungen, die nachfolgend näher beschrieben werden.
Blockschaltbild der Sprachsyntheseanordnung
Die Fig. 4a und 4b bilden zusammen das Blockschaltbild der Sprachsyntheseanordnung (10), im folgenden auch Frequenzsyntheseschaltung 10 genannt. Die Frequenzsyntheseschaltung 10 enthält sechs Hauptfunktionsblöcke, die bis auf einen in den Fig. 4a und 4b genauer dargestellt sind. Die sechs Hauptfunktionsblöcke sind die Zeitsteuerlogik 20, die Festspeicher-Steuerschaltungs- Schnittstellenlogik 21, die Parameterlade-, Parameterspeicher- und Parameterdecodierlogik 22, ein Parameterinterpolator 23, ein Filter- und Anregungsgenerator 24 und ein Digital-Analog-Umsetzer- und Ausgabeabschnitt 25. Diese Hauptfunktionsblöcke werden nun unter Bezugnahme auf die Fig. 5a, 5b, 6, 7a, 7b, 8a bis 8c, 9a, 9b, 10a bis 10d und 11a, 11b beschrieben.
ROM-Steuerschaltungs-Schnittstellenlogik
Nach den Fig. 4a und 4b koppelt die Schnittstellenlogik 21 die Sprachsyntheseschaltung 10 mit den Fest­ speichern 12 A und 12 B und mit der Steuerschaltung 11. Im vorliegenden Ausführungsbeispiel sind die Steueranschlußstifte 1 bis 8 (CTL1 bis CTL8), der Chipauswahl- Anschlußstift (CS) und der Anschlußstift für den Prozessordatentakt (PDC) mit der Steuerschaltung verbunden, während die Adressenanschlußstifte 1 bis 8 (ADD1 bis ADD8) und die Befehlsanschlußstifte 0, 1 (I0, I1) mit den Festspeichern 12 A und 12 B und (falls sie benutzt werden, mit den Festspeichern 13 A, 13 B) verbunden sind. Die Schnittstellenlogik 21 sendet Adresseninformationen aus der Steuerschaltung 11 an die Festspeicher 12 A, 12 B, und sie überträgt vorzugsweise digitale Informationen von den Festspeichern wieder zur Steuerschaltung 11 zurück. Außerdem überträgt die Schnittstellenlogik 21 Daten aus den Festspeichern zur Sprachsyntheseschaltung 10, und sie löst das Sprechen aus. Ein Chip-Wählsignal (CS) bewirkt die Freigabe von Tristate-Puffern 213 und die Freigabe eines 3-Bit-Befehlshalteglieds 210. Ein Prozessordatentaktsignal (PDC) bewirkt das Setzen des Halteglieds 210, so daß es die an den Anschlußstiften CTL1 bis CTL4 erscheinenden Daten aus der Steuerschaltung festhält. Das Befehlshalteglied 210 speichert einen aus drei Bits bestehenden Befehl aus der Steuerschaltung 11, der vom Befehlsdecodierer 211 decodiert wird. Der Befehlsdecodierer 211 spricht auf die acht folgenden Befehle an: Sprechen (SPK) oder langsam Sprechen (SPKSLOW), damit die Sprachsyntheseschaltung veranlaßt wird, einen Zugriff auf Daten im Festspeicher auszuüben und in Abhängigkeit von diesen Daten mit Normalgeschwindigkeit oder mit einer langsamen Geschwindigkeit zu sprechen; ein Rückstellbefehl (RST) zum Rückstellen der Sprachsynthese­ schaltung auf Null; ein Testsprechbefehl (TTALK), mit dem die Steuerschaltung feststellen kann, ob die Sprachsyntheseschaltung immer noch spricht, ein Adressenladebefehl (LA), bei dem vier Bits aus der Steuerschaltung an den Anschlußstiften CTL1 bis CTL8 empfangen und als Adressenzahl an die Festspeicher über die Anschlußstifte ADD1 bis ADD8 und die zugehörigen Puffer 211 übertragen werden, ein Lese- und Verzweigungsbefehl RB, der zur Folge hat, daß der Festspeicher die Inhalte der gegenwärtigen und der nächsten Adresse aufnimmt und für eine Verzweigungsadresse benutzt, ein Lesebefehl (RE), der den Festspeicher veranlaßt, ein Datenbit am Anschlußstift ADD1 abzugeben, wobei dieses Datenbit in ein 4 Bits fassendes Dateneingaberegister 212 geschoben wird, und ein Ausgabebefehl, der die Ausgabe von vier Datenbits aus dem Dateneingaberegister 212 in die Steuerschaltung 11 über die Puffer 213 und die Anschlußstifte CTL1 bis CTL8 bewirkt. Sobald die Sprachsyntheseschaltung 10 begonnen hat, als Antwort auf einen Sprechbefehl SPK oder einen Langsamsprechbefehl SPKSLOW zu führen, fährt sie mit dem Sprechen fort, bis die Schnittstellenlogik 21 auf einen Rückstellbefehl RST trifft, oder bis ein Verknüpfungsglied 207 (siehe Fig. 7a, 7b) eine Codegruppe "Energie = 15" feststellt und unabhängig davon, das Sprechhalteglied 216 zurückstellt. Wie noch zu erkennen sein wird, wird die Codegruppe "Energie = 15" als letzter Datenrahmen in mehreren Datenrahmen zur Erzeugung von Wörtern, Ausdrücken oder Sätzen benutzt. Die vom Decodierer 211 decodierten Befehle LA, RE und RB werden mittels der ROM-Steuerlogik 217 erneut codiert und über die Befehlsanschlußstifte I0, I1 in den Festspeicher übertragen.
Das Prozessordatentaktsignal PDC hat nicht nur den Zweck, das Halteglied 210 mit den Daten an den Anschlußstiften CTL1 bis CTL4 einzustellen. Es meldet, daß eine Adresse über die Anschlußstifte CTL1 bis CTL8 übertragen wird, nachdem ein Adressenladebefehl LA oder ein Ausgabebefehl decodiert worden sind; es kann auch melden, daß der Sprechtestbefehl TTALK ausgeführt und über den Anschlußstift CTL8 ausgegeben werden soll. Zwei dem Decodierer 211 zugeordnete Halteglieder 218 A und 218 B (Fig. 7a, 7b) machen diesen Decodierer 211 unwirksam, wenn der Adressenladebefehl LA, der Sprechtestbefehl TTALK und der Ausgabebefehl OUTPUT decodiert worden sind und im Anschluß darin ein Prozessordaten­ taktsignal PDC auftritt, so daß die dann an den Anschlußstiften CTL1 bis CTL8 anliegenden Daten nichtdecodiert werden.
Ein Sprechhalteglied 216 wird als Antwort auf die Decodierung eines Sprechbefehls SPK oder eines Langsamsprechbefehls SPKSLOW gesetzt; seine Rücksetzung erfolgt : (1) während einer Einschaltlöschung (PUC), die automatisch jedesmal eintritt, wenn die Sprachsynthese­ schaltung eingeschaltet wird; (2) durch die Decodierung eines Rückstellbefehls RST oder (3) durch eine Codegruppe "Energie = 15" in einem Rahmen aus Sprachdaten. Der Ausgang TALKD ist ein verzögerter Ausgang, damit alle Sprachparameter in die Sprachsyntheseschaltung eingegeben werden können, bevor das Sprechen versucht wird. Das Langsam-Sprechhalteglied 215 wird als Reaktion auf die Decodierung des Langsamsprechbefehls SPKSLOW gesetzt; es wird in der gleichen Weise wie das Halteglied 216 zurückgesetzt. Der Ausgang SLOWD ist ebenfalls ein verzögerter Ausgang, damit alle Parameter in die Sprachsyntheseschaltung eingegeben werden können, bevor das Sprechen versucht wird.
Parameterlade-, Parameterspeicher- und Parameterdecodierlogik
Die Parameterlade-, Parameterspeicher- und Parameterdecodierlogik 22 enthält ein Parametereingaberegister 205 mit der Kapazität von sechs Bits, das über den Anschlußstift ADD1 als Reaktion auf einen vom ausgewählten Festspeicher über die Befehlsanschlußstifte abgegebenen Rücksetzbefehl RE serielle Daten aus dem Festspeicher empfängt. Ein Schreib/Lese-Speicher 203 (RAM) für codierte Parameter und Bedingungsdecodierer und Halteglieder 208 sind so angeschlossen, daß sie die in das Parametereingaberegister 205 eingegebenen Daten empfangen. Wie zu erkennen ist, wird jeder Rahmen aus Sprechdaten in Abschnitten 3 bis 6 Bits über das Parameter­ eingaberegister 205 in einem codierten Format in den Schreib/Lese-Speicher 203 eingegeben, in dem der Rahmen zwischengespeichert wird. Jeder der im Schreib/Lese- Speicher 203 gespeicherten codierten Parameter wird vom Parameterfestspeicher 202 in einen Parameter aus 10 Bits umgesetzt und dann im Parameterausgaberegister 201 zwischengespeichert.
Wie mit Bezugnahme auf Fig. 6 noch erläutert wird, können die Datenrahmen entweder ganz oder teilweise in das Parametereingaberegister 205 eingegeben werden, was von der Länge des bestimmten eingegebenen Rahmens abhängt. Die Bedingungsdecodierer und Halteglieder 208 reagieren auf bestimmte Abschnitte des Datenrahmens in der Weise, daß Halteglieder für "Wiederholung", "Tonhöhe=0", "Energie=0" "Alte Tonhöhe" und "Alte Energie" gesetzt werden. Die Aufgabe dieser Halteglieder wird anschließend unter Bezugnahme auf die Fig. 7a und 7b noch erläutert. Die Bedingungsdecodierer und Halteglieder 208 werden zusammen mit verschiedenen Zeitsteuersignalen dazu benutzt, verschiedene Interpolations-Steuerverknüpfungsglieder 209 zu steuern. Die Verknüpfungsglieder 209 erzeugen ein Sperrsignal, wenn die Interpolation verhindert werden soll, ein Nullparametersignal, wenn der Parameter auf den Wert "0" eingestellt werden soll, und ein Parameter-Ladefreigabesignal, das unter anderem das Laden der Daten im Parametereingaberegister 205 in den Schreib/Lese-Speicher 203 ermöglicht.
Parameterinterpolator
Die Parameter im Parameterausgaberegister 201 werden an den Parameterinterpolator 23 angelegt. Die eingegebenen Sprachparameter K 1 bis K 10 sind einschließlich der Sprachenergie in einem K-Stapel 302 und einer E 10-Schleife 304 gespeichert, während der Tonhöhenparameter in einem Tonhöhenregister 305 gespeichert ist. Die Sprachparameter und die Sprachenergie werden über eine Umcodierungslogik 301 dem Matrixmultiplizierer 401 im Filter- und Anregungsgenerator 24 zugeführt. Wenn ein neuer Parameter in das Parameterausgaberegister 201 geladen wird, wird dieser Parameter jedoch nicht sofort in den K-Stapel 302, die E 10-Schleife 304 oder in das Register 305 eingegeben, sondern der entsprechende Wert im K-Stapel 302, in der E 10-Schleife oder im Register 305 durchläuft acht Interpolationszyklen, in denen ein Teil der Differenz zwischen dem derzeitigen Wert im K-Stapel 302, in der E 10-Schleife 304 oder im Register 305 und dem Zielwert dieses Parameters im Parameterausgaberegister 201 zum derzeitigen Wert im K-Stapel 302, in der E 10-Schleife 304 oder im Register 305 addiert wird.
Im wesentlichen werden die gleichen Schaltungen zur Durchführung der Interpolation der Tonhöhe, der Sprachenergie und der K 1- bis K 10-Sprachparameter angewendet. Der Zielwert aus dem Parameterausgaberegister 201 wird zusammen mit dem derzeit vorhandenen Wert des entsprechenden Parameters an eine Subtraktionsschaltung 308 angelegt. Eine Wählschaltung 307 wählt entsprechend dem derzeit im Parameterausgaberegister 201 enthaltenen Parameter entweder die gerade vorliegende Tonhöhe aus der Tonhöhenlogik 306 oder den gerade vorliegenden Energieparameter oder K-Koeffizientendatenwert aus dem KE 10- Übertragungsregister 303 aus und legt den entsprechenden Wert an die Subtraktionsschaltung 308 und an eine Verzögerungsschaltung 309 an. Wie zu erkennen ist, kann die Verzögerungsschaltung 309 irgendeinen Verzögerungswert zwischen einer Verzögerung um 1 Bit und einer Verzögerung um 3 Bit erzeugen. Das Ausgangssignal der Verzögerungsschaltung 309 und das Ausgangssignal der Subtraktionsschaltung 308 werden der Addierschaltung 310 zugeführt, deren Aus­ gangssignal an eine Verzögerungsschaltung 311 angelegt wird. Wenn die Verzögerung der Verzögerungsschaltung 309 den Wert 0 hat, wird der Zielwert des bestimmten Parameters im Parameterausgaberegister 201 in den K- Stapel 302, die E 10-Schleife 304 oder das Tonhöhenregister 305 eingegeben. Die Verzögerung der Verzögerungsschaltung 311 beträgt 3 bis 0 Bits, wobei eine Verzögerung um 3 Bits vorliegt, wenn die Verzögerungsschaltung 309 eine Verzögerung um 0 Bit hervorruft, so daß die Gesamtverzögerung durch die Wählerschaltung 307, die Verzögerungsschaltung 309, die Verzögerungsschaltung 311, die Addierschaltung 310 und die Subtrahierschaltung 308 konstant bleibt. Durch Steuern der Verzögerung der Verzögerungsschaltungen 309 und 311 wird entweder die gesamte aus der Subtrahierschaltung 308 ausgegebene Differenz (also die Differenz zwischen dem Zielwert und dem derzeit vorhandenen Wert) oder die Hälfte, ein Viertel oder ein Achtel dieser Differenz wieder zum derzeit vorliegenden Wert des Parameters addiert. Durch Steuern der Verzögerungswerte in der in der Tabelle IV angegebenen Weise wird eine relativ glatte, achtstufige Parameterinterpolation erzielt.
In der DE-OS 28 26 570 ist unter Bezugnahme auf deren Fig. 7 ein Sprachsynthesefilter beschrieben, bei dem im K-Stapel kontinuierlich Sprachkoeffizienten K 1 bis K 9 bis zu ihrer Aktualisierung gespeichert sind, während der Koeffizient K 10 und die Sprachenergie (die in der genannten Patentanmeldung mit dem Buchstaben A gekennzeichnet ist) periodisch ausgetauscht werden. Im Parameterinterpolator 23 sind die Sprachkoeffizienten K 1 bis K 9 ebenfalls im K-Stapel 302 gespeichert, bis sie aktualisiert werden, während der Sprachenenergieparameter und der Koeffizient K 10 im K-Stapel 302 während eines 20 Bitperioden dauernden Betriebsablaufzyklus im Filter- und Anregungsgenerator 24 ihre Plätze tauschen. Zur Erzielung dieser Funktion speichert die E 10-Schleife 304 sowohl den Sprachenenergieparameter als auch den Koeffizienten K 10, und sie gibt diese Werte abwechselnd in den entsprechenden Speicherplatz im K-Stapel 302 ein. Das KE 10-Übertragungsregister 303 wird entweder mit dem Koeffizienten K 10 oder mit dem Sprachenenergieparameter aus der E 10-Schleife 304 oder dem entsprechenden Sprach­ koeffizienten K 1 bis K 9 aus dem K-Stapel 302 zur Interpolation durch die Schaltungseinheiten 307 bis 311 geladen.
Die Umcodierungslogik 301 führt vorzugsweise mit den Daten aus dem K-Stapel 302 einen Booth-Algorithmus durch, bevor diese Daten an den Matrixmultiplizierer 401 angelegt werden. Die Umcodierungslogik 301 ermöglicht daher eine Verkleinerung des Matrixmultiplizierers 401 im Vergleich zu dem in der DE-OS 28 26 570 beschriebenen Matrixmultiplizierer.
Filter- und Anregungsgenerator
Der Filter- und Anregungsgenerator 24 enthält den Matrix­ multiplizierer 401, dessen Ausgang mit einem Summiermultiplexer 402 verbunden ist. Der Ausgang des Summiermultiplexers 402 ist mit dem Eingang der Summierschaltung 404 verbunden, deren Ausgang wiederum an einen Verzögerungsstapel 406 und einen Multipliziermultiplexer 415 angeschlossen ist. Der Ausgang des Verzögerungsstapels ist mit einem Eingang des Summiermultiplexers 402 und mit einem Y-Halteglied 403 verbunden. Der Ausgang des Y-Halteglieds 403 ist mit einem Eingang des Multipliziermultiplexers 415 verbunden, der auch mit der Beschneidungslogik 425 verbunden ist. Der Ausgang des Multipliziermultiplexers 415 ist mit einem Eingang des Matrixmultiplizierers 401 verbunden. Der Filter- und Anregungsgenerator 24 macht von einem Gitterfilter Gebrauch, wie es in der DE-OS 28 26 570 beschrieben ist. In Fig. 4b sind aus Gründen der Klarheit verschiedene weniger bedeutende Verbindungen nicht dargestellt; diese Verbindungen werden jedoch im Zusammenhang mit den Fig. 10a, 10b, 11a und 11b beschrieben. Die Anordnung der oben geschilderten Baueinheiten stimmt allgemein mit der Anordnung in Fig. 7 der erwähnten DE-OS 28 26 570 überein; der Matrixmultiplizierer 401 entspricht also dem Element 30′, der Summiermultiplexer 402 entspricht den Elementen 37b′, 37c′ und 37d′, die Verknüpfungsglieder 414 (Fig. 11a und 11b) entsprechen dem Element 33′, der Verzögerungsstapel 406 entspricht den Elementen 34′ und 35′, das Y-Halteglied 403 entspricht dem Element 36′ und der Multipliziermultiplexer 415 entspricht den Elementen 38a′, 38b′, 38c′ und 38d′.
Die Stimmanregungsdaten werden von einem Stimmlos/ Stimmhaft-Verknüpfungsglied 408 geliefert. Wie noch genauer beschrieben wird, werden die in das Parametereingaberegister 205 eingegebenen Parameter in einem Format mit komprimierten Daten geliefert. Bei dem angewendeten Datenkompressionsschema wird der codierte Tonhöhenparameter dann, wenn er im Eingaberegister 205 den Wert 0 hat, von den Bedingungsdecodierern und Haltegliedern 208 als eine "stimmlos"-Bedingung interpretiert. Das Verknüpfungsglied 408 reagiert darauf in der Weise, daß es Zufallsdaten aus dem Stimmlos- Generator 407 als Anregungseingangssignal an die Leitung 414 anlegt. Wenn der codierte Tonhöhenparameter jedoch einen anderen Wert hat, wird er vom Parameterfestspeicher 202 decodiert, in das Parameterausgaberegister 201 geladen und schließlich entweder direkt oder mittels des oben geschilderten Interpolationsschemas in das Tonhöhenregisters 305 eingegeben. Auf der Grundlage der von der Zahl im Tonhöhenregister 305 angegebenen Periode wird ein stimmhaftes Anregungssignal aus dem Chirp-Festspeicher 409 hergeleitet. Wie in der DE-OS 28 26 570 erläutert ist, kann das stimmhafte Anregungssignal aus einer Impulsfunktion oder einer anderen sich wiederholenden Funktion, beispielsweise einer sich wiederholenden Chirp-Funktion bestehen. Im vorliegenden Ausführungsbeispiel ist eine Chirp-Funktion ausgewählt worden, da diese Funktion die "Verschwommenheit" der erzeugten Sprache herabsetzt, da sie offensichtlich die Wirkung der Stimmbänder besser als eine Impulsfunktion nachbildet; diese Chirp-Funktion wird vom Chirp-Festspeicher 409 wiederholt erzeugt. Der Chirp-Festspeicher 409 wird vom Zählerhalteglied 410 adressiert, wobei die darin enthaltene Adresse in einer 1-Additionschaltung 411 fortgeschaltet wird. Die Adresse im Zählerhalteglied 410 wird weiterhin in der 1-Additionsschaltung 411 fortgeschaltet und über die Rücksetzlogik 412 übertragen, bis ein Größenkomparator 413, der die Größe der Adresse aus der 1-Additionsschaltung 411 mit dem Inhalt des Tonhöhenregisters 305 vergleicht, anzeigt, daß der Wert im Zählerhalteglied 410 gleich oder größer als der Wert im Tonhöhenregister 305 ist, wobei an diesem Zeitpunkt die Rücksetzlogik 412 die Adresse im Zählerhalteglied 410 auf den Wert Null stellt. Zwischen dem Adressenwert 0 erstreckt sich die Chirp-Funktion im Chirp- Festspeicher 409 über etwa 50 Adressen. Das Zählerhalteglied 410 und der Chirp-Festspeicher 409 sind so eingestellt, daß Adressen mit einem Wert über 50 keine Ausgabe eines Abschnitts der Chirp-Funktion aus dem Chirp-Festspeicher 409 zum Stimmlos/Stimmhaft-Verknüpfungsglied 408 bewirkt. Auf diese Weise wird die Chirp-Funktion während eines stimmhaften Sprechens wiederholt mit einer auf die Tonhöhe bezogenen Periode erzeugt.
Systemzeitsteuerung
In Fig. 5 sind die zeitlichen Beziehungen zwischen dem Auftreten verschiedener Zeitsteuersignale dargestellt, die auf dem Chip der Sprachsyntheseschaltung 10 erzeugt werden. Außerdem ist folgendes dargestellt: Die zeitlichen Beziehungen bezüglich des Zeitpunkts, an dem neue Datenrahmen in die Sprachsyntheseschaltung 10 eingegeben werden; die zeitliche Beziehung im Zusammenhang mit den an den eingegebenen Parametern durchgeführten Interpolationen, die zeitlichen Beziehungen zu den Zeitperioden des Gitterfilters und die Beziehung der zuvor genannten Größen in Bezug auf die Grundtaktsignale.
Die Sprachsyntheseschaltung ist vorzugsweise unter Verwendung digitaler Schaltungsglieder aufgebaut, die mit Vorladung und bedingter Entladung arbeiten; Fig. 5 zeigt daher Taktsignale Φ 1 bis Φ 4, die bei solchen digitalen Verknüpfungsgliedern mit Vorladung und bedingter Entladung angewendet werden können. Es gibt zwei Haupttaktphasen (Φ 1 und Φ 2) und zwei Vorladungs- Taktphasen (Φ 3 und Φ 4). Die Taktphase Φ 3 nimmt während der ersten Hälfte der Taktphase Φ 1 einen niedrigen Wert an; sie dient daher als Vorladungs-Taktphase für die Taktphase Φ 1. Die Taktphase Φ 4 nimmt während der ersten Hälfte der Taktphase Φ 2 ienen niedrigen Wert an; sie dient also als Vorladungs-Taktphase für die Taktphase Φ 2. Zum Takten eines Datenbits ist eine Gruppe von Taktphasen Φ 1 bis Φ 4 erforderlich und entspricht daher einer Zeitperiode.
Die Zeitperioden sind mit T 1 bis T 20 bezeichnet; jede Zeitperiode hat vorzugsweise eine Zeitdauer in der Größenordnung von 5 µs. Die Auswahl einer Zeitperiode mit einer Dauer in der Größenordnung von 5 µs ermöglicht die Ausgabe von Daten aus dem digitalen Filter mit einer Übertragungsgeschwindigkeit von 10 kHz (d. h. mit einer Periode von 100 µs), was im Digital-Analog- Ausgabeabschnitt 25 (Fig. 4b) einen Frequenzbereich von 5 kHz ergibt. Abhängig von dem gewünschten Frequenzbereich, von der Anzahl der angewendeten Sprachkoeffizienten Kn und vom verwendeten Typ der digitalen Schaltungsglieder können die Perioden und Frequenzen der Taktsignale und Taktphasen, die in Fig. 5 dargestellt sind, auch beträchtlich geändert werden, falls dies erwünscht ist.
Wie in der DE-OS 28 26 570 erläutert ist, umfaßt eine Zykluszeit des Gitterfilters im Filter- und Anregungsgenerator 24 vorzugsweise 20 Zeitperioden T 1 bis T 20. Aus Gründen, die hier nicht von Bedeutung sind, weicht die Numerierung dieser Zeitperioden von der Numerierung in der genannten Patentanmeldung ab. Damit für den Leser die Unterschiede in der Numerierung der Zeitperioden verständlicher werden, sind an der Zeitachse 500 der Zeitperioden in Fig. 5 beide Arten derNumerierung angegeben. An der Zeitachse 500 geben die Zeitperioden T 1 bis T 20, die nicht in Klammern gesetzt sind, die Zeitperioden gemäß der Vereinbarung an, die in der vorliegenden Anmeldung angewendet ist. Die in Klammern gesetzten Zeitperioden bezeichnen dagegen die Zeitperioden entsprechend der Numerierung in der genannten DE-OS 28 26 570. Die Zeitperiode T 17 entspricht daher der Zeitperiode (T 9).
Bei 501 sind die Parameterzahlsignale (PC) dargestellt. Im vorliegenden Ausführungsbeispiel sind 13 Parameterzahlsignale PC, nämlich die Signale PC=0, PC=12 vorhanden. Die ersten 12 Signale PC=0 bis PC=11 entsprechen dem Zeitpunkt, an denen der Sprachenenergieparameter, der Tonhöhenparameter und die K 1-K 10-Parameter im Parameter­ ausgaberegister 201 verfügbar sind. Jedes der ersten 12 Parameterzahlsignale besteht aus zwei Zyklen, nämlich einem Zyklus A und einem Zyklus B. Jeder dieser Zyklen beginnt mit der Zeitperiode T 17, und er dauert bis zur nächsten Zeitperiode T 17 an. Während jedes Parameterzalsignals wird der Zielwert aus dem Paramaterausgaberegister 201 mit dem vorhandenen Wert im K-Stapel 302 im Parameter­ interpolator 23 interpoliert. Während des Zyklus A wird der interpolierte Parameter dem K-Stapel 302, der E 10- Schleife 304 oder dem Tonhöhenregister 305 während einer entsprechenden Zeitperiode entnommen. Während des Zyklus B wird der neu interpolierte Wert wieder in den K-Stapel oder die E 10-Schleife oder das Tonhöhenregister eingegeben. Das 13. Parameterzahlsignal PC=12 ist zu Zeitsteuerzwecken vorgesehen, so daß alle 12 Parameter einmal während jeder Interpolationsperiode mit der Dauer von 2,5 µs interpoliert werden.
Wie im Zusammenhang mit dem Parameterinterpolator 23 von Fig. 4b und der Tabelle IV erläutert wurde, werden für jede Eingabe eines neuen Datenrahmens aus den Festspeichern 12 A, 12 B in die Sprachsyntheseschaltung acht Interpolationen durchgeführt. Die sist in Fig. 5 bei den Bezugszeichen 502 zu erkennen, wo die Signale DIV1, DIV2, DIV4 und DIV8 dargestellt sind. Diese Zeitsteuersignale treten während spezieller Interpolationszahlen (IC) auf, wie aus der Darstellung zu erkennen ist. Es gibt acht derartige Interpolationszahlen IC0 bis IC7. Die Eingabe neuer Daten aus den Festspeichern 12 A, 12 B in die Sprachsyntheseschaltung erfolgt im Verlauf der Interpolationszahl IC0. Diese neuen Parameterzielwerte werden dann während der nächsten acht Interpolationszahlen IC1 bis IC0 benutzt; die vorhandenen Parameter im Tonhöhenregister 305, im K-Stapel 302 und in der E 10-Schleife 304 werden einmal im Verlauf jeder Interpolationszahl interpoliert. Bei der letzten Interpolationszahl IC0 erreicht der derzeitige Wert der Parameter im Tonhöhenregister 305, im K-Stapel 302 und in der E 10- Schleife 304 schließlich den zuvor bei der letzten Interpolationszahl IC0 eingegebenen Zielwert, so daß dann neue Zielwerte als neuer Datenrahmen eingegeben werden können. Da jede Interpolationszahl eine Periodendauer von 2,5 µs hat, beträgt die Periode der Eingabe neuer Datenrahmen in die Sprachsyntheseschaltung 20 µs, was einer Eingabefrequenz von 50 Hz äquivalent ist. Das Signal DIV8 entspricht den Interpolationszahlen, in deren Verlauf ein Achtel der von der Subtrahierschaltung 308 erzeugten Differenz in der Addierschaltung 310 zu den derzeit vorhandenen Werten addiert wird, während im Verlauf des Signals DIV4 ein Viertel der Differenz addiert wird, usw. Im Verlauf des Signals DIV2 wird demnach die Hälfte der Differenz aus der Subtraktionsschaltung 308 zum derzeitigen Wert des Parameters in der Addierschaltung 310 addiert, während schließlich im Verlauf des Signals DIV1 die gesamte Differenz in der Addierschaltung 310 hinzuaddiert wird. Wie bereits erwähnt wurde, ist die Wirkung dieses Interpolationsschemas in der Tabelle IV zu erkennen.
Parameterdatenkompression
Wie bereits erwähnt wurde, werden neue Parameter mit einer Frequenz von 50 Hz in die Sprachsyntheseschaltung eingegeben. Im Parameterinterpolator und im Anregungsgenerator 24 (Fig. 4b) werden die Tonhöhendaten, die Energiedaten und die Parameter K 1 bis Kn gespeichert und als digitale 10-Bit-Binärzahlen benutzt. Wenn jeder dieser 12 Parameter bei einer Folgefrequenz von 50 Hz aus einer externen Quelle, beispielsweise aus den Festspeichern 12 A und 12 B, mit einer 10-Bit-Binärzahl aktualisiert würde, wäre eine Bitfolgefrequenz von 12 × 10 × 50 oder 6000 Hz erforderlich. Bei Anwendung der noch zu erläuternden Datenkompression wird die für die Sprachsyntheseschaltung 10 erforderliche Bitfolgefrequenz auf einen Wert in der Größenordnung von 1000 bis 1200 Bits pro Sekunde herabgesetzt. Noch wichtiger ist dabei jedoch, daß sich gezeigt hat, daß dieses angewandte Sprachkompressionsverfahren im Vergleich zur Anwendung der Daten in unkomprimierter Form keine merkliche Verschlechterung der dadurch erzeugten Sprache zur Folge hat.
Das angewandte Datenkompressionsverfahren ist in Fig. 6 in einer Übersicht dargestellt. In dieser Figur ist zu erkennen, daß vier verschiedene Längen der Datenrahmen dargestellt sind. Ein mit "stimmhafter Rahmen" bezeichneter Datenrahmen hat eine Länge von 49 Bits, während ein anderer, mit "stimmloser Rahmen" bezeichneter Datenrahmen eine Länge von 28 Bits hat. Ein weiterer, mit "Wiederholungsrahmen" bezeichneter Datenrahmen hat eine Länge von 10 Bits, während ein weiterer Rahmen abwechselnd als "Nullenergie-Rahmen" oder "Energie=15-Rahmen" bezeichnet wird; die Länge des zuletzt genannten Rahmens beträgt nur vier Bits. Der "stimmhafte Rahmen" liefert vier Datenbits für einen codierten Energieparameter und codierte 4 Bits für jeden von fünf Sprachparametern K 3 bis K 7. Fünf Datenbits sind für jeden von drei codierten Parametern, nämlich für die Tonhöhe und die Sprachparameter K 1 und K 2, reserviert. Außerdem sind drei Datenbits für jeden der drei codierten Sprachparameter K 8 bis K 10 und ein weiteres Bit für ein Wiederholungsbit reserviert.
Für die Eingabe von 10 Bits aus binären Daten für jeden der Parameter wird ein codierter Parameter eingegeben, der in einen 10-Bit-Parameter umgesetzt ist, indem der Parameterfestspeicher 202 mit dem codierten Parameter adressiert wird. Der Koeffizient K 1 kann also beispielsweise entsprechend der aus fünf Bits bestehenden Codegruppe für K 1 irgendeinen von 32 verschiedenen Werten haben; jeder der 32 verschiedenen Werte ist dabei einer aus 10 Bits bestehender numerischer Koeffizient, der im Parameterfestspeicher 202 gespeichert ist. Die Koeffizienten K 1 und K 2 können daher irgendeinen von 32 verschiedenen Werten haben, während die Koeffizienten K 3 bis K 7 irgendeinen von 16 verschiedenen Werten haben können; die Koeffizienten K 8 und K 9 können einen von acht verschiedenen Werten haben. Der codierte Tonhöhenparameter besteht aus fünf Bits, so daß er bis zu 32 verschiedene Werte haben kann. Nur 31 dieser Werte geben jedoch tatsächliche Tonhöhenwerte wieder; eine Tonhöhen-Codegruppe 00000 wird dazu benutzt, einen stimmlosen Datenrahmen zu kennzeichnen. Die codierten Energieparameter bestehen aus vier Bits, so daß daher im Normalfall sechzehn 10-Bit- Werte verfügbar wären; ein codierter Energieparameter mit dem Wert 0000 zeigt jedoch einen stillen Rahmen an, wie er als Pause in und zwischen Wörtern, Sätzen und dergleichen auftritt. Ein codierter Energieparameter mit dem Wert 1111 (Energie=15) wird andererseits dazu verwendet, das Ende eines Abschnitts der gesprochenen Sprache zu kennzeichnen, wodurch angezeigt wird, daß die Sprachsyntheseschaltung mit dem Sprechen aufhören soll. Von den sechzehn verfügbaren Codegruppen für den codierten Energieparameter werden also nur 14 zur Kennzeichnung verschiedener Sprachenergiewerte mit jeweils 10 Bits benutzt.
Die codierten Koeffizienten K 1 und K 2 bestehen aus mehr Bits als die codierten Koeffizienten K 3 bis K 7, die ihrerseits aus mehr Bits als die codierten Koeffizienten K 8 bis K 10 bestehen, da der Koeffizient K 1 einen größeren Einfluß auf die Sprache als der Koeffizient K 2 hat, der wiederum einen größeren Einfluß auf die Sprache als der Koeffizient K 3 hat, was sich durch die Koeffizienten mit niedriger Wertigkeit fortsetzt. Auf Grund der größeren Bedeutung der Koeffizienten K 1 und K 2 im Vergleich zu den Koeffizienten K 8 bis K 10 werden im codierten Format zur Bildung der Koeffizienten K 1 und K 2 mehr Bits als zur Bildung der Koeffizienten K 3 bis K 7 oder der Koeffizienten K 8 bis K 10 verwendet.
Es hat sich auch gezeigt, daß zum richtigen Nachbilden der Sprache die Daten für die stimmhafte Sprache mehr Koeffizienten als die Daten für die stimmlose Sprache benötigen; wenn also stimmlose Rahmen auftreten, werden die Koeffizienten K 5 bis K 10 nicht aktualisiert, sondern lediglich auf den Wert 0 gestellt. Die Sprachsyntheseschaltung bemerkt die Ausgabe eines stimmlosen Rahmens, weil der codierte Tonhöhenparameter den Wert 00000 hat.
Ferner hat sich gezeigt, daß während des Sprechens häufig Augenblicke auftreten, in denen sich die Parameter im Verlauf einer Periode von 20 Millisekunden nicht merklich ändern. Insbesondere bleiben die Koeffizienten K 1 bis K 10 häufig nahezu unverändert. Daher wird ein Wiederholungsrahmen benutzt, bei dem neue Energie- und Tonhöhenparameter in die Sprachsyntheseschaltung eingegeben werden, während jedoch die zuvor eingegebenen Koeffizienten K 1 bis K 10 unverändert bleiben. Die Sprachsyntheseschaltung erkennt den aus 10 Bits bestehenden Wiederholungsrahmen, da das Wiederholungsbit zwischen den Energiekoeffizienten und dem Tonhöhenkoeffizienten dann in Erscheinung tritt, während es normalerweise abgeschaltet ist. Wie bereits erwähnt wurde, treten zwischen dem Sprechen oder am Ende des Sprechens Pausen auf, die der Sprachsyntheseschaltung vorzugsweise angezeigt werden; solche Pausen werden von einem codierten Energierahmen angezeigt, der den Wert 0 hat, wobei die Sprachsyntheseschaltung an diesem Zeitpunkt erkennt, daß nur vier Bits für diesen Rahmen abgetastet werden müssen. Ebenso werden nur vier Bits abgetastet, wenn der Rahmen "Energie=15" auftritt. Die Verwendung codierter Werte für die Sprache anstelle tatsächlicher Werte hat eine Reduzierung der Datenfolgefrequenz auf 48 × 50 oder 2400 Bits pro Sekunde zur Folge. Durch die zusätzliche Anwendung variabler Rahmenlängen, wie in Fig. 6 dargestellt ist, kann die Datenfolgefrequenz weiter auf einen Wert in der Größenordnung von 1000 bis 1200 Bits pro Sekunde reduziert werden, was vom Lautsprecher und vom gesprochenen Material abhängt.
Die Auswirkungen dieses Datenkompressionsschemas läßt sich aus der Tabelle V erkennen, die die Codierung für das Wort "HELP" zeigt. Jede Zeile gibt dabei einen neuen Datenrahmen an. Wie zu erkennen ist, ist der erste Teil des Worts "HELP", nämlich der Teil "HEL" hauptsächlich stimmhaft, während der Buchstabe "P" stimmlos ist. Dabei seien auch die Pause zwischen "HEL" und "P" und die Vorteile der Verwendung des Wiederholungsbits beachtet. In der Tabelle VI sind die codierten und decodierten Sprachparameter weiter ausgeführt. Die 3-, 4- oder 5-Bit-Codegruppen erscheinen in der linken Spalte jeweils als Hexadezimalzahl, während die verschiedenen decodierten Parameterwerte als 10-Bit- Zahlen im Zweierkomplement, ausgedrückt als Hexadezimalzahlen tabellarisch unter den verschiedenen Parametern angegeben sind. Die codierten Sprachparameter sind im Festspeicher 203 gespeichert. In der Tabelle V ist das Wiederholungsbit zwischen dem Tonhöhenparameter und dem K-Parameter aus Gründen der Deutlichkeit dargestellt; gemäß der Ausführungsform der Fig. 8a und 8b tritt das Wiederholungsbit vorzugsweise als höchstwertiges Bit (MSB) des Tonhöhenparameters auf.
Logikschaltbild der Sprachsyntheseschaltung
Die verschiedenen Abschnitte der Sprachsyntheseschaltung von Fig. 4a und Fig. 4b werden nun unter Bezugnahme auf die Fig. 7a bis 14b beschrieben, die die Einzelheiten der digitalen Schaltungen zeigen, die zur Bildung der Sprachsyntheseschaltung 10 auf einem Halbleiter-Chip verweirklicht sind. In der folgenden Erörterung der erwähnten Figuren wird auf digitale Signale Bezug genommen, die an vielen Punkten der Schaltung zur Verfügung stehen. Es sei daran erinnert, daß in P-Kanal-MOS- Bauelementen der Binärwert "0" einer negativen Spannung, d. h. der Spannung Vdd, entspricht, während der Binärwert "1" der Spannung 0V d. h. Vss, entspricht. Ferner sei daran erinnert, daß die in den erwähnten Figuren dargestellten P-Kanal-MOS-Transistoren leiten, wenn an ihren Gate-Elektroden der Binärwert "0", d. h. eine negative Spannung angelegt ist. Wenn auf ein Signal Bezug genommen wird, über dem kein Strich angebracht ist, dann ist dieses Signal als "wahres" Signal zu interpretieren; dies bedeutet, daß der Binärwert "1" die Anwesenheit des Signals (Vss) angibt, während der Binärwert "0" das Fehlen des Signals (Vdd) angibt. Signalnamen, über denen ein Strich angebracht ist, sind daher als "falsch" zu interpretieren, was bedeutet, daß der Binärwert "0" (Vdd) die Anwesenheit des Signals anzeigt, während der Binärwert "1" (Vss) das Fehlen des Signals anzeigt. Ferner sei bemerkt, daß die Zahl 3 in getakteten Verknüpfungsgliedern anzeigt, daß die Taktphase Φ 3 als Vorladetakt benutzt wird, während die Zahl 4 in einem getakteten Verknüpfungsglied anzeigt, daß die Taktphase Φ 4 als Vorladetakt benutzt wird. Der Buchstabe S im Verknüpfungsglied zeigt an, daß es statisch betrieben wird.
Zeitsteuerschaltung
Die Fig. 7a und 7b bilden zusammen das genaue Logikschaltbild der Zeitsteuerschaltung für die Sprachsyntheseschaltung 10. Der Zaähler 510 ist ein Pseudozufalls-Schiebezähler mit einem Schieberegister 510 a und einer Rückkopplungslogik 510 b. Der Zähler 510 führt eine Pseudozufallszählung durch, und die nichtnegierten und die negierten Ausgangssignale des Schieberegisters 510 a werden in den Eingangsabschnitten 511 eines programmierbaren Zeitsteuerfeldes (PLA) eingegeben. Die von dem programmierbaren Zeitsteuerfeld decodierten verschiedenen T-Zeitperioden sind an den jeweiligen Ausgangsleitungen angegeben. Der Abschnitt 511 c des programmierbaren Zeitsteuerfeldes ist mit einer programmierbaren Ausgabe- Zeitsteuerlogik 512 verbunden, die verschiedene Kombinationen und Folgen von Zeitperiodensignalen wie T ungerade, bis , usw. erzeugt. Die Abschnitte 511 a und 511 b des programmierbaren Zeitsteuerfeldes 511 werden anschließend noch beschrieben.
Die Parameterzahl, mit der die Sprachsyntheseschaltung arbeitet, wird von einem Parameterzähler 513 festgehalten.
Der Parameterzähler 513 enthält eine 1-Additionsschaltung und Schaltungseinheiten, die auf die Signale SLOW und SLOWD ansprechen. Beim Signal SLOW wiederholt der Parameterzähler den Zyklus A der Parameterzahl zweimal (für insgesamt 3A-Zyklen), bevor er in den Zyklus B eintritt. Dies bedeutet, daß die Periodendauer der Parameterzahl verdoppelt wird, so daß die an das Gitterfilter angelegten Parameter mit der Hälfte der normalen Geschwindigkeit aktualisiert und interpoliert werden. Damit gewährleistet wird, daß die eingegebenen Parameter im Verlauf von Langsamsprechvorgängen nur einmal während jeder Parameterzahl interpoliert werden, enthält jede Parameterzahl drei A-Zyklen, auf die ein B-Zyklus folgt. Es sei daran erinnert, daß während des A-Zyklus die Interpolation begonnen wird, während im B-Zyklus die interpolierten Ergebnisse wieder in dem K-Stapel 302, die E 10-Schleife 304 oder in das Tonhöhenregister 305 eingegeben werden. Die reine Wiederholung des A-Zyklus hat daher nur die Wirkung, daß der gleiche Wert des Sprachparameters noch einmal berechnet wird; da er jedoch nur einmal wieder in den K-Stapel 302, die E 10-Schleife 304 oder das Tonhöheregister 305 eingegeben wird, werden nur die Ergebnisse der Interpolation unmittelbar vor Beginn des B-Zyklus festgehalten.
Da der Parameterzähler 513 eine 1-Additionsschaltung enthält, repräsentieren die von ihm ausgegebenen Ergebnisse PC1 bis PC4 in binärer Form die bestimmte Parameterzahl, in der die Sprachsyntheseschaltung arbeitet. Das Ausgangssignal PC0 zeigt an, in welchem Zyklus, A oder B, die Parameterzahl sich befindet. Die Ausgangssignale PC1 bis PC4 des Parameterzählers werden von dem programmierbaren Zeitsteuerfeld 514 decodiert. Der bestimmte Dezimalwert der Parameterzahl wird vom programmierbaren Zeitsteuerfeld 514 decodiert, das angrenzend an das programmierbare Zeitsteuerfeld 514 dargestellt ist, wobei die Nomenklatur PC=0, PC=7 usw. verwendet ist. Die Beziehungen zwischen den verschiedenen Parametern und den Werten der Parameterzahl PC sind in Fig. 6 angegeben. Die Ausgangsabschnitte 511 a und 511 b des programmierbaren Zeitsteuerfeldes 511 sind auch mit den Ausgängen des programmierbaren Zeitsteuerfeldes 514 verbunden, so daß die K-Übertragungssignale (TK) während der Zeitperiode T 9 bei PC=2, während T 8 bei PC=3, während T 7 bei PC=4 usw. bis während T 1 bei PC=10 einen hohen Wert annehmen. In der gleichen Weise nimmt auch ein Parameterlade-Zeitsteuersignal (LDP) während der Zeitperiode T 5 bei PC=0, während T 1 bei PC=1, während T 3 bei PC=2 usw. bis während T 7 bei PC=11 einen hohen Wert an. Wie zu erkennen ist, wird das Signal TK dazu benutzt, die Datenübertragung aus dem Parameterausgaberegister 201 in die Subtraktionsschaltung 308 zu steuern, wobei diese Übertragung in verscheidenen T-Zeitperioden entsprechend der bestimmten Parameterzahl im Parameterzähler 513 stattfinden, damit sichergestellt wird, daß der passende Parameter aus dem KE 10-Übertragungs­ register 303 ausgegeben wird. Das Parameterladesignal LDP wird im Zusammenhang mit dem Parametereingaberegister dazu benutzt, die Anzahl der Bits zu steuern, die in dieses Register eingegeben werden, was entsprechend der dem Parameter zugeordneten Anzahl von Bits ausgeführt wird, der dann in Übereinstimmung mit der Anzahl von Bits in jedem codierten Parameter gemäß Fig. 6 geladen wird.
Der Interpolationszähler 515 enthält ein Schieberegister und eine 1-Additionsschaltung zum binären Zählen des bestimmten Interpolationszyklus, in dem die Sprachsyntheseschaltung 10 arbeitet. Die Beziehung zwischen dem bestimmten Interpolationszyklus, in dem die Syntheseschaltung arbeitet und den Zeitsteuersignalen DIV1, DIV2, DIV4 und DIV8, die aus der Schaltung hergeleitet werden, wird im Zusammenhang mit Fig. 6 noch näher erläutert; eine genaue Beschreibung ist an dieser Stelle daher überflüssig. Es sei jedoch bemerkt, daß der Interpolationszähler 515 ein 3-Bit-Halteglied 516 enthält, das während der Zeitperiode T 1 geladen wird. Das Ausgangssignal des 3-Bit-Halteglieds 516 wird von den Verknüpfungsgliedern 517 decodiert, damit die zuvor erwähnten Zeitsteuersignale DIV1 bis DIV8 erzeugt werden. Der Interpolationszähler 515 arbeitet abhängig von einem Signal RESETF aus dem Parameterzähler 513 in der Weise, daß er nur nach dem Auftreten von PC=12 fortgeschaltet werden kann.
ROM/Steuerschaltungs-Schnittstellenlogik
Die Fig. 8a, 8b und 8c bilden gemeinsam ein Schaltbild, das die ROM/Steuerschaltungs-Schnittstellenlogik 21 zeigt. Das Parametereingaberegister 205 ist mit seinem Eingang am Adressenanschlußstift DD8 angeschlossen. Das Register 205 ist ein 6-Bit-Schieberegister, bei dem die meisten Stufen eine Länge von 2 Bits haben. Die Stufen haben eine Länge von 2 Bits, da die Festspeicher 12 A und 12 B Daten mit der Hälfte der Geschwindigkeit ausgeben, mit der sie normalerweise in der Sprachsyntheseschaltung 10 getaktet werden. Am Eingang des Parametereingaberegisters 205 befindet sich ein Parametereingabe- Steuer-Verknüpfungsglied 220, das abhängig vom Zustand eines Halteglieds 221 arbeitet. Das Halteglied 221 wird abhängig davon gesetzt, daß die Signale LDP, PC0 und DIV1 den Binärwert "1" haben. Seine Rücksetzung erfolgt in der Zeitperiode T 14 und abhängig davon, daß das Parameterlade-Freigabesignal aus dem Verknüpfungsglied 238 den Wert "0" hat. Das Halteglied 221 erlaubt dem Verknüpfungsglied 220 also, Daten nur während des Abschnitts A (unter der Steuerung durch das Signal PC0) der entsprechenden Parameterzahl und einer entsprechenden T-Zeitperiode (gesteuert durch das Signal LDP) von IC0, (gesteuert durch DIV1) zu laden, vorausgesetzt, das Parameterlade-Freigabesignal hat den Wert "1". Das Halteglied 221 wird von der Zeitperiode T 14 rückgesetzt, nachdem die Daten in das Parametereingaberegister 205 eingegeben worden sind.
Die codierten Daten im Parametereingaberegister 205 werden über die Leitungen IN0 bis IN4 in den Schreib/ Lese-Speicher 203 eingegeben, der von den Signalen PC1 bis PC4 adressiert wird, damit angezeigt wird, welcher codierte Parameter abgespeichert ist. Der Inhalt des Registers 205 wird von dem auf die Signalwerte "1" ansprechenden Verknüpfungsglied 207, von dem auf die Signalwerte "0" ansprechenden Verknüpfungsglied 206 und vom Wiederhlungshalteglied 208 a getestet. Wie zu erkennen ist, prüft das Verknüpfungsglied 206, ob alle vier niedrigstwertigen Bits des Registers 205 den Wert "0" haben, während das Verknüpfungsglied 207 prüft, ob alle diese Bits den Wert "1" haben. Das Verknüpfungsglied 207 arbeitet auch abhängig von den Signalen PC0, DIV1, T 16 und PC=0, so daß der "0" Zustand nur während der Zeitperiode geprüft wird, in der der codierte Energieparameter in den Parameter- Schreib/Lese-Speicher 203 geladen wird. Das Wiederholungsbit tritt bei dieser Ausführungsform unmittelbar vor dem codierten Tonhöhenparameter auf; es wird daher während des A-Zyklus von PC=1 getestet. Das Tonhöhenhalteglied 208 b wird in Abhängigkeit davon gesetzt, daß alle Bits des codierten Tonhöhenparameters den Wert "0" haben, so daß es also nicht nur abhängig vom Verknüpfungsglied 206, sondern auch abhängig vom höchstwertigen Bit der Tonhöhen-Daten an der Leitung 222 unabhängig vom Signal PC=1 arbeitet. Das Tonhöhenhalteglied 208 b wird immer dann gesetzt, wenn der geladene codierte Tonhöhenparameter den Wert "00000" hat, der anzeigt, daß die Sprache stimmlos sein soll.
Das Halteglied für den Energiewert "0" arbeitet abhängig vom Ausgangssignal des Verknüpfungsglieds 206 und vom Signal PC=0 und es prüft, ob als codierter Energieparameter alle eingegebenen Bits den Wert "0" haben, worauf es abhängig davon gesetzt wird. Das Tonhöhenhalteglied 208 d für die vorherige Tonhöhe speichert das Ausgangssignal des Tonhöhenhalteglieds 208 b für "Tonhöhe=0" aus dem vorhergehenden Rahmen der Sprachdaten, während das Energiehalteglied 208 e für die alte Sprachenergie das Ausgangssignal des Halteglieds 208 c aus dem vorhergehenden Rahmen der Sprachdaten speichert. Die Inhalte der Tonhöhenhalteglieder 208 d und 208 b werden in Vergleichs­ schaltungen 223 miteinander verglichen, damit ein Sperrsignal INHIBIT erzeugt wird. Das Sperrsignal INHIBIT sperrt die Interpolationsvorgänge, was während eines Wechselns von stimmhafter zu stimmloser Sprache oder von stimmloser zu stimmhafter Sprache erwünscht ist, damit die neuen Sprachparameter automatisch in den K-Stapel 302, die E 10-Schleife 304 und das Tonhöhenregister 305 eingegeben werden, was im Gegensatz zu einer langsameren Interpolation bei der Eingabe in diese Speicherelemente steht. Auch die Inhalte des Halteglieds 208 e und des Halteglieds 208 c werden von einem NAND-Glied 224 zur Interpolationssperrung bei einem Übergang von einem nichtsprechenden Datenrahmen zu einem sprechenden Datenrahmen geprüft. Die Ausgangssignale des NAND-Glieds 224 und der Vergleichsschaltungen 223 werden an ein NAND-Glied 235 angelegt, dessen Ausgangssignal mit Hilfe eines Negators 236 zum Signal INHIBIT negiert wird. Die Halteglieder 208 a bis 208 c werden von einem Verknüpfungsglied 235 rückgesetzt, und die Halteglieder 208 d und 208 e werden von einem Verknüpfungsglied 226 rückgesetzt. Wenn das Anregungssignal stimmlos ist, sind die Koeffizienten K 5 bis K 10 auf den Wert "0" gesetzt, wie bereits erwähnt wurde. Dies wird zum Teil durch die Wirkung des Verknüpfungsglieds 237 erreicht, das ein Signal ZPAR erzeugt, wenn die Tonhöhe den Wert "0" hat und wenn der Stand des Parameterzählers größer als 5 ist, was durch das Signal PC=5 aus dem Zeitsteuerfeld 514 angezeigt wird.
In den Fig. 8a bis 8c ist auch ein Steuerhalteglied 210 dargestellt, das aus drei einzelnen Haltegliedern 210 a, 210 b und 210 c zusammengesetzt ist, und die Daten an den Eingängen CTL2, CTL4 und CTL8 als Reaktion auf ein Prozessiordaten-Taktsignal PDC und ein Chipwählsignal CS festhält. Der Inhalt des Steuerhalteglieds 210 wird von einem Befehlscodierer 211 decodiert, wenn es nicht von den Haltegliedern 218 a und 218 b unwirksam gemacht wird. Wie zuvor erwähnt wurde, arbeiten diese Halteglieder abhängig von decodierten LA-, Ausgabe- und TTALK-Befehlen, damit der Decodierer 211 daran gehindert wird, die an den Eingängen CTL2 bis CTL8 anliegenden Daten zu decodieren, wenn anschließend PCD- Signale zusammen mit den LA-, Ausgabe- und TTALK-Befehlen empfangen werden. Ein decodierter TTALK-Befehl setzt das TTALK-Halteglied 219. Das Ausgangssignal des TTALK- Halteglieds 219, das vom Vorderflankensignal PDCLE des Prozessordatentakts oder von einem Ausgangssignal des Halteglieds 218 b rückgesetzt wird, steuert zusammen mit dem Ausgangssignal des Halteglieds 218 a die NOR- Glieder 227 a und 227 b. Das Ausgangssignal des NOR- Glieds 227 a hat den Binärwert "1", wenn das TTALK- Halteglied 219 gesetzt ist, wodurch der Eingang CTL1 über den TRISTATE-Puffer 228 und die Negatoren 229 mit dem Sprech-Halteglied verbunden wird. Der TRISTATE- Puffer 228 ist in den Fig. 8a bis 8c auf der rechten Seite genau dargestellt. Das NOR-Glied 227 gibt andererseits ein Signal mit dem Binärwert "1" ab, wenn eine Ausgabe-Codegruppe festgestellt worden ist, wodurch das Halteglied 228 a gesetzt und der Anschluß CTL1 mit dem höchstwertigen Bit des Dateneingaberegisters 212 verbunden wird.
In Abhängigkeit von einem decodierten Lesebefehl aus der Verknüpfungsschaltung 230 werden Daten vom Adressenanschlußstift ADD8 in das Dateneingaberegister 212 geschoben. Die Ausbeute der Befehle RE, RB und LA zum Festspeicher erfolgt über die Befehlsanschlußsitfte I₀ bis I₁ aus der Festspeichersteuerlogik 217 über die Puffer 214 c. Der Inhalt des Daten­ eingaberegisters 212 wird über Puffer 213 zu den Anschlußstiften CTL1 bis CTL4 und zu dem oben bereits erwähnten Anschlußstift CTL1 über den Puffer 228 ausgegeben, wenn das NOR-Glied 227 b ein Signal mit dem Wert "1" eingibt. Die Anschlußstifte CTL1 bis CTL4 sind über Puffer 214 a mit den Adressenanschlußstiften ADD1 bis ADD4 verbunden, und der Anschlußstift CTL8 ist mit dem Adressenanschlußstift ADD8 über einen Steuerpuffer 214 b verbunden, der gesperrt wird, wenn vom Signal an der Leitung 231 an den Adressenanschlußstiften ADD1 bis ADD8 anliegende Adressen geladen werden.
Das in den Fig. 8a bis 8c dargestellte Sprechhalteglied 216 besteht vorzugsweise aus drei Haltegliedern 216 a, 216 b und 216 c. Das Halteglied 216 a wird abhängig von einem decodierten Befehl SPK gesetzt, und es erzeugt in Abhängigkeit davon ein Sprechfreigabesignal SPEN. Wie zu erkennen ist, wird das Sprechfreigabesignal SPEN auch abhängig von einem decodierten Befehl SPKSLOW vom Halteglied 215 a erzeugt. Das Halteglied 216 b wird abhängig von einer im Sprechfreigabesignal während IC7 unter der Steuerung durch das Verknüpfungsglied 225 gesetzt. Die Halteglieder 216 und 216 b werden von folgenden Signalen rückgesetzt: (1) von einem decodierten Rücksetzberehlssignal, (2) von einer Codegruppe "Energie=15" oder (3) von einem Einschaltlöschsignal vom Verknüpfungsglied 232. Das Sprechverzögerungs- Halteglied 216 c wird beim folgenden Interpolationszyklus IC7 mit dem Inhalt des Halteglieds 216 b gesetzt, und es hält diese Daten während acht Interpolationszyklen fest. Wie zuvor erwähnt wurde, ermöglicht das Sprechverzögerungs-Halteglied der Sprachsynthese­ schaltung nach der Feststellung einer Codegruppe "Energie=0", die das Halteglied 208 c setzt, für die Dauer von acht Interpolationszyklen fortgesetzt Sprachdaten zu erzeugen. In der gleichen Weise ist das Langsamsprech-Halteglied 215 aus drei einzelnen Haltegliedern 215 a, 215 b und 215 c zusammengesetzt. Das Halteglied 215 a bewirkt die Freigabe des Sprechfreigabesignals, während die Halteglieder 215 b und 215 c die Erzeugung des Signals SLOWD etwa in der gleichen Weise freigegeben, wie die Halteglieder 216 b und 216 c die Erzeugung des Signals TALKD freigegeben.
Es seien nun kurz die zeitlichen Vorgänge bei der Eingabe von Daten in das Parametereingaberegister 205 betrachtet, wobei daran erinnert sein, daß dieser Vorgang hauptsächlich von einem Steuerhalteglied 220 in Abhängigkeit vom Zustand eines Parametereingabe-Halteglieds 221 gesteuert wird. Der Zustand dieses Halteglieds wird natürlich von dem an das Verknüpfungsglied 233 angelegten Parameterladesignal LDP gesteuert. Die an das Verknüpfungsglied 233 angelegten Signale PC0 und DIV1 gewährleisten, daß die Parameter während des A-Zyklus einer bestimmten Parameterzahl während des Interpolationszyklus IC0 geladen werden. Der bestimmte Parameter und die T-Zeitperiode innerhalb der Parameterzahl werden vom Parameterlade-Signal LDP gemäß dem Ausgabeabschnitt 511 a des programmierbaren Zeitsteuerfeldes 511 (Fig. 7a, 7b) gesteuert. Der erste eingegebene Parameter (der Energieparameter) hat eine Länge von 4 Bits, so daß das Parameterladesignal LDP während der Zeitperiode T 5 ausgelöst wird, wie in den Fig. 7a und 7b zu erkennen ist. Während der Parameterzahl 1 werden das Wiederholungsbit und die Tonhöhenbits eingegeben; dies sind sechs Bits, die entsprechend dem Signal LDP eingegeben werden, das in der Zeitperiode T 1 erscheint. Zwischen den Zeitperioden T 1 und T 5 liegen natürlich vier Zeitperioden, doch liegt in der Länge der eingegebenen Information nur eine Differenz von zwei Bits vor. Dies ist deshalb der Fall, weil zur Eingabe jedes Bits in das Parametereingaberegister 205 (das für jedes eingegebene Bit zwei Stufen aufweist), zwei Zeitperioden in Anspruch nimmt, was auf der Tatsache beruht, daß die Festspeicher 12 A, 12 B vorzugsweise mit der Hälfte der Geschwindigkeit getaktet werden, mit der die Sprachsyntheseschaltung 10 getaktet wird. Durch Takten der Festspeicherschaltungen mit der halben Geschwindigkeit, mit der die Sprachsyntheseschaltung 10 getaktet wird, wird das Adressieren der Festspeicher in den Festspeicher-Chips vereinfacht, wobei die Daten der Sprachsyntheseschaltung trotzdem in einer ausreichenden Zeitperiode zur Durchführung numerischer Operationen zugeführt werden. Im Ausgabeabschnitt 511 a des Zeitsteu 77487 00070 552 001000280000000200012000285917737600040 0002002954413 00004 77368erfeldes 511 erscheint das Parameterladesignal LDP in der Zeitperiode T 1, wenn die entsprechende Parameterzahl anzeigt, daß ein 6-Bit-Parameter eingegeben werden soll. Andererseits erscheint dieses Parameterladesignal LDP in der Zeitperiode T 3, wenn die entsprechende Parameterzahl anzeigt, daß ein 5-Bit-Parameter eingegeben werden soll. Es erscheint in der Zeitperiode T 5, wenn die entsprechende Parameterzahl anzeigt, daß ein 4-Bit-Parameter eingegeben werden soll, während es in der Zeitperiode T 7 erscheint, wenn die entsprechende Parameterzahl (beispielsweise die Parameterzahl 9, 10 und 11) die Eingabe eines 3-Bit-Parameters anzeigt. Den Festspeichern 12 A, 12 B wird gemeldet, daß der adressierte Parameterfestspeicher Informationen ausgeben soll, wenn eine Meldung über den I₀-Befehlsanschlußstift, die Festspeicher-Steuerlogik 217 und die Leitung 234 erfolgt ist, die der Festspeicher-Steuerlogik 217 Informationen aus dem Halteglied 221 zuführt.
Parameterinterpolationsschaltung
Die Fig. 9a und 9b zeigen zusammen ein Schaltbild der Parameterinterpolationsschaltung 23. Der K-Stapel 302 enthält zehn Register, die jeweils 10 Informationsbits speichern. Jedes kleine Quadrat repräsentiert dabei ein Speicherbit, das vereinbarungsgemäß bei 330 dargestellt ist. Der Inhalt jedes Schieberegisters läuft über Umlauf-Verknüpfungsglieder 314 und unter der Steuerung durch ein Umlauf-Steuerglied 315 um. Der K-Stapel 302 speichert Sprachkoeffizienten K 1 bis K 9, und er bewirkt die Zwischenspeicherung des Koeffizienten 10 oder Energieparameters entsprechend der in Fig. 7 der DE-OS 28 26 570 beschriebenen Sprachsyntheseschaltung. Die an verschiedenen Zeitperioden aus dem K-Stapel 302 zur Umcodierungslogik 301 ausgegebenen Daten sind in der Tabelle VII dargestellt. In der Tabelle III der DE-OS 28 26 570 sind die vom K-Stapel von Fig. 7 dieser Patentanmeldung ausgegebenen Daten dargestellt. Die vorliegende Tabelle VII unterscheidet sich von der Tabelle III der erwähnten Patentanmeldung (1), weil die Umcodierungslogik 301 die gleichen Koeffizienten an den Leitungen 32-1 bis 32-4, an den Leitungen 32-5 bis 32-6, an den Leitungen 32-7 bis 32-8 und an den Leitungen 32-9 bis 32-10 empfängt, da sie auf zwei Informationsbits für jedes Bit anspricht, auf das der Matrixmultiplizierer der zuvor genannten Patentanmeldung angesprochen hat (2), weil der zuvor im Zusammenhang mit Fig. 5 erläuterte Unterschied in der Bezeichnung der Zeitperioden vorliegt und (3), weil der Umcodierungslogik 301 eine Zeitverzögerung zugeordnet ist.
Die Umcodierungslogik 301 koppelt den K-Stapel 302 mit dem Matrixmultiplizierer 304 (Fig. 10a und 10b). Die Umcodierungslogik 301 enthält vier übereinstimmende Umcodierungsabschnitte 312 a bis 312 d, von denen nur der Abschnitt 312 a genau dargestellt ist. Die erste Stufe der Umcodierungslogik, nämlich die Stufe 313, unterscheidet sich grundsätzlich von den Stufen 312 a bis 312 d, da in dieser ersten Stufe natürlich kein Übertrag vorhanden ist, wie er beispielsweise am Eingang A der Stufe 312 a bis 312 d aus einer Stufe niedrigerer Ordnung auftritt. Die Umcodierungslogik gibt an jede Stufe eines fünfstufigen Matrixmultiplizierers 401 Ausgangssignale und ab; eine Ausnahme bildet dabei die Stufe 0, die nur die Ausgangssignale und empfängt. Die Umcodierungslogik 301 ermöglicht dem Matrixmultiplizierer, in jeder Stufe anstelle eines Informationsbits zwei Informationsbits unter Verarbeitung eines Booth's Algorithmus zu verarbeiten. Der Booth-Algorithmus ist in dem Buch "Theory and Application of Digital Signal Processing", Prentice-Hall 1975, Seiten 517-518 erläutert.
Der K 10-Koeffizient und der Energieparameter sind in der E 10-Schleife 304 gespeichert. Die E 10-Schleife besteht vorzugsweise aus einem zwanzigstufigen seriellen Schieberegister. Zehn Stufen 304 a der E 10-Schleife 304 sind vorzugsweise in Serie geschaltet, während weitere 10 Stufen 304 b, die ebenfalls in Serie geschaltet sind, auch Parallelausgänge und Paralleleingänge zum K-Stapel 302 aufweisen. Der entsprechende Parameter, entweder der Energieparameter oder der K 10-Koeffizient wird über Schaltglieder 315, die abhängig von einem NOR-Glied 316 arbeiten, aus der E 10-Schleife 304 zum K-Stapel 302 übertragen, wodurch der Energieparameter aus der E 10-Schleife 304 in der Zeitperiode T 10 zum K-Stapel 302 übertragen wird, während der K 10-Koeffizient in der Zeitperiode T 20 aus der E 10-Schleife 304 in den K-Stapel 302 übertragen wird. Das NOR-Glied 316 steuert auch das Umlauf-Steuerglied 315 in der Weise, daß der Umlauf im K-Stapel 302 gesperrt wird, wenn Daten übertragen werden.
Das KE 10-Übertragungsregister 303 erleichtert die Übertragung des Energieparameters oder der Spachkoeffizienten K 1 bis K 10, die in der E 10-Schleife 304 oder im K-Stapel 302 gespeichert sind, über die Wählschaltung 307 in die Additionsschaltung 308 und die Verzögerungsschaltung 309. Das Register 303 weist neun Stufen auf, die von paarweise zusammengefaßten Negatoren gebildet sind; eine zehnte Stufe wird von der Wählschaltung 307 und einem Verknüpfungsglied 317 gebildet, damit die Übertragung der zehn Informationsbits von der E 10-Schleife 304 oder vom K-Stapel 302 erleichtert wird. Daten aus dem K-Stapel 302 werden über Verknüpfungsglieder 318 in das Register 303 übertragen, die vom K-Übertragungssignal TK gesteuert werden, das der Decodierabschnitt 511 b des programmierbaren Zeitsteuerfeldes 511 (Fig. 7a und 7b) erzeugt. Da der zu interpolierende und in das Register 303 zu schiebende Parameter von der bestimmten Parameterzahl abhängt, in der die Sprachsyntheseschaltung arbeitet und da der für die Ausgabe aus dem K-Stapel 302 zur Verfügung stehende bestimmte Parameter von der bestimmten Zeitperiode abhängt, in der die Sprachsyntheseschaltung arbeitet, erscheint das Signal TK für den Tonhöhenparameter in der Zeitperiode T 9, für den Parameter K 1 in der Zeitperiode T 8, für den Parameter K 2 in der Zeitperiode T 7 usw., wie in den Fig. 7a und 7b dargestellt ist. Der Energieparameter oder der K 10-Koeffizient werden abhängig von einem Signal TE10, das das Zeitsteuerfeld 511 erzeugt, über die Verknüpfungsglieder 319 aus der E 10-Schleife 304 in das Register 303 getaktet. Nach jedem Interpolationsvorgang, d. h. während des B-Zyklus, werden die Daten über die Verknüpfungsglieder 318 unter der Steuerung durch das Signal TK aus dem Register 303 (1) in den K-Stapel 302 übertragen, wobei an diesem Zeitpunkt die Umlauf-Schaltglieder 314 von den Schaltgliedern 315 gesperrt sind, oder (2) über die Verknüpfungsglieder 319 zur E 10-Schleife 304 übertragen.
Im Tonhöhenregister 305 ist ein aus 10 Bits bestehender Tonhöhenparameter gespeichert; dieses Tonhöhenregister 305 enthält ein neunstufiges Schieberegister und Umlaufelemente 305 a, die ein weiteres Speicherbit bilden. Der Tonhöhenparameter läuft normalerweise über das Verknüpfungsglied 305 a im Register 305 um, ausgenommen dann, wenn an der Leitung 320 unter der Steuerung durch eine Tonhöhen-Interpolationssteuerlogik 306 ein gerade interpolierter Tonhöhenparameter geliefert wird. Das Ausgangssignal PTO des Tonhöhenregisters 305 oder das Ausgangssignal des Registers 303 wird von der Wählschaltung 307 an das Verknüpfungsglied 17 angelegt. Die Wählschaltung 307 wird von der Interpolationssteuerlogik 306 auch so gesteuert, daß im Normalfall das Ausgangssignal des Registers 303 dem Verknüpfungsglied 317 zugeführt wird, ausgenommen dann, wenn die Tonhöhe interpoliert werden soll. Die Interpolationssteuerlogik 306 steuert auch die Ausgabe des Tonhöhensignals an die Addierschaltung 308 und die Verzögerungsschaltung 309 während des A-Zyklus des Parameterzahlsignals PC = 1, und sie führt den interpolierten Tonhöhenwert an der Leitung 320 im B-Zyklus des Signals PC = 1 wieder in das Register 305 zurück. Das Verknüpfungsglied 317 bewirkt in Abhängigkeit von einem Halteglied 321 die Abgabe der Tonhöhen-, Energie- oder Koeffizienteninformation an die Addierschaltung 308 und an die Verzögerungsschaltung 309 während der Interpolation. Da die Daten seriell getaktet werden, kann das Takten der Information während eines A-Abschnitts begonnen werden, und das Signal PC0 kann an irgendeinem Zeitpunkt während der Übertragung der Information aus dem Register 303 oder dem Register 305 in die Addierschaltung 308 oder in die Verzögerungsschaltung 309 auf dem Wert "1" umgeschaltet werden; das Verknüpfungsglied 317 wird daher von einem A-Zyklus-Halteglied 321 gesteuert, das mit dem Signal PC0 an dem Zeitpunkt gesetzt wird, an dem vom programmierbaren Steuerfeld 511 ein Koeffizientenübertragungssignal TK, ein E 10-Übertragungssignal TE10 oder ein Tonhöhenübertragungssignal TP erzeugt wird.
Das Ausgangssignal des Verknüpfungsgliedes 317 wird an die Addierschaltung 308 und an die Verzögerungsschaltung 309 angelegt. Die Verzögerungszeit der Verzögerungsschaltung 309 hängt vom Zustand der vom Interpolationszähler 515 (Fig. 7a, 7b) erzeugten Signale DIV1 bis DIV8 ab. Da am Ausgang des Verknüpfungsglieds 317 das niedrigstwertige Bit der Daten zuerst auftritt, wird durch Verzögerung der Daten in der Verzögerungsschaltung 309 um einen ausgewählten Betrag und durch Anlegen des Ausgangssignals der Addierschaltung 310 zusammen mit dem Ausgangssignal der Subtrahierschaltung 308 erreicht, daß die effektive Größe der Differenz aus der Subtrahierschaltung 308, die anschließend dann von der Addierschaltung 310 wieder zurückaddiert wird, um so kleiner ist, je größer die Verzögerungen der Verzögerungsschaltung 309 ist. Die Verzögerungsschaltung 311 koppelt das Ausgangssignal der Addierschaltung 310 wieder in die Register 303 und 305 zurück. Die beiden Verzögerungsschaltungen 303 und 309 können bis zu drei Verzögerungsbits einfügen, und wenn die Verzögerungsschaltung 309 ihre maximale Verzögerung hat, hat die Verzögerungsschaltung 311 ihre minimale Verzögerung und umgekehrt. Ein NAND-Glied 322 verbindet den Ausgang der Subtrahierschaltung 308 mit dem Eingang der Addierschaltung 310. Das NAND-Glied 322 arbeitet abhängig vom Ausgangssignal eines ODER-Glieds 323, das seinerseits abhängig vom Signal INHIBIT aus dem Negator 336 (Fig. 8a bis 8c) arbeitet. Das NAND-Glied 322 und das ODER-Glied 323 bewirkt eine Nullstellung des Ausgangssignals der Subtrahierschaltung 308, wenn das Signal INHIBIT auftritt, außer der Interpolationszähler befindet sich im Stand IC0, wobei in diesem Fall die derzeitigen Werte im K-Stapel 302, in der E 10-Schleife 304 und im P-Register 305 vollständig auf ihre neuen Zielwerte in einer in einem Schritt ausgeführten Interpolation interpoliert werden. Wenn ein stimmloser Datenrahmen (Fig. 6) an die Sprachsyntheseschaltung angelegt wird, werden die Koeffizienten K 5 bis K 10 durch die Wirkung des Verknüpfungsglieds 324 auf Null gestellt, das die Verzögerungsschaltung 311 mit dem Schieberegister 325 verbindet, dessen Ausgangssignal dann an die Verknüpfungsglieder 305 a und 303′ angelegt wird. Das Verknüpfungsglied 324 arbeitet abhängig von dem vom Verknüpfungsglied 237 (Fig. 8a bis 8c) erzeugten Nullparametersignal ZPAR.
Das Verknüpfungsglied 326 verhindert einen Schiebevorgang in den Abschnitt 304 b der E 10-Schleife 304, wenn ein neu interpolierter Energiewert oder K 10-Parameterwert aus dem Register 303 in den Abschnitt 304 b eingegeben wird. Das Verknüpfungsglied 327 steuert die die Stufen des Registers 303 verbindenden Übertragungsglieder, wobei die Stufen daran gehindert sind, seriell Daten zu verschieben, wenn das Signal TK oder das Signal TE10 während des A-Zyklus einen hohen Wert annimmt, d. h. wenn das Register 303 Daten entweder vom K-Stapel 302 oder von der E 10-Schleife 304 empfangen soll, was von den Übertragungsgliedern 318 bzw. 319 gesteuert wird. Der Ausgang des Verknüpfungsglieds 327 ist auch mit verschiedenen Stufen des Schieberegisters 325 und mit einem Verknüpfungsglied verbunden, das das Verknüpfungsglied 303′ mit dem Register 303 verbindet. Die drei obersten Bits, die die 10 höchstwertigen Bits nach einer Interpolationsoperation prüfen können, können dann auf Null gestellt werden.
Matrixmultiplizierschaltung
Die Fig. 10a und 10 bilden zusammen das Schaltbild des Matrixmultiplizierers 401. Matrixmultiplizierer werden manchmal auch als Pipeline-Multiplizierer bezeichnet. Als Beispiel sei auf "Pipeline Multiplier" von Granville E. Ott, veröffentlicht von der Universität von Missouri verwiesen.
Der Matrixmultiplizierer 501 weist fünf Stufen, nämlich die Stufen 0 bis 4, und eine Verzögerungsstufe auf. Die Verzögerungsstufe wird im Matrixmultiplizierer 401 dazu verwendet, die gleiche äquivalente Verzögerung wie im Matrixmultiplizierer der Patentanmeldung P 28 26 570.5 zu erzielen. Eingangssignale des Matrixmultiplizierers 401 sind die Signale MR0 bis MR13 aus dem Multiplexer 405. Das Signal MR13 ist das höchstwertige Bit, während das Signal MR0 das niedrigstwertige Bit ist. Weitere Eingangssignale des Matrixmultiplizierers sind die zuvor erwähnten Ausgangssignale +2, -2, +1 und -1 aus der Umcodierungslogik 301 (Fig. 8a bis 8c). Die Ausgangssignale des Matrixmultiplizierers 401, nämlich die Signale P13 bis P0 werden an den Summiermultiplexer 402 angelegt. Das niedrigstwertige Bit, das Bit P0 hat im vorliegenden Ausführungsbeispiel stets den Binärwert "1", da dadurch der Mittelwert des Abbruchfehlers auf Null anstelle auf -1/2 des niedrigstwertigen Bits reduziert wird, wobei sich der zuletzt genannte Wert bei einem einfachen Abbrechen einer Zahl im Zweierkomplement ergeben würde.
Der Matrixmultiplizierer 401 ist in Form mehrerer Blöcke A-1, A-2, B-1, B-2, B-3 oder B-C dargestellt. Dieser Aufbau dieser Schaltungsblöcke ist in Fig. 10b dargestellt, wobei die verschiedenen Bauelemente gezeigt sind, die den Matrixmultiplizierer 401 bilden. Die Blöcke A-1 und A-2 bilden die Stufe 0 des Matrixmultiplizierers; sie arbeiten abhängig von den Signalen und aus dem Decodierer 313 sowie abhängig von den Signalen MR2 bis MR13. Beim Multiplizieren in Matrixmultiplizierer 401 wird das höchstwertige Bit stets in den Schaltungselementen in der am weitesten links liegenden Spalte festgehalten, während die Teilsummen kontinuierlich nach rechts verschoben werden. Da jede Stufe des Matrixmultiplizierers 401 mit zwei binären Bits arbeitet, werden die mit Σ n bezeichneten Teilsummen um zwei Stellen nach rechts verschoben. Für die Dateneingangssignale MR0 und MR1 in der erste Stufe sind daher keine A-Blöcke vorgesehen. Da jeder Schaltungsblock im Matrixmultiplizierer 401 abhängig von zwei Informationsbits auf dem K-Stapel 302 arbeitet, die er über die Umcodierungslogik 301 empfängt, arbeitet jeder Schaltungsblock auch abhängig von zwei Bits aus dem Multiplexer 405, wobei diese Bits von Negatoren 430 negiert werden und in wahrer Logik auch in die B-Blöcke eingegeben werden.
Filter- und Anregungsgeneratorschaltung
Die Fig. 11a und 11b bilden zusammen das genaue Schaltbild einer Gitterfilter- und Anregungsgeneratorschaltung 24 (nicht des Matrixmultiplizierers 401) sowie des Ausgabeabschnitts 25. Im Filter- und Anregungsgenerator 24 ist eine Summierschaltung 404 enthalten, die so angeschlossen ist, daß sie an einem Eingang das wahre oder das negierte Ausgangssignal des Matrixmultiplizierers 401 (siehe Fig. 10a und 10b) an den Leitungen P0 bis P13 über den Summiermultiplexer 402 empfängt. Der andere Eingang der Summierschaltung 404 ist direkt über den Summiermultiplexer 402 so angeschlossen, daß er entweder das Ausgangssignal der Summierschaltung 404 (in den Zeitperioden T 10-T 18), das Ausgangssignal des Verzögerungsstapels 404 an den Leitungen 440 bis 453 (in den Zeitperioden T 20-T 7 und T 9), das Ausgangssignal des Y-Halteglieds 403 (in der Zeitperiode T 8) oder ein Signal mit dem Wert "0" aus dem 3-Vorladeglied 420 (in der Zeitperiode T 19, wenn an diesem Eingang kein bedingtes Entladesignal anliegt) empfängt. Die Gründe dafür, daß diese Signale in diesen Zeitperioden angelegt werden, gehen aus Fig. 8 der oben erwähnten DE-OS 28 26 570 hervor; dabei sei jedoch daran erinnert, daß die Bezeichnungen der einzelnen Zeitperioden unterschiedlich sind, wie im Zusammenhang mit Fig. 5 erläutert wurde.
Das Ausgangssignal der Summierschaltung 404 wird dem Verzögerungsstapel 406, dem Multiplexer 415, 1-Perioden-Verzögerungsgliedern 414 und dem Multiplexer 402 zugeführt. Der Multiplexer 415 enthält ein 1-Perioden-Verzögerungsglied 414, das dem 1-Perioden-Verzögerungsglied 34′ in Fig. 7 der DE-OS 28 26 570 äquivalent ist. Das Y-Halteglied 403 empfängt das Ausgangssignal des Verzögerungsstapels 406. Der Multiplexer 415 legt ein Ausgangssignal des Y-Halteglieds 403, das Ausgangssignal der 1-Perioden-Verzögerungsglieder 414 oder das Anregungssignal am Bus 415′ an die Eingänge MR0 bis MR13 des Matrixmultiplizierers 401 an. Die Eingangssignale D0 bis D13 des Verzögerungsstapels 406 werden an den Ausgängen der Summierschaltung 404 abgenommen. Die digitalen Schaltungselemente für den Summiermultiplexer 402, die Summierschaltung 404, das Y-Halteglied 403, den Multiplexer 415 und die 1-Perioden-Verzögerungsschaltung 414 sind für das niedrigstwertige Bit in einem von einer gestrichelten Linie umgebenen Kästchen A angegeben. Die 13 höchstwertigen Bits im Gitterfilter sind durch ebensolche digitalen Schaltungsglieder gebildet, wie sie mit der gestrichelten Linie A umgeben sind, wobei als Darstellung längliche, gestrichelt angegebene Kästchen gewählt sind, die den Buchstaben A tragen. Zur Erzielung einer klaren Darstellung sind die digitalen Schaltungselemente für jedes vom Gitterfilter verarbeitete parallele Bit nicht im einzelnen dargestellt. Die Abschnitte des Gitterfilters, die höherwertige Bits als das niedrigstwertige Bit behandeln, unterscheiden sich von der für die Elemente 402, 403 404, 405 und 414 angegebenen Schaltung nur bezüglich der Verbindungen mit der Abtrennlogik 501 und dem Bus 415′, der zum UV-Verknüpfungsglied 408 und zum Chirp-Festspeicher 409 führt. Das Ausgangssignal des UV-Verknüpfungsglieds 408 und des Chirp-Festspeichers 409 wird nur den Eingängen I13 bis I6 zugeführt; der mit I x bezeichnete Eingang innerhalb der gestrichelten Linie A wird für die sechs niedrigstwertigen Bits im Gitterfilter nicht benötigt. Das Ausgangssignal des Y-Halteglieds 403 wird auch nur an die 10 höchstwertigen Bits IL₁₃ bis IL₁₄ angelegt; die mit YLx bezeichnete Verbindung innerhalb der Bezugslinie A wird daher für die vier niedrigstwertigen Bits im Gitterfilter nicht benötigt.
Der Verzögerungsstapel 406 enthält 14 Schieberegister mit einer Länge von jeweils neun Bits, wobei jede Stufe Negatoren enthält, die mit den Taktsignalen Φ 4 und Φ 3 getaktet werden. Wie in der DE-OS 28 26 570 erläutert ist, erfolgt ein Schiebevorgang im Verzögerungsstapel 406, der allgemein dem Schieberegister 35′ von Fig. 7 der genannten Patentanmeldung entspricht, nur bei gewissen Zeitperioden. Dies wird mit Hilfe der digitalen Schaltungselemente 416 erreicht, die aus den Zeitperiodensignalen T 10 bis T 8 aus dem programmierbaren Zeitsteuerfeld 512 (Fig. 7a und 7b) Taktsignale Φ 1B bis Φ 4B erzeugen. Die Taktpuffer 417 der digitalen Schaltungselemente 416 sind in den Fig. 11a und 11b ebenfalls genau dargestellt.
Der Verzögerungsstapel 406 hat eine Länge von neun Bits, während das Schieberegister 35′ in Fig. 7 der DE-OS 28 26 570 eine Länge von 8 Bits hat, dieser Unterschied ist deshalb vorhanden, weil der Eingang des Verzögerungssapels 406 mit dem Ausgang der Summierschaltung 404 und nicht mit dem Ausgang der 1-Perioden-Verzögerungsschaltung 414 verbunden ist. Der Eingang des Verzögerungsstapels 406 könnte auch mit den Ausgängen der 1-Perioden-Verzögerungsschaltung 414 verbunden sein, wobei die zugeordnete Zeitsteuerung entsprechend der in der DE-OS 28 26 570 dargestellten Zeitsteuerung modifiziert wäre.
Die im Verzögerungsstapel 406, im Matrixmultiplizierer 401, in der Summierschaltung 404, im Summiermultiplexer 402, im Y-Halteglied 403 und im Multiplizier-Multiplexer 415 verarbeiteten Daten werden vorzugsweise in der Zweierkomplementdarstellung behandelt.
Der Stimmlossignalgenerator 407 ist ein Zufallsrauschgenerator mit einem Schieberegister 418 mit einem von einer Rückkopplungslogik 419 gespeisten Rückkopplungszweig zur Erzeugung pseudozufälliger Ausdrücke im Schieberegister 418. Von diesem Schieberegister wird ein Ausgangssignal abgenommen und dem UV-Verknüpfungsglied 408 (Stimmlos-Verknüpfungsglied) zugeführt, das auch auf das Signal OLDP aus dem Halteglied 208 d (Fig. 8a und 8b) anspricht. Das für das alte Tonhöhensignal zuständige Halteglied 208 d steuert das Verknüpfungsglied 408, da das für das Tonhöhensignal mit dem Wert 0 zuständige Halteglied 208 b seinen Zustand unmittelbar dann ändert, wenn neue Sprachparameter in das Register 205 eingegeben werden. Da dies während des Interpolationszyklus IC0 auftritt und da während eines Stimmloszustandes die neuen Werte nicht interpoliert und in den K-Stapel 302, die E 10-Schleife 304 und das Tonhöhenregister 305 bis zum folgenden Interpolationszyklus IC0 eingegeben werden, kann sich der Sprachanregungswert nicht von einer periodischen Anregung aus dem Chirp-Festspeicher 409 in eine Zufallsanregung aus dem Stimmlossignalgenerator 407 ändern, bis acht Interpolationszyklen aufgetreten sind. Das Verknüpfungsglied 420 bewirkt eine NOR-Verknüpfung des Ausgangssignals des Verknüpfungsglieds 408 und die Eingabe in das höchstwertige Bit I₁₃ des Anregungssignals, wodurch veranlaßt wird, das Vorzeichenbit während einer stimmlosen Sprache auf Zufallsbasis zu ändern. Das Verknüpfungsglied 421 setzt das höchstwertige Bit I₁₂ des Anregungssignals zwangsweise während Stimmlossprachzuständen auf den Signalwert "1". Die Verknüpfungsglieder 408, 420 und 421 haben also insgesamt die Wirkung, ein sich auf Zufallsbasis änderndes Vorzeichen einem stetigen dezimalen Äquivalentwert von 0,5 zuzuordnen, der dem Gitterfilter im Generator 24 zugeführt wird.
Während einer stimmhaften Sprache liefert der Chirp-Festspeicher 409 an den Leitungen I₆ bis I₁₃ ein aus acht Bits bestehendes Ausgangssignal an das Gitterfilter. Dieses Ausgangssignal umfaßt 41, sich nacheinander ändernde Werte, die in der graphischen Darstellung eine Chirp-Funktion repräsentieren. Der Inhalt des Festspeichers 409 ist in der Tabelle VIII in einer Liste zusammengestellt. Der Festspeicher 409 ist so aufgebaut, daß seine Ausgangssignale negiert werden. Die Daten sind in ihm daher im komplementierten Format abgespeichert. Der Wert der Chirp-Funktion und der im Chirp-Festspeicher gespeicherte komplementierte Wert sind in hexadezimaler Zweierkomplementdarstellung ausgedrückt. Der Festspeicher 409 wird mittels eines 8-Bit-Registers 410 adressiert, dessen Inhalt normalerweise während jedes Zyklus durch das Gitterfilter mittels einer 1-Additionsschaltung 411 aktualisiert wird. Das Ausgangssignal des Registers 410 wird mit dem Inhalt des Tonhöhenregisters 305 in einem Größenkomparator 403 verglichen, damit der Inhalt des Registers 410 auf 0 gestellt wird, wenn sein Inhalt gleich oder größer als der Inhalt des Registers 305 wird. Der in den Fig. 14a und 14b genauer dargestellte Chirp-Festspeicher 409 ist so ausgebildet, daß Adressen, die größer als 110010 sind, die Wirkung haben, daß an den Leitungen I₁₃ bis I₆ an den Multipliziermultiplexer 415 Signale ausgegeben werden, die alle den Wert "0" haben. Auch an den Adressenplätzen 41 bis 51 sind Signale mit dem Wert "0" gespeichert. Die Chirp-Funktion kann also so erweitert werden, daß sie Adressenplätze bis zum Adressenplatz 50 besetzt, falls es erwünscht ist.
Schreib/Lese-Speicher
In den Fig. 12a und 12b ist das Schaltbild des Schreib/Lese-Speichers 203 dargestellt. Der Schreib/Lese-Speicher 203 wird mittels einer Adresse an den Leitern PC1 bis PC4 adressiert; die jeweilige Adresse wird in einer programmierbaren Decodermatrix 203 a decodiert, und sie legt fest, welcher codierte Parameter in den Schreib/Lese-Speicher 203 eingegeben werden soll. Der Schreib/Lese-Speicher 203 speichert die 12 decodierten Parameter, deren Länge zwischen 3 Bits und 5 Bits entsprechend dem im Zusammenhang mit Fig. 6 beschriebenen Decodierschema liegt. Der Aufbau jeder Zelle B des Schreib/Lese-Speichers 203 ist in Fig. 12b genauer dargestellt. Eine Schreib/Lese-Schaltung 203 b ermöglicht in Abhängigkeit von den Signalen T1, DIV1, PC0 und einem Parameter-Ladefreigabesignal das Schreiben in den Schreib/Lese-Speicher 203 während des A-Zyklus jeder Parameterzahl, während des Interpolationszyklus 0, wenn die Freigabe durch das Parameter-Ladefreigabesignal aus der Schaltung 238 (Fig. 8a bis 8c) erfolgt ist. Die Dateneingabe in den Schreib/Lese-Speicher 203 erfolgt an den Leitungen IN0 bis IN4 aus dem Register 205, wie es in den Fig. 8a und 8b dargestellt ist, und die Datenausgabe erfolgt an den Leitungen OUT1 bis OUT5 in den Festspeicher 202, wie ebenfalls in den zuvor genannten Figuren dargestellt ist.
Parameter-Festspeicher
In den Fig. 13a und 13b ist das Schaltbild des Festspeichers 202 dargestellt. Der Festspeicher 202 ist vorzugsweise ein Festspeicher mit virtueller Masse, wie er in der US-PS 39 34 233 beschrieben ist. Adresseninformationen aus dem Festspeicher 202 und aus dem Parameterzähler 513 werden Adressenpuffern 202 b zugeführt, die bei A genauer dargestellt sind. Die NOR-Glieder 202 a, die in den Adressenpuffern 202 b verwendet werden, sind bei B genauer dargestellt. Die Ausgangssignale des Adressenpuffers 202 b werden an einen X-Decodierer 202 c oder einen Y-Decodierer 202 d angelegt. Der Festspeicher ist in zehn Abschnitte C unterteilt, von denen einer genauer dargestellt ist. Die Ausgangsleitung jedes Abschnittes ist über Negatoren mit dem Register 201 verbunden, wie in den Fig. 8a und 8b dargestellt ist. Der X-Decodierer wählt eine von 54 X-Decodierleitungen aus, während der Y-Decodierer 202 d die Anwesenheit oder das Fehlen einer Transistorzelle zwischen zwei benachbarten, von Diffusionszonen gebildeten Leitungen prüft, wie in der zuvor erwähnten US-PS 39 34 233 genauer erläutert ist. Die vorzugsweise im Festspeicher 202 dieser Ausführung gespeicherten Daten sind in der Liste der Tabelle VI zusammengestellt.
Chirp-Festspeicher
Die Fig. 14a und 14b zeigen zusammen das Schaltbild des Chirp-Festspeichers 409. Die Adressierung des Festspeichers 409 erfolgt über Adressenleitungen bis aus dem Register 410 (Fig. 11a, 11b), mittels Ausgangsinformationen an Leitungen I₆ bis I₁₁ zum Multiplexer 415 und mittels Informationen an Leitungen IM1 und IM2 zu den Verknüpfungsgliedern 421 und 420, was alles in den Fig. 11a und 11b dargestellt ist. Wie zuvor im Zusammenhang mit den Fig. 11a und 11b erläutert wurde, gibt der Chirp-Festspeicher nur Signale mit dem Wert "0" ab, nachdem im Register 410 ein vorbestimmter Stand erreicht worden ist, der in diesem Fall der der Dezimalzahl 51 entsprechende Stand ist. Der Chirp-Festspeicher 409 enthält einen Y-Decodierer 409 a, der abhängig von den Adressen an den Leitungen und (und A0, A1) arbeitet; ferner enthält er einen X-Decodierer 409 b, der abhängig von der Adresse an den Leitungen bis (und A2 bis A5) arbeitet.
Außerdem enthält der Chirp-Festspeicher 409 ein Halteglied 409 c, das gesetzt wird, wenn die Dezimalzahl 51 an den Leitungen bis gemäß der Leitung 409 c aus dem Decodierer 409 e festgestellt wird. Der Decodierer 409 e decodiert auch einen Signalwert "0" an den Leitungen bis zum Rücksetzen des Halteglieds 409 c. Im Chirp-Festspeicher 409 ist eine Zeitsteuerschaltung 409 f vorgesehen, mit deren Hilfe Daten über Schaltglieder 409 g in der Zeitperiode T 12 getaktet werden können. In diesem Zeitpunkt stellt der Decodierer 409 e fest, ob an den Adressenleitungen bis die Dezimalzahl 0 oder die Dezimalzahl 51 vorhanden ist. Wenn eine dieser Bedingungen eintritt, wird das als statisches Halteglied ausgebildete Halteglied 409 c in ihren anderen Zustand versetzt.
In der Zeitperiode T 13 wird ein Adressenhalteglied 409 gesetzt, das in der Zeitperiode T 11 rückgesetzt wird. Das Halteglied 409 h ermöglicht dem Halteglied 409 c, an den Leitungen bis zwangsweise den Dezimalwert 51 zu erzeugen, wenn das Halteglied 409 c gesetzt ist. Wenn im Adressenregister 410 Adressen vorhanden sind, die größer als 51 sind, dann wird die Adresse in der Zeitperiode T 12 zunächst abgetastet, damit festgestellt wird, ob sie von der Rücksetzlogik 412 (Fig. 12a, 12b) auf den Wert "0" zum Rücksetzen des Halteglieds 409 c rückgesetzt worden ist, und, falls die Adresse nicht auf den Wert "0" rückgesetzt worden ist, um festzustellen, welche Adresse an den Leitungen bis eingegeben und von der Logik 409 j in der Zeitperiode T 13 überschrieben worden ist. Am Speicherplatz 51 sind im Chirp-Festspeicher 409 natürlich nur Signale mit dem Wert "0" zur Ausgabe an die Leitungen I6 bis I11, IM1 und IM2 gespeichert. Mittels der digitalen Schaltungen 409 c, 409 h und 409 j werden Adressen mit einem vorgewählten Wert, in diesem Fall dem Dezimalwert 51, lediglich geprüft, um festzustellen, ob ein Rücksetzen stattgefunden hat, sie können jedoch die Matrix der Festspeicherzellen über die Decodierer 409 a und 409 b nicht adressieren. Adressen zwischen dem Dezimalwert 0 und dem Dezimalwert 50 adressieren den Festspeicher normalerweise über die Decodierer 409 a und 409 b. Die Festspeichermatrix ist vorzugsweise eine Matrix des Typs mit virtueller Masse, wie sie in der US-PS 39 34 233 beschrieben ist. Wie zuvor erwähnt wurde, ist der Inhalt des Festspeichers 409 in der in der Tabelle VIII angegebenen Liste zusammengestellt. Die Chirp-Funktion befindet sich an den Adressen 00 bis 40, während an den Adressen 41 bis 51 nur Nullen gespeichert sind.
Abtrennlogik und Digital-Analog-Umsetzer
Es wird nun erneut auf die Fig. 11a und 11b Bezug genommen, in denen die Abtrennlogik 425 und der Digital-Analog-Umsetzer 426 dargestellt sind. Die Abtrennlogik 425 enthält eine Schaltung zum Umwandeln der an den Leitungen YL13 bis YL14 in Zweierkomplementdarstellung vorhandenen Daten in Daten, die mit Vorzeichen und Betrag dargestellt sind. Die digitale Schaltung 425 a prüft das höchstwertige Bit aus dem Y-Halteglied 403 an der Leitung YL13 zur Erzeugung eines Vorzeichenbits und zur Steuerung der Umsetzung von der Zweierkomplementdarstellung in die Vorzeichen-Betrag-Darstellung, die von der digitalen Schaltung 425 c durchgeführt wird. Das Vorzeichenbit wird an den Leitungen D/ASN und in "wahrer" oder "falscher" Logik an den Digital-Analog-Umsetzer 426 angelegt.
Die digitale Schaltung 425 c setzt die Zweierkomplementdaten von den Y-Haltegliedern 403 an den Leitungen YL10 bis YL4 in eine einfache Betragsdarstellung an den Leitungen bis um. Aus Gründen der Klarheit ist nur die der Leitung YL10 zugeordnete digitale Schaltung 425 c genauer dargestellt.
Die digitale Schaltung 425 b tastet die YL12- und YL11-Bits aus den Y-Haltegliedern 403 ab, und sie führt eine Betragsabtrennfunktion an diesen Daten durch, indem sie die Ausgangssignale an den Leitungen bis zwangsweise auf den Wert "0" setzt (d. h. auf einen Wert "1", wenn die Ausgangssignale in "wahrer" Logik dargestellt wären), wenn entweder das Bit YL12 oder das Bit YL11 den Wert "1" und das Bit YL13 den Wert "0" haben, was eine positive Größe anzeigt, oder wenn YL12 oder YL11 den Wert "0" und YL13 den Wert "1" haben, was eine negative Größe (und natürlich eine komplementierte Größe) anzeigt. Wenn eine dieser Bedingungen eintritt, erscheint an der Leitung 427 ein Signal mit dem Wert "0", so daß dadurch an den Ausgangspuffer 428 in jeder digitalen Schaltung 425 c der Spannungswert V SS angelegt wird. Die Betragsfunktion bewirkt ein Abtrennen der höherwertigen Bits an den Leitungen YL11 und YL12. Es ist zu erkennen, daß dies eine ungewöhnliche Abtrennung darstellt, da normalerweise in den meisten anderen Abtrennschaltungen die niedrigerwertigen Bits abgetrennt werden. In der hier vorliegenden Schaltung werden große positive oder negative Werte jedoch wirksam abgeschnitten. Auf Grund dieses Abtrennschemas werden digitale Sprachinformationen, die kleinere Beträge haben, um den Faktor 4 verstärkt.
Die Ausgänge bis sind zusammen mit den Ausgängen und mit dem Digital-Analog-Umsetzer 426 verbunden. Der Digital-Analog-Umsetzer 426 enthält vorzugsweise sieben MOS-Bauelemente 429, die an die sieben Ausgangsleitungen bis aus der Abtrennlogik 425 angeschlossen sind. Die Bauelemente 429 sind durch Steuern des Verhältnisses ihrer Breite zu ihrer Länge so ausgebildet, daß sie elektrischen Strom in verschiedener Größe durchlassen. Das Bauelement 429, das an die Leitung angeschlossen ist, läßt im eingeschalteten Zustand zweimal soviel Strom wie das an die Leitung angeschlossene Bauelement 429 durch. Ferner kann das an die Leitung angeschlosssene Bauelement 429 zweimal so viel Strom wie das an die Leitung angeschlossene Bauelement 429 durchlassen. Dieses Stromdurchlaßverhältnis von 2 : 1 gilt auch für die übrigen, an die Leitungen bis angeschlossenen Bauelemente 429. Demnach kann das Bauelement 429, das an die Leitung angeschlossen ist, zweimal so viel Strom wie das mit der Leitung angeschlossene Bauelement 429, jedoch nur die Hälfte des an die Leitung angeschlossenen Bauelements 429 durchlassen. Alle Bauelemente 429 sind parallelgeschaltet; mit einem Ende sind sie vorzugsweise an die Spannung V SS gelegt, während das andere Ende vorzugsweise über Transistoren 430 und 431 vorzugsweise mit den beiden Anschlüssen des Lautersprechers 4 verbunden ist. Der Transistor 430 wird vom Signal an der Leitung gesteuert, das seiner Gate-Elektrode zugeführt wird. Der Transistor 431 wird in Abhängigkeit vom Signal an der Leitung D/ASN aus- und eingeschaltet. Die Sprechspule des Lautsprechers 4 hat vorzugsweiese eine Impedanz von 100 Ohm; sie weist eine Mittelanzapfung auf, die an die Spannung V GG angelegt ist. Die Signale an den Leitungen bis steuern daher die Größe des durch die Sprechspule fließenden Stroms, während die Signale an den Leitungen und D/ASN die Richtung dieses Stromflusses steuern.
Anstelle der Verwendung einer 100-Ohm-Sprechspule mit Mittelanzapfung kann auch ein herkömmlicher 8-Ohm-Lautsprecher mit einem Transformator benutzt werden, der eine mit Mittelanzapfung versehene 100-Ohm-Primärwicklung, die an die Spannung V GG und an die Transistoren 430 und 431 angeschlossen ist und eine an die Lautsprecherklemmen angeschlossene 8-Ohm-Sekundärwicklung aufweist. In einer weiteren Ausführungsform kann die Mittelanzapfung durch Verwendung von Transistoren 440 und 441 vollkommen weggelassen werden, die in den Ausführungen mit Transformator mit Mittelanzapfung oder mit Sprechspulen mit Mittelanzapfung nicht benutzt werden.
Wie zu erkennen ist, bewirkt der Digital-Analog-Umsetzer 426 nicht nur die Umsetzung der digitalen Vorzeichen-Betrag-Information an den Leitungen bis und D/ASN sowie in ein analoges Signal, sondern er bewirkt auch eine Verstärkung dieses analogen Signals auf einen ausreichenden Pegel, damit ein Lautsprecher aus der MOS-Sprachsyntheseschaltung 10 direkt, oder über den zuvor erwähnten Tranformator, falls dies erwünscht ist, angesteuert werden kann.
Der Halbleiter-Chip der Sprachsyntheseschaltung
Fig. 22 zeigt in einer stark vergrößerten Draufsicht einen Halbleiter-Chip, der das gesamte, in den Fig. 4a und 4b dargestellte System enthält. Der Halbleiter-Chip hat eine Seitenlänge von nur etwa 5,46 mm (0,215 inches). Im dargestellten Beispiel ist der Halbleiter-Chip mittels eines P-Kanal-Metall-Gate-Prozesses hergestellt, bei dem folgende Regeln eingehalten sind: Breite der Metalleiter: 6,5 µm (0,25 mil); Abstand der Metalleiter: 6,25 µm (0,25 mil); Breite der von Diffusionszonen gebildeten Leiter: 3,75 µm (0,15 mil); Abstand dieser von Diffusionszonen gebildeten Leiter: 7,5 µm (0,30 mil). Diese Ausführungswerte werden natürlich mit dem Aufkommen der Erzeugung von Masken unter Verwendung von Elektronenstrahlen herabgesetzt, und mit anderen Verfahren wird es möglich sein, die Größe des Halbleiter-Chips weiter zu reduzieren. Die Größe des Halbleiter-Chips kann natürlich auch dadruch herabgesetzt werden, daß einige vorteilhafte Merkmale, die vorzugsweise auf dem Chip benutzt werden, nicht angewendet werden.
Die gesamte aktive Fläche des Halbleiter-Chips der Sprachsyntheseschaltung 10 beträgt etwa 28 mm² (45 000 mil²).
Wie der Fachmann erkennen kann, können auch andere MOS-Herstellungsverfahren, beispielsweise N-Kanal-, CMOS- oder Silizium-Gate-Verfahren angewendet werden.
Die verschiedenen Teile des Systems sind mit den gleichen Bezugszeichen gekennzeichnet, die in der vorhergehenden Beschreibung benutzt wurden.
Steuerschaltung
Die in dem Lernhilfegerät benutzte Steuerschaltung ist vorzugsweise ein Mikroprozessor des in der US-PS 40 74 355 beschriebenen Typs mit anschließend noch zu beschreibenden Modifikationen. Auf diese US-PS 40 74 355 sei hier ausdrücklich Bezug genommen. Es können natürlich auch andere Mikroprozessoren, einschließlich von zukünftig zur Verfügung stehenden Prozessoren, in Anwendungsfällen wie dem hier beschriebenen sprechenden Lernhilfegerät eingesetzt werden.
Der Mikroprozessor nach der US-PS 40 74 355 ist eine verbesserte Version eines früheren Mikroprozessors, der in der US-PS 39 91 305 beschrieben wurde. Eine der Verbesserungen betraf das Weglassen von Ziffern an Steuerbauelementen, so daß Leuchtdiodenfelder, die eine Anzeigevorrichtung bilden, direkt vom Mikroprozessor angesteuert werden konnten. Die im Lernhilfegerät verwendete Anzeigevorrichtung ist vorzugsweise eine Vakuum-Fluoreszenz-Anzeigevorrichtung. Wie der Fachmann weiß, werden die Anzeigesegmente bei einer direkten Ansteuerung von Leuchtdioden vorzugsweise sequentiell betätigt, während die gemeinsamen Zeichenpositionselektroden der Anzeigevorrichtung in ausgewählter Weise entsprechend der in einem Anzeigeregister oder Anzeigespeicher vorhandenen Information betätigt werden. Bei der Verwendung von Vakuum-Fluoreszenz-Anzeigevorrichtungen werden andererseits vorzugsweise die gemeinsamen Zeichenpositionselektroden sequentiell betätigt, während die Segmente in ausgewählter Weise entsprechend der Information im Anzeigeregister oder im Anzeigespeicher betätigt werden. Der Mikroprozessor gemäß der US-PS 40 74 355 ist vorzugsweise so abgeändert, daß eine Anzeigestellen-Abtastung angewendet wird, die der in der US-PS 39 91 305 angewendeten Abtastung gleicht.
Der Mikroprozessor gemäß der US-PS 40 74 355 ist ein 4-Bit-Prozessor; zur Verarbeitung alphanumerischer Informationen sind zusätzliche Bits erforderlich. Durch Verwendung von sechs Bits, die 26 oder 64 eindeutige Codegruppen darstellen können, können ohne weiteres die 26 Buchstaben des Alphabets, zehn Zahlen und auch mehrere Sonderzeichen behandelt werden. Anstelle einer direkten Umwandlung des Mikroprozessors gemäß der US-PS 40 74 355 in einen 6-Bit-Prozessor erfolgte diese Umwandlung indirekt mittels Software, indem die 4-Bit-Wörter in 8-Bit-Bytes paarweise verwendet und sechs dieser Bits zum Anzeigedecodierer übertragen wurden.
Die Fig. 15a und 15b zeigen zusammen ein Blockschaltbild des vorzugsweise im Lernhilfegerät verwendeten Mikroprozessors; dabei sei bemerkt, daß dieses Blockschaltbild allgemein dem Blockschaltbild der Fig. 7a und 7b der US-PS 40 74 355 entspricht; verschiedene Abänderungen zur Erzielung der oben erwähnten Merkmale der 6-Bit-Arbeitsweise und der Vakuum-Fluoreszenz-Anzeigevorrichtung sind ebenfalls angegeben. Die in den Fig. 15a und 15b angegebenen Bezugszeichen stimmen allgemein mit den in der US-PS 40 74 355 überein. Die Modifikationen werden nun genauer beschrieben.
In den Fig. 16a, 16b, die an die Stelle der Fig. 13 der US-PS 40 74 355 treten, sind der Segmentdecodierer und der RAM-Adressendecodierer 33-1 dargestellt, der das Signal RAMY zum Adressieren des Schreib/Lese-Speichers 31 oder der Signale ACC1 bis ACC8 decodiert. Der Adressendecodierer 33-1 entspricht allgemein dem Decodierer 33 der zuvor erwähnten USA-Patentschrift. Die Segmentinformation wird erneut in eine bestimmte Segmentzeileninformation im Ausgabeabschnitt 32-2 codiert und am Bus 90 zu den Segmenttreibern 91 ausgegeben. Sechs Datenbits aus dem 4-Bit-Akkumulator 77 des Prozessors werden im Adressendecodierer 33-1 decodiert, wie nun erläutert wird. Zunächst werden vier Bits am Bus 86 in die Akkumulatorhalteglieder 87-1 bis 87-8 mit einem Datenausgabe-Übertragungsbefehl TD0 eingegeben, wenn das Statussignal den Wert "1" hat. Anschließend werden zwei Bits am Bus 86 (von den Leitungen 86-1 und 86-2) in die Akkumulatorhalteglieder der 87-16 und 86-32 mit einem weiteren Übertragungsbefehl TD0 eingegeben, wenn das Statussignal den Wert "0" hat. Anschließend werden die sechs Bits in den Haltegliedern 87-1 bis 87-2 im Adressendecodierer 33-1 decodiert. Die Segmenttreiber 91 können vorzugsweise Treiber eines der drei Typen 91 A, 91 B oder 91 C sein, die in den Fig. 16a, 16b dargestellt sind. Der Treibertyp 91 A ermöglicht die externe Übermittlung der Daten an den Leitungen ACC1 bis ACC8 über die Anschlußstifte SEG G, SEG B, SEG C und SEG D. Der Treiber des Typs 91 B, der mit dem Anschlußstift SEG E verbunden ist, ermöglicht die externe Übermittlung des Inhalts des Stellenregisters 94-10, wenn das Stellenregister 94-12 gesetzt ist. Der Treiber des Typs 91 C, der mit dem Anschlußstift SEG A verbunden ist, ermöglicht die Ausgabe des Inhalts des Programmzählers während Testoperationen.
Die Stellenpufferregister und die TD0-Halteglieder von Fig. 14 der US-PS 40 74 355 sind vorzugsweise durch die Stellpufferregister von Fig. 17 ersetzt, da (1) das Signal DDIG nicht mehr benutzt wird, und da (2) die Stellenhalteglieder (Elemente 97 der US-PS 40 74 355) ebenfalls nicht mehr benutzt werden. Der Einfachheit halber ist nur eines der Stellenausgabepufferregister 94 genau dargesellt. Da im vorliegenden Ausführungsbeispiel des Lernhilfegeräts die Anzeigevorrichtung 2 vorzugsweise acht Zeichenpositionen aufweist, verbinden acht Ausgabepuffer 98-0 bis 98-7 die Leitungen D₀ bis D₇ mit den gemeinsamen Elektroden der Anzeigevorrichtung 2 über die Register 94-0 bis 94-7, wie in Fig. 17 dargestellt ist. Ein zusätzlicher Ausgangspuffer 98-8 überträgt zur Sprachsyntheseschaltung 10 den Inhalt des Registers 94-12, der das Chipwählsignal ist.
Damit eine in zwei Richtungen wirksame Verbindung zur Sprachsyntheseschaltung 10 erleichtert wird, wird der Mikroprozessor gemäß der US-PS 40 74 355 vorzugsweise so abgewandelt, daß an den Anschlußstiften SEG G, SEG B, SEG C und SEG D eine in zwei Richtungen wirksame Verbindung ermöglicht wird. Nach Fig. 18 sind diese SEG-Anschlußstifte mit den normalen K-Leitungen 112-1 bis 112-8 über einen Eingabewähler 111 a zur Informationseingabe bei gesetztem Stellenregister 94-12 (R 12) verbunden. Außerdem sind diese Anschlußstifte über Segmenttreiber 91 A mit den Leitungen ACC1 bis ACC8 verbunden, wenn die Stellenregister 94-12 (R 12) und 94-11 (R 11) zur Informationsausgabe in den Akkumulator 77 gesetzt sind.
Wenn das Stellenregister 94-12, das das Chipwählsignal nach außen überträgt, gesetzt ist, ist der Anschlußstift SEG E mit dem Stellenregister 94-10 (R 10) verbunden, damit das Signal PDC zur Sprachsyntheseschaltung 10 übertragen wird. Außerdem werden in der Zeitperiode, in der die Register R 12 und R 11 gesetzt sind, die Signale an der Leitung ACC1 bis ACC8 an den Anschlußstiften SEG G und SEG B bis SEG D ausgegeben. Wenn der Inhalt des Registers R 11 den Wert "0" hat, d. h., wenn das Register rückgesetzt ist, sind die Segmenttreiber 91 a gesperrt, und die Daten können in die CKB-Schaltung 113 gelesen werden, damit beispielsweise Daten aus den Festspeichern 12 a, 12 b über die Sprachsyntheseschaltung 10 empfangen werden. Fig. 18 ersetzt die Tastenfeldschaltung 11, die in Fig. 22 der US-PS 40 64 554 dargestellt ist.
Vorzugsweise sind die Anschlußstifte SEG G und SEG B bis SEG D mit den Anschlußstiften CTL1 bis CTL8 der Sprachsyntheseschaltung 10 verbunden, während der Anschlußstift SEG E mit dem Anschlußstift PDC der Sprachsyntheseschaltung 10 verbunden ist.
Festspeicher
Die Festspeicher 12 A, 12 B, 13 A oder 13 B sind in den Fig. 19, 20a, 20b, 21a und 21b dargestellt. Fig. 19 zeigt ein Blockschaltbild eines dieser Festspeicher. Fig. 20a und 20b zeigen zusammen das Schaltbild der Steuerlogik für die Festspeicher, während Fig. 21a und 21b zusammen das Schaltbild der X- und Y-Adressendecodierer sowie den Aufbau der Speicherzellenmatrix zeigen.
Nach Fig. 19 weist die Festspeichermatrix 601 acht Ausgangsleitungen auf, nämlich eine Ausgangsleitung aus jedem Abschnitt mit 16 384 Bits. Die acht Ausgangsleitungen der Festspeichermatrix 601 sind über eine Ausgabehalteschaltung 602 mit einem 8-Bit-Ausgaberegister 603 verbunden. Das Ausgaberegister 603 steht mit den Anschlußstiften ADD1 bis ADD8 in Verbindung, und es ist so ausgebildet, daß es die vier hochwertigen oder die vier niedrigwertigen Bits über die vier Anschlußstifte ADD1 bis ADD8 ausgibt, oder diese Bits seriell über den Anschlußstift ADD1 ausgibt. Die angewendete Alternative kann entsprechend maskenprogrammierbarer Gates ausgewählt werden.
Die Festspeichermatrix 601 wird mittels eines 14-Bit-Adressenzählers 604 adressiert.
Dem Adressenzähler 604 ist ein 4-Bit-Chipwählzähler 605 zugeordnet. Die Adressen im Adressenzähler 604 und im Chipwählzähler 605 werden zu je vier Bits in Abhängigkeit von einem decodierten Adressenladebefehl LA von den Anschlußstiften ADD1 bis ADD8 geladen. Der erste Adressenladebefehl lädt die vier niedrigstwertigen Bits in den Adressenzähler 604 (die Bits A₀ bis A₃), und die nächsten Adressenladebefehle laden die höherwertigen Bits (A₄ bis A₇, A₈ bis A₁₁ und A₁₂ bis A₁₃). Während des vierten Adressenladezyklus werden die Bits A12 und A13 zur gleichen Zeit geladen, wie die Bits CS0 und CS1 in den Chipwählzähler 605 geladen werden. Mit dem fünften Adressenladebefehl werden die zwei höchstwertigen Bits im Chipwählzähler 605 von den Anschlußstiften ADD1 und ADD2 geladen. Ein Zähler 606 zählt nacheinander die empfangenen Adressenladebefehle, damit angezeigt wird, wo die vier Bits an den Anschlußstiften ADD1 bis ADD8 in die Zähler 604 und/oder 605 geladen werden sollen.
Die Übertragung von Befehlen zum Festspeicher-Chip erfolgt über die Anschlußstifte I₀ und I₁ zu einem Decodierer 607, der den Adressenladebefehl LA, den Bitübertragungsbefehl TB und einen Lese- und Verzweigungsbefehl RB ausgibt.
Dem Adressenzähler 604 und dem Chipwählzähler 605 ist eine 1-Additionsschaltung 608 zugeordnet, damit die in diesen Zählern enthaltene Adresse fortgeschaltet werden kann. Wenn außerhalb der im Adressenzähler 604 gespeicherten 14-Bit-Zahl ein Übertrag auftritt, wird dieser Übertrag in den Chipwählzähler 605 eingegeben, der die Chip-Wählfunktion freigeben kann, wenn sie nicht vorher freigegeben worden ist, oder die Chipwählfunktion sperren kann, wenn sie zuvor freigegeben worden ist. Außerdem kann der aus acht Bits bestehende Inhalt des Ausgaberegisters 603 mittels einer Wählerschaltung 609 in Abhängigkeit von einem Lese- und Verzweigungsbefehl RB in den Adressenzähler 604 geladen werden. Während eines Lese- und Verzweigungsbefehls RB wird das erste aus der Festspeichermatrix 601 gelesene Byte als die acht niedrigwertigen Bits benutzt, während das nächste Byte für die sechs höherwertigen Bits im Adressenzähler 604 benutzt wird.
Das Ausgangssignal des Chipwählzählers 605 wird über programmierbare Verbindungen 610 zu einem Verknüpfungsglied 611 übertragen, damit der Inhalt des Chipwählzählers 605 mit einer durch die Programmierung der Verbindungen 610 eingegebenen, vorgewählten Codegruppe verglichen wird. Das Verknüpfungsglied 611 reagiert auch auf ein Chipwählsignal am Chipwähl-Anschlußstift, damit die Chip-Wähleigenschaft vom Inhalt des Chipwählzählers 605 und/oder vom Zustand des Chipwähl-Bits am Chipwähl-Anschlußstift abhängig gemacht werden kann. Das Ausgangssignal des Verknüpfungsglieds 611 wird an zwei Verzögerungsschaltungen 612 angelegt, deren Ausgangssignal die Ausgangspuffer steuert, die der Informationsausgabe aus dem Ausgaberegister 603 zu den Anschlußstiften ADD1 bis ADD8 zugeordnet sind. Die von den Verzögerungsschaltungen 612 hervorgerufene Verzögerung hat im vorliegenden Ausführungsbeispiel die Verzögerung um zwei Bytes zur Folge, weil die an den Anschlußstiften ADD1 bis ADD8 eingegebene Adresseninformation den in Abhängigkeit davon ausgegebenen Daten um die Zeitdauer voreilt, die für den Zugriff auf die Festspeichermatrix 601 benötigt wird. Der Chipwähl-Anschlußstift wird vorzugsweise in dem hier beschriebenen Ausführungsbeispiel des Lernhilfegeräts angewendet.
Das programmierbare Zeitsteuerfeld 600 wird für die zeitliche Festlegung der zur Festpeichermatrix 601 ausgegebenen Steuersignale und auch anderer Steuersignale verwendet.
Es wird nun auf das von den Fig. 20a und 20b gebildete Schaltbild Bezug genommen. Das Ausgaberegister 603 wird von acht "A"-Bit-Haltegliedern gebildet, von denen ein Beispiel bei 617 dargestellt ist. Der Ausgang des Registers 603 ist über einen von - oder -Signalen gesteuerten 4-Bit-Übertragungsweg parallel mit Ausgabepuffern 616 für ADD1 bis ADD4 und 616 a für ADD8 verbunden. Die Puffer 616 und 616 a sind in den Fig. 21a, 21b genau dargestellt.
Die Schaltglieder 615, die die Übertragung der parallelen Ausgangssignale aus dem Register 603 abhängig von den - und -Signalen steuern, sind vorzugsweise maskenprogrammierbare Schaltglieder, die vorzugsweise nicht programmiert sind, wenn dieser Halbleiter-Chip bei dem hier beschriebenen Lernhilfegerät angewendet wird. Die Daten werden dafür seriell über das programmierbare Schaltglied 614 aus dem Register 603 zum Puffer 616 a und zum Anschlußstift ADD8 übertragen. Die an den Anschlußstiften ADD1 bis ADD8 in Abhängigkeit von einem -Signal ausgegebenen Bits kommen von den Bits 3 bis 6 im Register 603 und nicht von den Bits 4 bis 7, da ein serieller Schiebevorgang normalerweise zwischen einem - und -Signal stattfindet.
Der Adressenzähler 604 besteht aus 14-Bit-Haltegliedern, wie sie bei 617 dargestellt sind. Die an den Leitungen A0 bis A13 anliegende Adresse im Adressenzähler 604 wird zu den X- und Y-Adressenpuffern des Festspeichers übertragen, wie in den Fig. 21a, 21b dargestellt ist. Der Adressenzähler 604 ist in vier Abschnitte 601 a bis 601 d unterteilt; der Abschnitt 604 d lädt dabei vier Bits an den Anschlußstiften ADD1 bis ADD8 in Abhängigkeit von einem Signal , und der Abschnitt 404 c lädt vier Bits von den Anschlußstiften ADD1 bis ADD8 in Abhängigkeit von einem Signal ; das gleiche gilt für den Abschnitt 604 b in Abhängigkeit von einem Signal . Der Abschnitt 604 a hat eine Länge von zwei Bits; er lädt die an den Anschlußstiften ADD1 und ADD2 vorhandenen Bits abhängig von einem Signal . Der Chipwählzähler 605 besteht aus vier B-Bit-Haltegliedern, wie sie bei 618 dargestellt sind. Die niedrigerwertigen Bits CS0 und CS1 werden von den Anschlußstiften ADD4 und ADD8 in Abhängigkeit von einem Signal geladen, während die höherwertigen Bits CS2 und CS3 von den Anschlußstiften ADD1 und ADD2 in Abhängigkeit von einem Signal geladen werden. Die Signale bis werden vom Zähler 606 erzeugt. Der Zähler 606 enthält ein 4-Bit-Register 619, das aus vier A-Bit-Haltegliedern 617 aufgebaut ist. Das Ausgangssignal des 4-Bit-Registers 619 wird einer programmierbaren Decodiermatrix 620 zugeführt, damit die Signale bis decodiert werden. Das Signal wird von einem NAND-Glied 621 erzeugt. Wie zu erkennen ist, erscheint das Signal als Reaktion auf ein Adressenladesignal LA, das unmittelbar nach einem Bitübertragungssignal TB decodiert wird. Das NAND-Glied 621 prüft auf die Anwesenheit eines Signalwerts "1" im Adressenladesignal LA und im Signal LTBD aus dem Halteglied 622. Der Decodierer 607 decodiert die an die Anschlußstifte I0 und I1 angelegten Signale I0 und I1, damit die Befehle TB, LA und RB decodiert werden. Die Signale an den Anschlußstiften I0 und I1 sind in der Tabelle XI angegeben. Das Halteglied 622 zeigt abhängig von den Befehlen LA, RB und TB an, ob der zuvor empfangene Befehl ein LA-, ein TB- oder ein RB-Befehl war.
Zusätzlich zum Zählen aufeinanderfolgender Adressenladebefehle LA werden das 4-Bit-Register 619 und die Decodiermatrix 620 dazu verwendet, aufeinanderfolgende Bitübertragungsbefehle TB zu zählen. Dies wird in der folgenden Ausführungsform durchgeführt, weil jeder Bitübertragungsbefehl ein Bit aus dem Register 603 am Anschlußstift ADD8 zur Sprachsyntheseschaltung 10 überträgt und das Register 603 einmal nach jeweils acht aufeinanderfolgenden Bitübertragungsbefehlen geladen wird. Die Decodiermatrix 620 erzeugt also auch einen Befehl TB8, der eine Adressierungsfolge für die Festspeichermatrix auslöst. Die zeitliche Ablauffolge des Registers 619 und der Decodiermatrix 620 sind in der Tabelle X angegeben. Die Signale bis werden natürlich nur in Abhängigkeit aufeinanderfolgender Adressenladebefehle LA erzeugt, während die Bitübertragungssignale TB8 nur in Abhängigkeit von aufeinanderfolgenden Bitübertragungsbefehlen TB erzeugt werden.
Die 1-Additionsschaltung 608 schaltet die im Adressenregister 604 enthaltene Zahl als Reaktion auf einen Befehl TB oder einen Befehl RB fort. Da während eines Lese- und Verzweigungszyklus zwei aufeinanderfolgende Bytes als neue Adresse benutzt werden, müssen die Kartenadresse und die um Eins vergrößerte derzeitige Adresse zur Erzeugung dieser zwei Bytes benutzt werden. Das Ausgangssignal der 1-Additionsschaltung 608 wird über die Wählerschaltung 609 übertragen, damit die Ergebnisse der Fortschaltung wieder zum Eingang des Adressenregisters 604 zurückübertragen werden. Die Wählerschaltung 609 ermöglicht es, die Bits im Ausgaberegister 603 während eines Lese- und Verzweigungszyklus in das Adressenregister 604 unter der Steuerung durch ein Signal BR aus der Matrix 600 zu übertragen. Die 1-Additionsschaltung 608 ist über die COUNT-Signalleitung auch mit dem Chipwählzähler 605 verbunden, damit die darin gespeicherte Zahl fortgeschaltet wird, wenn ein über die 14 Bits im Adressenregister 614 hinausgehender Übertrag CARRY vorhanden ist. Das Ausgangssignal des Chipwählzählers 605 wird über die programmierbare Verbindung 610 an das Verknüpfungsglied 611 angelegt. Das Signal am CS-Anschlußstift kann auch an das Verknüpfungsglied 611 angelegt oder mit dem Inhalt von CS3 verglichen werden. Das Verknüpfungsglied 611 kann daher folgende Funktionen ausüben: (1) den Zustand des CS-Signals testen, (2) einen speziellen Stand des Chipwählzählers 605 testen, (3) einen Vergleich zwischen dem Zustand des Chipwählsignals und dem Zustand des Signals CS3 durchführen oder (4) eine Kombination dieser Funktionen ausüben, was nach der Kenntnis des Fachmanns dadurch gesteuert werden kann, wie die programmierbaren Verbindungen 610 während der Herstellung des Halbleiter-Chips programmiert werden. Das Ausgangssignal des Verknüpfungsglieds 611 wird über 2-Bit-Halteglieder des Typs C weitergeleitet, der bei 622 dargestellt ist. Die Zeitsteuermatrix 600 steuert die zeitliche Ablauffolge des Festspeichers während der Folgen von Lese- und Sprungbefehlen und Bitübertragungsbefehlen. Die Zeitsteuermatrix 600 enthält die Abschnitte 600 a und 600 b sowie Zähler 623 und 624. Der Zähler 623 ist ein 2-Bit-Zähler aus zwei Haltegliedern des bei 617 dargestellten Typs A. Dieser Zähler 623 zählt, wie oft ein Festspeicherzugriff zur Durchführung eines bestimmten Befehls erforderlich ist. Beispielsweise erfordert ein Bitübertragungsbefehl TB einen Festspeicherzugriff, während ein Lese- und Verzweigungsbefehl RB drei Festspeicherzugriffe erfordert. Der Zähler 624, der aus vier Bit-Haltegliedern des bei 617 dargestellten Typs A zusammengesetzt ist, zählt die zeitliche Ablauffolge des Festspeichers zur Erzeugung verschiedener Steuersignale, die beim Zugriff auf die Festspeichermatrix 601 benutzt werden. Die zeitliche Ablauffolge für einen Bitübertragungsbefehl ist in der Tabelle X dargestellt, wo die Zustände der Zähler 623 und 624 und die abhängig davon erzeugten Signale angegeben sind. Eine ähnliche zeitliche Folge für einen Befehl RB ist in der Tabelle XII dargestellt. Die von den Abschnitten 600 a und 600 b der Zeitsteuermatrix erzeugten Signale werden nun kurz erläutert. Das BR-Signal steuert die Übertragung von zwei aufeinanderfolgenden Bits aus dem Ausgaberegister 603 in das Adressenregister 604. Das TF-Signal steuert die Übertragung von acht Bits aus dem Leseverstärker-Halteglied 602 (Fig. 21a, 21b) in das Ausgaberegister 603 an den Leitungen SA0 bis SA7. Das INC-Signal steuert die serielle Fortschaltung des Adressenregisters um jeweils zwei Bits für jedes erzeugte INC-Signal. Das Signal PC ist ein Vorladesignal für die Festspeichermatrix; es ist normalerweise für die Dauer von etwa 10 Mikrosekunden vorhanden. Das DC-Signal entlädt die Festspeichermatrix 601; seine Dauer beträgt jeweils vorzugsweise etwa 10 Mikrosekunden. Jede vorliegende Festspeichermatrix benötigt etwa 10 Mikrosekunden. Die hier vorliegende Festspeichermatrix benötigt etwa 70 Mikrosekunden zur Entladung, so daß vorzugsweise während jeder Adressierungsfolge sieben DC-Signale erzeugt werden. Das SAM-Signal bewirkt die Durchschaltung der aus der Festspeichermatrix ausgegebenen Daten in das Leseverstärker-Halteglied 602, während das SAD-Signal die Adressenleitungen durch Durchschalten der Adresse aus dem Adressenregister in die Festspeicher-Adressenpuffer 625 (Fig. 21a, 21b) setzt.
Tabelle I
Die angegebene Folge ist ein Beispiel für ein Arbeiten des Lernhilfegeräts in der Betriebsart "Buchstabieren"
Tabelle II
Betriebsart "Lernen"
Das Lernhilfegerät fährt mit den übrigen 9 Wörtern wie im Buchstabierbetrieb fort.
Tabelle III
In der Betriebsart "Wörterraten" wählt das Lernhilfegerät ein beliebiges Wort mit dem Schwierigkeitsgrad C oder D aus und gibt auf der Anzeigevorrichtung zur Darstellung der Anzahl von Buchstaben des gewählten Worts Gedankenstriche an. Der Benutzer versucht, das Wort zu erraten. Der Benutzer muß das Wort eingesetzt haben, bevor er siebenmal falsch geraten hat. Anschließend wird ein Beispiel der Arbeitsweise des Lernhilfegeräts in der Betriebsart "Wörterraten" angegeben
Tabelle IV
Die Sprachsyntheseschaltung 10 enthält eine Interpolationslogik zur Erzielung einer nahezu linearen Interpolation aller zwölf Sprachparameter an acht Punkten innerhalb jedes Datenrahmens, d. h. einmal pro 2,5 ms. Es wird ein Parameter nach dem anderen entsprechend der Auswahl durch den Parameterzähler interpoliert. Die Interpolationslogik berechnet aus dem derzeitigen Wert (d. h. dem derzeit im K-Stapel, im Tonhöhenregister oder in der E 10-Schleife gespeicherten Wert) und aus dem in codierter Form im Schreib/Lese-Speicher 203 gespeicherten und vom Festspeicher 202 decodierten Zielwert einen neuen Parameterwert. Der bei jedem Interpolationsvorgang berechnete Wert ist anschließend angegeben.
Dabei sind:
p i der derzeitige Parameterwert,
p i + 1 der neue Parameterwert,
p t der Zielwert,
N i eine vom Interpolationszähler bestimmte ganze Zahl.
Die Werte N i für bestimmte Interpolationszahlen und die Werte (P i - P o)/(Pt - P o), (Po = Anfangswert des Parameters), haben folgende Größe:
Tabelle V
Tabelle VI
Decodierte Parameter
Tabelle VIII
Inhalt des Chirp-Festspeichers
Tabelle IX
I₀/I₁-Befehle
Tabelle X
Zeitliche Ablauffolge im Zähler 619 und in der Matrix 620
Tabelle XI
TB8-Lesefolge
Tabelle XII
TB8-Lesefolge

Claims (10)

1. Sprachsyntheseanordnung mit einer Mehrfachspeichervorrichtung, in der digitale Sprachdaten gespeichert sind, aus denen Wörter einer menschlichen Sprache zum Zwecke der Sprachsynthese abgeleitet werden können, wobei diese Mehrfachspeichervorrichtung einen ersten Speicher enthält, in dem an mehreren ausgewählten Adressenplätzen mehrere digitale Sprachdaten gespeichert sind, die jeweils die gleiche vorbestimmte Anzahl von Bits enthalten, daß die Mehrfachspeichervorrichtung ferner zweite und dritte Speicher enthält, die dem ersten Speicher wirkungsmäßig zugeordnet sind und die Natur der von diesem ausgegebenen digitalen Sprachdaten beeinflussen, und einer Sprachsyntheseschaltung, die mit der Mehrfachspeichervorrichtung wirkungsmäßig gekoppelt ist und aus dem ersten Speicher in selektiver Weise digitale Sprachdaten empfängt und in hörbare menschliche Sprache umsetzt, dadurch gekennzeichnet, daß in dem zweiten Speicher (12 a, 12 b und 13 a, 13 b; Fig. 3) mehrere Gruppen erster digitaler Adressendaten gespeichert sind, aus denen Wörter in einer menschlichen Sprache zum Zwecke der Sprachsynthese abgeleitet werden können, wobei jede der Gruppen der ersten Adressendaten sequentiell in dem zweiten Speicher gespeicherte erste Adressendaten umfassen und wobei die ersten Adressendaten jeweils weniger Bits als die vorbestimmte Anzahl der Bits jedes in dem ersten Speicher gespeicherten Sprachdatums enthalten und einem ausgewählten Adressenplatz in dem ersten Speicher entsprechen, daß in dem dritten Speicher (30; Fig. 15a, 15b) mehrere zweite Adressendaten gespeichert sind, wobei jedes Adressendatum der zweiten Adressendaten einer ausgewählten Gruppe der mehreren Gruppen erster Adressendaten im zweiten Speicher entspricht, und daß die Sprachsyntheseschaltung (10) in selektiver Weise digitale Sprachdaten in Abhängigkeit von einem Zugriff auf eine ausgewählte Gruppe erster Adressendaten aus dem zweiten Speicher gemäß der Bestimmung durch ein Adressendatum der zweiten Adressendaten aus dem dritten Speicher, dem die eine ausgewählte Gruppe der ersten Adressendaten entspricht, aus dem ersten Speicher empfängt.
2. Sprachsyntheseanordnung nach Anspruch 1, gekennzeichnet durch eine Steuervorrichtung (11; Fig. 3), die wirkungsmäßig mit dem ersten und dem zweiten Speicher (202 bzw. 12 A, 12 B, 13 A, 13 B) gekoppelt und der Sprachsyntheseschaltung (10) zumindest wirkungsmäßig zugeordnet ist, wobei die Steuervorrichtung (11) den dritten Speicher (30) enthält.
3. Sprachsyntheseanordnung nach Anspruch 2, dadurch gekennzeichnet, daß die Steuervorrichtung (11) Mittel zum Abrufen eines zweiten Adressenwerts aus dem dritten Speicher (30), Mittel (604; Fig. 19) zum Abrufen derjenigen Gruppe erster Adressendaten aus dem zweiten Speicher (12 A, 12 B, 13 A, 13 B), die dem abgerufenen zweiten Adressendatenwert entspricht, und Mittel (205, 203; Fig. 4a) zum selektiven Abrufen der digitalen Sprachdaten aus dem ersten Speicher (202; Fig. 4a) entsprechend der abgerufenen Gruppe erster Adressendaten aus dem zweiten Speicher (12 A, 12 B, 13 A, 13 B) enthält, und daß die Sprachsyntheseschaltung (10) die selektiv abgerufenen digitalen Sprachdaten aus dem ersten Speicher (202) zum Umsetzen in hörbare menschliche Sprache empfängt.
4. Sprachsyntheseanordnung nach Anspruch 3, dadurch gekennzeichnet, daß die Mittel zum Abrufen der zweiten Adressendaten Mittel zum wahlfreien Auswählen eines zweiten Adressendatenwerts enthalten.
5. Sprachsyntheseanordnung nach Anspruch 3 oder 4, gekennzeichnet durch Mittel (11; Fig. 3) zum Feststellen eines Betriebsbeginns, wobei die Mittel zum Abrufen eines zweiten Adressendatenwerts abhängig von den Mitteln zum Feststellen des Betriebsbeginns arbeiten.
6. Sprachsyntheseanordnung nach Anspruch 3 oder 4, gekennzeichnet durch eine Bedienereingabevorrichtung (3; Fig. 3) zum Empfangen einer Bedienereingabe, wobei die Mittel zum Abrufen eines zweiten Adressendatenwerts abhängig von der Bedienereingabevorrichtung arbeiten.
7. Sprachsyntheseanordnung nach einem der Ansprüche 2 bis 6, dadurch gekennzeichnet, daß eine Eingabevorrichtung (205; Fig. 4a) vorgesehen ist, die zwischen den ersten und den zweiten Speicher (202 bzw. 12 A, 12 B, 13 A, 13 B) eingefügt ist und ausgewählte Gruppen erster Adressendaten aus dem zweiten Speicher (12 A, 12 B, 13 A, 13 B) als verschlüsselte Sprachdaten in jeweiligen Datenrahmen mit variabler Länge empfängt, wobei die Datenrahmen mit variabler Länge codierte Sprachparameter mit variabler Länge enthalten, die die Tonhöhe, die Energie und Filterkoeffizienten repräsentieren, daß die Sprachsyntheseschaltung (10) in selektiver Weise digitale Sprachdaten aus dem ersten Speicher (202) in Abhängigkeit von einem Zugriff auf eine ausgewählte Gruppe erster Adressendaten aus dem zweiten Speicher (12 A, 12 B, 13 A, 13 B) gemäß dem Empfang durch die Eingabevorrichtung (205) empfängt, daß die Steuervorrichtung (11) auch mit der Eingabevorrichtung (205) wirkungsmäßig gekoppelt ist und daß die mehreren zweiten Adressendaten, die in dem dritten Speicher (30) der Steuervorrichtung (11) gespeichert sind, zweite verschlüsselte Sprachdaten umfassen.
8. Sprachsyntheseanordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß wenigstens ein Adressenplatz im ersten Speicher (202) mehreren ersten Adressendaten entspricht.
9. Sprachsyntheseanordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß jede Gruppe der ersten Adressendaten im zweiten Speicher (12 A, 12 B, 13 A, 13 B) mehrere aus mehreren Feldern gebildete Datenrahmen enthält, wobei jedes Feld der Datenrahmen aus ersten Adressendaten zusammengesetzt ist.
10. Sprachsyntheseanordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die mehreren digitalen Sprachdaten im ersten Speicher (202) digitale Sprachdaten enthalten, die die Tonhöhe, die Energie und Reflexionskoeffizienten repräsentieren.
DE2954413A 1978-04-28 1979-04-27 Expired DE2954413C2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US90139578A 1978-04-28 1978-04-28
US05/901,394 US4189779A (en) 1978-04-28 1978-04-28 Parameter interpolator for speech synthesis circuit
US05/901,392 US4304964A (en) 1978-04-28 1978-04-28 Variable frame length data converter for a speech synthesis circuit
US05/901,393 US4209836A (en) 1977-06-17 1978-04-28 Speech synthesis integrated circuit device

Publications (1)

Publication Number Publication Date
DE2954413C2 true DE2954413C2 (de) 1989-12-14

Family

ID=27505989

Family Applications (4)

Application Number Title Priority Date Filing Date
DE2954377A Expired DE2954377C2 (de) 1978-04-28 1979-04-27
DE2954378A Expired - Lifetime DE2954378C2 (de) 1978-04-28 1979-04-27
DE19792917161 Granted DE2917161A1 (de) 1978-04-28 1979-04-27 Elektronisches lernhilfegeraet
DE2954413A Expired DE2954413C2 (de) 1978-04-28 1979-04-27

Family Applications Before (3)

Application Number Title Priority Date Filing Date
DE2954377A Expired DE2954377C2 (de) 1978-04-28 1979-04-27
DE2954378A Expired - Lifetime DE2954378C2 (de) 1978-04-28 1979-04-27
DE19792917161 Granted DE2917161A1 (de) 1978-04-28 1979-04-27 Elektronisches lernhilfegeraet

Country Status (6)

Country Link
BR (1) BR7902621A (de)
DE (4) DE2954377C2 (de)
FR (2) FR2439449B1 (de)
GB (2) GB2020077B (de)
HK (6) HK14087A (de)
IT (1) IT1164126B (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2484682B1 (fr) * 1979-05-07 1986-10-17 Texas Instruments Inc Synthetiseur de parole
US4304965A (en) * 1979-05-29 1981-12-08 Texas Instruments Incorporated Data converter for a speech synthesizer
EP0164677B1 (de) * 1980-02-04 1989-10-18 Texas Instruments Incorporated Vorrichtung zur Sprachsynthese
EP0036559A1 (de) * 1980-03-26 1981-09-30 Texas Instruments Incorporated Elektronisches Leselerngerät
US4464118A (en) * 1980-06-19 1984-08-07 Texas Instruments Incorporated Didactic device to improve penmanship and drawing skills
JPS579480A (en) * 1980-06-19 1982-01-18 Nintendo Co Ltd Figure displaying game device
US4403965A (en) * 1980-10-01 1983-09-13 Texas Instruments Incorporated Electronic teaching apparatus
GB2137398B (en) * 1983-02-01 1986-11-05 Mitsubishi Electric Corp Language teaching device
DE3640405A1 (de) * 1986-11-26 1988-06-09 Thomson Brandt Gmbh Aufzeichnungs- und wiedergabegeraet mit einem speicher
GB2207027B (en) * 1987-07-15 1992-01-08 Matsushita Electric Works Ltd Voice encoding and composing system
USRE36028E (en) * 1988-09-28 1999-01-05 Deesen; Kenneth C. Computer assisted coaching method
US5100329A (en) * 1990-06-22 1992-03-31 Deesen Kenneth C Computer assisted coaching method
US4959017A (en) * 1989-02-15 1990-09-25 Tutor Toys, Inc. Electronic learning device for teaching how to handle money
US5188533B1 (en) * 1990-06-01 1997-09-09 Leapfrog Rbt Llc Speech synthesizing indicia for interactive learning

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2115258B2 (de) * 1970-10-30 1973-06-07 Western Electric Co Ine , New York, NY (V St A) Verfahren und anordnung zur sprachsynthese aus darstellungen von individuell gesprochenen woertern
US3934233A (en) * 1973-09-24 1976-01-20 Texas Instruments Incorporated Read-only-memory for electronic calculator
US4005293A (en) * 1974-11-29 1977-01-25 Texas Instruments Incorporated Pushbutton keyboard switch assembly having individual concave-convex contacts integrally attached to conductor strips
US4064554A (en) * 1976-08-16 1977-12-20 Texas Instruments Incorporated Microcomputer with code conversion
US4074355A (en) * 1976-08-16 1978-02-14 Texas Instruments Incorporated Digital microprocessor system with shared decode
DE2826570A1 (de) * 1977-06-17 1979-01-04 Texas Instruments Inc Digitales filter sowie anordnung und verfahren zur sprachsynthese unter verwendung eines solchen filters

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3371321A (en) * 1965-04-15 1968-02-27 Ibm Tutorial system
US4060848A (en) * 1970-12-28 1977-11-29 Gilbert Peter Hyatt Electronic calculator system having audio messages for operator interaction
DE2435654C2 (de) 1974-07-24 1983-11-17 Gretag AG, 8105 Regensdorf, Zürich Verfahren und Vorrichtung zur Analyse und Synthese von menschlicher Sprache
DE2525025C3 (de) * 1975-06-05 1981-01-29 Telefonbau Und Normalzeit Gmbh, 6000 Frankfurt Schaltungsanordnung zur Ausgabe akustischer Auskünfte
US4058676A (en) 1975-07-07 1977-11-15 International Communication Sciences Speech analysis and synthesis system
US4022974A (en) * 1976-06-03 1977-05-10 Bell Telephone Laboratories, Incorporated Adaptive linear prediction speech synthesizer
BG24190A1 (en) 1976-09-08 1978-01-10 Antonov Method of synthesis of speech and device for effecting same

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2115258B2 (de) * 1970-10-30 1973-06-07 Western Electric Co Ine , New York, NY (V St A) Verfahren und anordnung zur sprachsynthese aus darstellungen von individuell gesprochenen woertern
US3934233A (en) * 1973-09-24 1976-01-20 Texas Instruments Incorporated Read-only-memory for electronic calculator
US4005293A (en) * 1974-11-29 1977-01-25 Texas Instruments Incorporated Pushbutton keyboard switch assembly having individual concave-convex contacts integrally attached to conductor strips
US4064554A (en) * 1976-08-16 1977-12-20 Texas Instruments Incorporated Microcomputer with code conversion
US4074355A (en) * 1976-08-16 1978-02-14 Texas Instruments Incorporated Digital microprocessor system with shared decode
DE2826570A1 (de) * 1977-06-17 1979-01-04 Texas Instruments Inc Digitales filter sowie anordnung und verfahren zur sprachsynthese unter verwendung eines solchen filters

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LÖBEL, MÜLLER, SCHMID, Lexikon der Datenverarbeitung, 4. Aufl., München, Verlag Moderne Industrie, 1969, S. 1-5, 32,33 *
Theory and Application of Digital Signal Processing, Prentice-Hall, 1975, S. 517-518 *

Also Published As

Publication number Publication date
DE2917161C2 (de) 1987-03-19
GB2077018A (en) 1981-12-09
DE2954377C2 (de) 1988-11-03
IT7948871A0 (it) 1979-04-27
DE2917161A1 (de) 1979-11-29
HK13887A (en) 1987-02-20
IT1164126B (it) 1987-04-08
FR2439449B1 (fr) 1987-01-30
HK13587A (en) 1987-02-20
GB2020077A (en) 1979-11-07
BR7902621A (pt) 1979-10-30
DE2954378C2 (de) 1990-08-16
GB2020077B (en) 1983-01-12
HK14087A (en) 1987-02-20
HK13787A (en) 1987-02-20
HK13987A (en) 1987-02-20
FR2439449A1 (fr) 1980-05-16
FR2443114A1 (fr) 1980-06-27
HK13687A (en) 1987-02-20
GB2077018B (en) 1983-02-23

Similar Documents

Publication Publication Date Title
DE2954413C2 (de)
DE2504627C2 (de) Autonomes Datenverarbeitungsgerät
DE3317325C2 (de)
DE1497696B2 (de) Schaltungsanordnung fuer ein lerngeraet
DE2715497A1 (de) Multiprozessorsystem fuer die steuerung des arbeitszyklusses einer maschine
DE3047251A1 (de) Rechner
DE2926322C2 (de) Speicher-Subsystem
DE2452498A1 (de) Verfahren und vorrichtung zur erzeugung von zeichenmustern
DE2946856C2 (de) Wortspeichergerät
DE3232600A1 (de) Zeitmultiplexschaltmatrix
DE2604238A1 (de) Fluessigkristallanzeigeeinrichtung
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE69232964T2 (de) Informationsansageeinrichtung
DE2213953C3 (de) Schaltungsanordnung zum Darstellen von Zeichen auf dem Bildschirm eines Sichtgerätes
DE2744321A1 (de) Bildschirmgeraet
DE3041970A1 (de) Elektronisches geraet mit datenausgabe in syntheisierter sprache
DE2558362A1 (de) Bildanzeigegeraet
DE1799012C3 (de) Registereinrichtung zur Erleichterung des Wechsels von Teilprogrammen und Teilprogrammschritten in einem elektronischen Rechner
DE3104880A1 (de) "speicher fuer wahlfreien zugriff"
DE3147534A1 (de) Steuerungsanordnung fuer die huellkurve eines musiksignals und elektronische uhr zum erzeugen einer bestimmten melodie zu einem bestimmten zeitpunkt
DE1537421B2 (de)
DE3017517C2 (de)
DE2265696C2 (de) Rechenanordnung
DE1499237A1 (de) Verfahren und Vorrichtung zur Binaer-Dezimal-Umwandlung
DE3239171C2 (de) Integrierte Schaltung für ein elektronisches Gerät zur Datenverarbeitung mit einer Tongeneratoreinrichtung

Legal Events

Date Code Title Description
Q172 Divided out of (supplement):

Ref country code: DE

Ref document number: 2917161

8181 Inventor (new situation)

Free format text: BREEDLOVE, PAUL S., PLANO, TEX., US BRANTINGHAM, GEORGE L. MOORE, JAMES H., LUBBOCK, TEX., US WIGGINS JR., RICHARD H., DALLAS, TEX., US

8110 Request for examination paragraph 44
AC Divided out of

Ref country code: DE

Ref document number: 2917161

Format of ref document f/p: P

D2 Grant after examination
8364 No opposition during term of opposition