DE2954378C2 - - Google Patents

Info

Publication number
DE2954378C2
DE2954378C2 DE2954378A DE2954378A DE2954378C2 DE 2954378 C2 DE2954378 C2 DE 2954378C2 DE 2954378 A DE2954378 A DE 2954378A DE 2954378 A DE2954378 A DE 2954378A DE 2954378 C2 DE2954378 C2 DE 2954378C2
Authority
DE
Germany
Prior art keywords
circuit
speech
digital
signals
parameter
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 - Lifetime
Application number
DE2954378A
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,393 external-priority patent/US4209836A/en
Priority claimed from US05/901,394 external-priority patent/US4189779A/en
Priority claimed from US05/901,392 external-priority patent/US4304964A/en
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Application granted granted Critical
Publication of DE2954378C2 publication Critical patent/DE2954378C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Electrically Operated Instructional Devices (AREA)

Description

Die Erfindung bezieht sich auf eine Anordnung zur Erzeugung synthetischer menschlicher Sprache gemäß dem Oberbegriff des Patentanspruchs 1.
Eine solche Anordnung ist aus der DE-OS 24 35 654 bekannt. Bei dieser bekannten Anordnung handelt es sich um ein Sprachvocodersystem mit einem Sprachanalyseabschnitt und einem Sprachsyntheseabschnitt. Der Sprachsyntheseabschnitt empfängt über einen Übertragungskanal verschlüsselte Sprachdaten aus dem Sprachanalyseabschnitt. Ein Decodierer im Sprachsyntheseabschnitt decodiert die verschlüsselten Sprachdaten, und er führt die decodierten Sprachdaten einer Impuls/Rausch- Quelle und einem Vokaltraktmodell zu, das einen Multiplizierer enthalten kann. Im Vocoder-System der genannten Art wird eine Folge codierter digitaler Sprachdaten verarbeitet, die nicht aus einem Speicher entnommen werden. Insbesondere sind die zu verarbeitenden Daten, die aus dem Analyseabschnitt kommen, nicht für einen wiederholten Gebrauch entsprechend dem Bedarf bei der Erzeugung der synthetischen menschlichen Sprache bestimmt. Ein Vocoder-System der geschilderten Art erfordert einen relativ hohen Schaltungsaufwand, insbesondere dann, wenn die erzeugte Sprache eine gute Verständlichkeit haben soll.
Aus "Elektronik 1977", Heft 9, Seiten 44 bis 48 ist ein Sprachgenerator bekannt, bei dem zwischen Sprachdatenquellen und einem Sprachsyntheseabschnitt ein Pufferspeicher eingefügt ist. Eine der Sprachdatenquellen ist dabei ein Computer oder Mikroprozessor. Es ist nicht erkennbar, daß der Computer oder der Mikroprozessor dazu eingesetzt werden soll, in ausgewählter Weise Abschnitte mehrerer digitaler Werte, die in einem Speicher gespeichert sind, zu adressieren und die adressierten Werte dann so zu verarbeiten, daß eine gut verständliche menschliche Sprache erzeugt wird.
Im "Lexikon der Datenverarbeitung", 4. Aufl., München, Verlag Moderne Industrie, 1969, Seiten 1 bis 5, 32, 33 ist eine Indexzugriffsmethode beschrieben, die im wesentlichen die Anwendung von Nachschlagelisten betrifft, mit deren Hilfe mittels einer relativ kurzen Codegruppe, die einen Speicherplatz identifiziert, ein relativ großer Datenblock, der im Speicher gespeichert ist, zur Weiterverarbeitung zur Verfügung gestellt werden kann. Wie diese Indexzugriffsmethode mit einem Sprachsyntheseabschnitt in einer Anordnung zur Erzeugung synthetischer menschlicher Sprache eingesetzt werden könnte, geht aus der genannten Literaturstelle nicht hervor; es fehlt insbesondere jeder Zusammenhang mit der Sprachsynthese.
Aus der DE-OS 25 25 025 ist eine Schaltungsanordnung zur Ausgabe akustischer Auskünfte bekannt, bei der zur Speicherung von Sprachdaten ein Speicher mit wahlfreiem Zugriff anstelle eines Festspeichers verwendet wird. Es sind mehrere Sprachspeicher vorgesehen, die in einer vorbestimmten zeitlichen Ablauffolge zyklisch eingesetzt werden, wobei in jedem der Sprachspeicher eine Teilinformation der zu erzeugenden Wörter in digitaler Form abgespeichert ist. Die Teilinformationen werden je nach Bedarf über eine Multiplexverbindung an Sprachausgangskanäle angelegt und dadurch zu den zu erzeugenden Wörtern zusammengesetzt.
Der Erfindung liegt die Aufgabe zugrunde, eine Anordnung zur Erzeugung synthetischer menschlicher Sprache zu schaffen, die für die Verwendung in kostengünstig anzubietenden sprechenden Lernhilfegeräten für Kinder bestimmt ist und wegen dieses Anwendungsfalls möglichst wirtschaftlich herstellbar sein muß, ohne daß dadurch die Verständlichkeit der erzeugten Sprache leidet.
Diese Aufgabe wird mit den im Kennzeichen des Patentanspruchs 1 angegebenen Merkmalen gelöst.
Die erfindungsgemäße Anordnung benötigt nur wenige Grundkomponenten, was eine kostengünstige Herstellung für den speziellen Anwendungsbereich ermöglicht. Anwendungsbeispiele sind sprechende Taschenrechner oder auch Geräte, in denen Bibliotheken von Wörtern abgespeichert sind und die zur Schulung der Rechtschreibfähigkeit von Kindern und Jugendlichen herangezogen werden können.
Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
Die Erfindung wird nun anhand der Zeichnung beispielshalber erläutert. Es zeigt
Fig. 1 eine Vorderansicht eines sprechenden Lernhilfegeräts, das die erfindungsgemäße Anordnung enthält,
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 Sprachsyntheseanordnung 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 des Parameterinterpolators,
Fig. 10a und 10b ein zusammengesetztes Logikschaltbild der Multipliziereinheit,
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 Steuervorrichtung 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 ein 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 einer 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 zwei 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ählen Wortliste aus. Die Wortliste kann geändert werden, indem die Taste "Wortlistenauswahl" gedrückt wird, die mit einer 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 Segment D in der Anzeigevorrichtung 2 (Fig. 2). An diesem Zeitpunkt 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 "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 Zeichenpositionen erregt 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 Lernhilfegerä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 Codeknackerbetrieb 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 Steuervorrichtung 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 Steuervorrichtung 11 ist ebenfalls als eine eigene integrierte Schaltung ausgeführt, die in Fig. 3 als ein Block 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 Sprachsyntheseschaltung 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 262 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 Speicherkapazitä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 dargestellt, 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 Steuervorrichtung 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 Zeichenpositionsinformationen anlegt. Im hier beschriebenen Ausführungsbeispiel liefert die Steuervorrichtung 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 Steuervorrichtung 11 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 bei 3 vorhandene Schalter genauer dargestellt. Zusätzlich zur Betätigung der Anzeigevorrichtung 2 und zur Feststellung gedrückter Tasten am Tastenfeld 3 hat die Steuervorrichtung 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 Steuervorrichtung 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 1 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 Steuervorrichtung 11 für die gleichzeitige Informationsübertragung zu mehreren Festspeichern dimensioniert werden; in gewissen Ausführungsformen kann es daher erwünscht sein, die Steuervorrichtung 11 direkt mit den Festspeichern zu verbinden.
Wie noch zu erkennen sein wird, erzeugt die Sprachsyntheseschaltung 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-PS 28 26 570 beschrieben ist. Bei der nachfolgenden Erläuterung der Sprachsyntheseschaltung wird angenommen, daß der Leser die Arbeitsweise dieses bekannten Filters grundsätzlich versteht. Der Leser wird daher angeregt, vor dem Einstieg in die nachfolgende genaue Erläuterung der Sprachsyntheseschaltung die erwähnte DE-PS 28 26 570 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 Frequenzsyntheseschaltung
Die Fig. 4a und 4b bilden zusammen das Blockschaltbild der Frequenzsyntheseschaltung 10. 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 Festspeichern 12 A und 12 B und mit der Steuervorrichtung 11. Im vorliegenden Ausführungsbeispiel sind die Steueranschlußstifte 1 bis 8 (CTL 1 bis CTL 8), 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 (ADD 1 bis ADD 8) und die Befehlsanschlußstifte 0, 1 (I 0, I 1) 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 Steuervorrichtung 11 an die Festspeicher 12 A, 12 B, und sie überträgt vorzugsweise digitale Informationen von den Festspeichern wieder zur Steuervorrichtung 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 Prozessordatensignal (PDC) bewirkt das Setzen des Befehlshalteglieds 210, so daß es die an den Anschlußstiften CTL 1 bis CTL 4 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 Sprachsyntheseschaltung auf Null; ein Testsprechbefehl (TTALK), mit dem die Steuervorrichtung 11 feststellen kann, ob die Sprachsyntheseschaltung immer noch spricht, ein Adressenladebefehl (LA), bei dem vier Bits aus der Steuervorrichtung 11 an den Anschlußstiften CTL 1 bis CTL 8 empfangen und als Adressenzahl an die Festspeicher über die Anschlußstifte ADD 1 bis ADD 8 und die zugehörigen Puffer 214 ü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 ADD 1 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 Steuervorrichtung 11 über die Puffer 213 und die Anschlußstifte CTL 1 bis CTL 8 bewirkt. Sobald die Sprachsyntheseschaltung 10 begonnen hat, als Antwort auf einen Sprechbefehl SPK oder einen Langsamsprechbefehl SPKSLOW zu sprechen, 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 abhä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 I 0, I 1 in den Festspeicher übertragen.
Das Prozessordatentaktsignal PDC hat nicht nur den Zweck, das Befehlshalteglied 210 mit den Daten an den Anschlußstiften CTL 1 bis CTL 4 einzustellen. Es meldet, daß eine Adresse über die Anschlußstifte CTL 1 bis CTL 8 ü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 CTL 8 ausgegeben werden soll. Zwei dem Befehlsdecodierer 211 zugeordnete Halteglieder 218 A und 218 B (Fig. 7a, 7b) machen diesen Befehlsdecodierer 211 unwirksam, wenn der Adressenladebefehl LA, der Sprechtestbefehl TTALK und der Ausgabebefehl OUTPUT decodiert worden sind und im Anschluß daran ein Prozessordatentaktsignal PDC auftritt, so daß sie dann an den Anschlußstiften CTL 1 bis CTL 8 anliegenden Daten nicht decodiert 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 Sprachsyntheseschaltung 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 ADD 1 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 aus 3 bis 6 Bits über das Parametereingaberegister 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-Stapelspeicher 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 der Multipliziereinheit 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-Stapelspeicher 302, die E 10-Schleife 304 oder in das Tonhöhenregister 305 eingegeben, sondern der entsprechende Wert im K-Stapelspeicher 302, in der E 10-Schleife oder im Tonhöhenregister 305 durchläuft acht Interpolationszyklen, in denen ein Teil der Differenz zwischen dem derzeitigen Wert im K-Stapelspeicher 302, in der E 10-Schleife 304 oder im Tonhöhenregister 305 und dem Zielwert dieses Parameters im Parameterausgaberegister 201 zum derzeitigen Wert im K-Stapelspeicher 302, in der E 10-Schleife 304 oder im Tonhöhenregister 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 Ausgangssignal 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 Subtraktionsschaltung 308 konstant bleibt. Durch Steuern der Verzögerung der Verzögerungsschaltungen 309 und 311 wird entweder die gesamte aus der Subtraktionsschaltung 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-PS 28 26 570 ist unter Bezugnahme auf deren Fig. 7 ein Sprachsynthesefilter beschrieben, bei dem im K-Stapelspeicher kontinuierlich Sprachkoeffizienten K 1 bis K 9 bis zu ihrer Aktualisierung gespeichert sind, während der Koeffizient K 10 und die Sprachenergie periodisch ausgetauscht werden. Im Parameterinterpolator 23 sind die Sprachkoeffizienten K 1 bis K 9 ebenfalls im K-Stapelspeicher 302 gespeichert, bis sie aktualisiert werden, während der Sprachenergieparameter 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 die Sprachenergieparameter als auch den Koeffizienten K 10, und sie gibt diese Werte abwechselnd in den entsprechenden Speicherplatz im K-Stapelspeicher 302 ein. Das KE 10-Übertragungsregister 303 wird entweder mit dem Koeffizienten K 10 oder mit dem Sprachenergieparameter aus der E 10-Schleife 304 oder dem entsprechenden Sprachkoeffizienten K 1 bis K 9 aus dem K-Stapelspeicher 302 zur Interpolation durch die Schaltungseinheiten 307 bis 311 geladen.
Die Umcodierungslogik 301 führt vorzugsweise mit den Daten aus dem K-Stapelspeicher 302 einen Booth-Algorithmus durch, bevor diese Daten an die Multipliziereinheit 401 angelegt werden. Die Umcodierungslogik 301 möglicht daher eine Verkleinerung des Multiplizierers 401 im Vergleich zu der in der DE-PS 28 26 570 beschriebenen Multipliziereinheit.
Filter- und Anregungsgenerator
Der Filter- und Anregungsgenerator 24 enthält die Multipliziereinheit 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 Multiplizier-Multiplexer 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 Multiplizier-Multiplexers 415 verbunden, der auch mit der Beschneidungslogik 425 verbunden ist. Der Ausgang des Multiplizier-Multiplexers 415 ist mit einem Eingang der Multipliziereinheit 401 verbunden. Der Filter- und Anregungsgenerator 24 macht von einem Gitterfilter Gebrauch, wie es in der DE-PS 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-PS 28 26 570 überein; die Multipliziereinheit 401 entspricht also dem Element 30′, der Summiermultiplexer 402 entspricht den Elementen 37 b′, 37 c′ und 37 d′, 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 Multiplizier- Multiplexer 415 entspricht den Elementen 38 a′, 38 b′, 38 c′ und 38 d′.
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 Parametereingaberegister 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öhenregister 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-PS 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-Additionsschaltung 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 einen 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-PS 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 der Numerierung 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-PS 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 bis PC = 12 vorhanden. Die ersten 12 Signale PC = 0 bis PC = 11 entsprechen dem Zeitpunkt, an denen der Sprachenergieparameter, der Tonhöhenparameter und die K 1-K 10-Parameter im Parameterausgaberegister 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 Parameterzahlsignals wird der Zielwert aus dem Parameterausgaberegister 201 mit dem vorhandenen Wert im K-Stapel 302 im Parameterinterpolator 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-Stapelspeicher oder die E 10-Schleife oder das Tonhöhenregister eingegeben. Das 13te 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. Dies ist in Fig. 5 bei den Bezugszeichen 502 zu erkennen, wo die Signale DIV 1, DIV 2, DIV 4 und DIV 8 dargestellt sind. Diese Zeitsteuersignale treten während spezieller Interpolationszahlen (IC) auf, wie aus der Darstellung zu erkennen ist. Es gibt acht derartige Interpolationszahlen IC 0 bis IC 7. Die Eingabe neuer Daten aus den Festspeichern 12 A, 12 B in die Sprachsyntheseschaltung erfolgt im Verlauf der Interpolationszahl IC 0. Diese neuen Parameterzielwerte werden dann während der nächsten acht Interpolationszahlen IC 1 bis IC 0 benutzt; die vorhandenen Parameter im Tonhöhenregister 305, im K-Stapelspeicher 302 und in der E 10-Schleife 304 werden einmal im Verlauf jeder Interpolationszahl interpoliert. Bei der letzten Interpolationszahl IC 0 erreicht der derzeitige Wert der Parameter im Tonhöhenregister 305, im K-Stapelspeicher 302 und in der E 10- Schleife 304 schließlich den zuvor bei der letzten Interpolationszahl IC 0 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 DIV 8 entspricht den Interpolationszahlen, in deren Verlauf ein Achtel der von der Subtraktionsschaltung 308 erzeugten Differenz in der Addierschaltung 310 zu den derzeit vorhandenen Werten addiert wird, während im Verlauf des Signals DIV 4 ein Viertel der Differenz addiert wird, usw. Im Verlauf des Signals DIV 2 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 DIV 1 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ß diese angewendeten Sprachkompressionsverfahren im Vergleich zur Anwendung der Daten in unkomprimierter Form keine merkliche Verschlechterung der dadurch erzeugten Sprache zur Folge haben.
Das angewendete 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 resierviert.
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 andrerseits 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 Wiederholungsbits 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 Auswirkung 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 decodierten Sprachparameter sind im Festspeicher 203 gespeichert. In der Tabelle V ist das Wiederholungsbit zwischen dem Tonhöhenparameter und den K-Parametern 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 verwirklicht 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 0 V 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 Zä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 Eingangsabschnitt eines programmierbaren Zeitsteuerfeldes (PLA) 511 eingegeben. Die von dem programmierbaren Zeitsteuerfeld 511 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 3 A-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-Stapelspeicher 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-Stapelspeicher 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 PC 1 bis PC 4 in binärer Form die bestimmte Parameterzahl, in der die Sprachsyntheseschaltung arbeitet. Das Ausgangssignal PC 0 zeigt an, in welchem Zyklus, A oder B, die Parameterzahl sich befindet. Die Ausgangssignale PC 1 bis PC 4 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 = 1, 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 verschiedenen T-Zeitperioden entsprechend der bestimmten Parameterzahl im Parameterzähler 513 stattfindet, damit sichergestellt wird, daß der passende Parameter aus dem KE 10-Übertragungsregister 303 ausgegeben wird. Das Parameterladesignal LDP wird im Zusammenhang mit dem Parametereingaberegister 205 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 DIV 1, DIV 2, DIV 4 und DIV 8, 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 DIV 1 bis DIV 8 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 DD 8 angeschlossen. Das Parametereingaberegister 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, PC 0 und DIV 1 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 PC 0) der entsprechenden Parameterzahl und einer entsprechenden T-Zeitperiode (gesteuert durch das Signal LDP) von IC 0, (gesteuert durch DIV 1) 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 IN 0 bis IN 4 in den Schreib/ Lese-Speicher 203 eingegeben, der von den Signalen PC 1 bis PC 4 adressiert wird, damit angezeigt wird, welcher codierte Parameter abgespeichert ist. Der Inhalt des Parametereingaberegisters 205 wird von dem auf die Signalwerte "1" ansprechenden Verknüpfungsglied 207, von dem auf die Signalwerte "0" ansprechenden Sprachhalteglied 206 und vom Wiederholungshalteglied 208 a getestet. Wie zu erkennen ist, prüft das Sprachhalteglied 206, ob alle vier niedrigstwertigen Bits des Parametereingaberegisters 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 PC 0, DIV 1, 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 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 Sprachhalteglied 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 Sprachhalteglieds 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 Vergleichsschaltungen 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-Stapelspeicher 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 97330 00070 552 001000280000000200012000285919721900040 0002002954378 00004 97211 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 das Befehlshalteglied 210 dargestellt, das aus drei einzelnen Haltegliedern 210 a, 210 b und 210 c zusammengesetzt ist, und die Daten an den Eingängen CTL 2, CTL 4 und CTL 8 als Reaktion auf ein Prozessordaten-Taktsignal PDC und ein Chipwählsignal CS festhält. Der Inhalt des Befehlshalteglieds 210 wird von einem Befehlsdecodierer 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 Befehlsdecodierer 211 daran gehindert wird, die an den Eingängen CTL 2 bis CTL 8 anliegenden Daten zu decodieren, wenn anschließend PDC- 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 CTL 1 ü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 andrerseits ein Signal mit dem Binärwert "1" ab, wenn eine Ausgabe-Codegruppe festgestellt worden ist, wodurch das Halteglied 228 a gesetzt und der Anschluß CTL 1 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 ADD 8 in das Dateneingaberegister 212 geschoben. Die Ausgabe der Befehle RE, RB und LA zum Festspeicher erfolgt über die Befehlsanschlußstifte I₀ bis I₁ aus der ROM-Steuerlogik 217 über die Puffer 214 c. Der Inhalt des Dateneingaberegisters 212 wird über Puffer 213 zu den Anschlußstiften CTL 1 bis CTL 4 und zu dem oben bereits erwähnten Anschlußstift CTL 1 über den Puffer 228 ausgegeben, wenn das NOR-Glied 227 b ein Signal mit dem Wert "1" eingibt. Die Anschlußstifte CTL 1 bis CTL 4 sind über Puffer 214 a mit den Adressenanschlußstiften ADD 1 bis ADD 4 verbunden, und der Anschlußstift CTL 8 ist mit dem Adressenanschlußstift ADD 8 über einen Puffer 214 b verbunden, der gesperrt wird, wenn vom Signal an der Leitung 231 an den Adressenanschlußstiften ADD 1 bis ADD 8 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 Sprachhalteglied 215 a erzeugt. Das Sprachhalteglied 216 b wird abhängig von einer im Sprechfreigabesignal während IC 7 unter der Steuerung durch das Verknüpfungsglied 225 gesetzt. Die Halteglieder 216 a und 216 b werden von folgenden Signalen rückgesetzt: (1) von einem decodierten Rücksetzbefehlssignal, (2) von einer Codegruppe "Energie = 15" oder (3) von einem Einschaltlöschsignal vom Verknüpfungsglied 232. Das Sprachhalteglied 216 c wird beim folgenden Interpolationszyklus IC 7 mit dem Inhalt des Sprachhalteglieds 216 b gesetzt, und es hält diese Daten während acht Interpolationszyklen fest. Wie zuvor erwähnt wurde, ermöglicht das Sprachhalteglied 216 c der Sprachsyntheseschaltung 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 Sprachhalteglied 215 aus drei einzelnen Haltegliedern 215 a, 215 b und 216 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 freigeben, wie die Halteglieder 216 b und 216 c die Erzeugung des Signals TALKD freigeben.
Es seien nun kurz die zeitlichen Vorgänge bei der Eingabe von Daten in das Parametereingaberegister 205 betrachtet, wobei daran erinnert sei, daß dieser Vorgang hauptsächlich von dem als Halteglied wirkenden Verknüpfungsglied 220 in Abhängigkeit vom Zustand des 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 PC 0 und DIV 1 gewährleisten, daß die Parameter während des A-Zyklus einer bestimmten Parameterzahl während des Interpolationszyklus IC 0 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 Zeitsteuerfeldes 511 erscheint das Parameterladesignal LDP in der Zeitperiode T 1, wenn die entsprechende Parameterzahl anzeigt, daß ein 6-Bit-Parameter eingegeben werden soll. Andrerseits 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 ROM-Steuerlogik 217 Informationen aus dem Halteglied 221 zuführt.
Parameterinterpolationsschaltung
Die Fig. 9a und 9b zeigen zusammen ein Schaltbild des Parameterinterpolators 23. Der K-Stapelspeicher 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-Stapelspeicher 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-PS 28 26 570 beschriebenen Sprachsyntheseschaltung. Die an verschiedenen Zeitperioden aus dem K-Stapelspeicher 302 zur Umcodierungslogik 301 ausgegebenen Daten sind in der Tabelle VII dargestellt. In der Tabelle III der DE-PS 28 26 570 sind die vom K-Stapelspeicher von Fig. 7 dieser Patentanmeldung ausgegebenen Daten dargestellt. Die vorliegende Tabelle VII unterscheidet sich von der Tabelle III der erwähnten Patentschrift, (1) weil die Umcodierungslogik 301 die gleichen Koeffizienten an den Leitungen 32-1 bis 32-4, an den Leitungen 32-5 und 32-6, an den Leitungen 32-7 und 32-8 und an den Leitungen 32-9 und 32-10 empfängt, da sie auf zwei Informationsbits für jedes Bit anspricht, auf das die Multipliziereinheit 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-Stapelspeicher 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 der fünfstufigen Multipliziereinheit 401 Ausgangssignale und ab, eine Ausnahme bildet dabei die Stufe 0, die nur die Ausgangssignale und empfängt. Die Umcodierungslogik 301 ermöglicht der Multipliziereinheit, 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-Stapelspeicher 302 aufweisen. Der entsprechende Parameter, entweder der Energieparameter oder der K 10-Koeffizient wird über Steuerglieder 315, die abhängig von einem NOR-Glied 316 arbeiten, aus der E 10-Schleife 304 zum K-Stapelspeicher 302 übertragen, wodurch der Energieparameter aus der E 10- Schleife 304 in der Zeitperiode T 10 zum K-Stapelspeicher 302 übertragen wird, während der K 10-Koeffizient in der Zeitperiode T 20 aus der E 10-Schleife 304 in den K-Stapelspeicher 302 übertragen wird. Das NOR-Glied 316 steuert auch das Umlauf-Steuerglied 315 in der Weise, daß der Umlauf im K-Stapelspeicher 302 gespeichert wird, wenn Daten übertragen werden.
Das KE 10-Übertragungsregister 303 erleichtert die Übertragung des Energieparameters oder der Sprachkoeffizienten K 1 bis K 10, die in der E 10-Schleife 304 oder im K-Stapelspeicher 302 gespeichert sind, über die Wählschaltung 307 in die Addierschaltung 308 und die Verzögerungsschaltung 309. Das Übertragungsregister 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 progammierbaren Zeitsteuerfeldes 511 (Fig. 7a und 7b) erzeugt. Da der zu interpolierende und in das Übertragungsregister 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-Stapelspeicher 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 TE 10, das das Zeitsteuerfeld 511 erzeugt, über die Verknüpfungsglieder 319 aus der E 10-Schleife 304 in das Übertragungsregister 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-Stapelspeicher 302 übertragen, wobei an diesem Zeitpunkt die Umlauf-Verknüpfungsglieder 314 von den Steuergliedern 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 Tonhöhenregister 305 um, ausgenommen dann, wenn an der Leitung 320 unter der Steuerung durch die Tonhöhenlogik 306 ein gerade interpolierter Tonhöhenparameter geliefert wird. Das Ausgangssignal PT 0 des Tonhöhenregisters 305 oder das Ausgangssignal des Übertragungsregisters 303 wird von der Wählschaltung 307 an das Verknüpfungsglied 317 angelegt. Die Wählschaltung 307 wird von der Interpolationssteuerlogik 306 auch so gesteuert, daß im Normalfall das Ausgangssignal des Übertragungsregisters 303 dem Verknüpfungsglied 317 zugeführt wird, ausgenommen dann, wenn die Tonhöhe interpoliert werden soll. Die Tonhöhenlogik 306 steuert auch die Ausgabe des Tonhöhensignals an die Subtraktionsschaltung 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 Tonhöhenregister 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 des A-Abschnitts begonnen werden, und das Signal PC 0 kann an irgendeinem Zeitpunkt während der Übertragung der Information aus dem Übertragungsregister 303 oder dem Tonhöhenregister 305 in die Subtraktionsschaltung 308 oder in die Verzögerungsschaltung 309 auf den Wert "1" umgeschaltet werden; das Verknüpfungsglied 317 wird daher von dem Halteglied 321 gesteuert, das mit dem Signal PC 0 an dem Zeitpunkt gesetzt wird, an dem vom programmierbaren Steuerfeld 511 ein Koeffizientenübertragungssignal TK, ein E 10-Übertragungssignal TE 10 oder ein Tonhöhenübertragungssignal TP erzeugt wird.
Das Ausgangssignal des Verknüpfungsglieds 317 wird an die Subtraktionsschaltung 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 DIV 1 bis DIV 8 ab. Da am Ausgang des Verknüpfungsglieds 317 das niedrigstwertige Bit der Daten zuerst auftritt, wird durch Verzögern der Daten in der Verzögerungsschaltung 309 um einen ausgewählten Betrag und durch Anlegen des Ausgangssignals der Addierschaltung schaltung 310 zusammen mit dem Ausgangssignal der Subtraktionsschaltung 308 erreicht, daß die effektive Größe der Differenz aus der Subtraktionsschaltung 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 309 und 311 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 Subtraktionsschaltung 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 Subtraktionsschaltung 308, wenn das Signal INHIBIT auftritt, außer der Interpolationszähler befindet sich im Stand IC 0, wobei in diesem Fall die derzeitigen Werte im K-Stapelspeicher 302, in der E 10-Schleife 304 und im Tonhöhenregister 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 Übertragungsregisters 303 verbindenden Übertragungsglieder, wobei die Stufen daran gehindert sind, seriell Daten zu verschieben, wenn das Signal TK oder das Signal TE 10 während des A-Zyklus einen hohen Wert annimmt, d. h. wenn das Übertragungsregister 303 Daten entweder vom K-Stapelspeicher 302 oder von der E 10-Schleife 304 empfangen soll, was von den Verknüpfungsgliedern 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 Übertragungsregister 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.
Die Multipliziereinheit
Die Fig. 10a und 10 bilden zusammen das Schaltbild der Multipliziereinheit 401, die von einem Matrixmultiplizierer gebildet ist. Matrixmultiplizierer werden manchmal auch als Pipeline-Multiplizierer bezeichnet.
Die Multipliziereinheit 401 weist fünf Stufen, nämlich die Stufen 0 bis 4, und eine Verzögerungsstufe auf. Die Verzögerungsstufe wird in der Multipliziereinheit 401 dazu verwendet, die gleiche äquivalente Verzögerung wie in der Multipliziereinheit der DE-PS 28 26 570 zu erzielen. Eingangssignale der Multipliziereinheit 401 sind die Signale MR 0 bis MR 13 aus dem Multiplexer 405. Das Signal MR 13 ist das höchstwertige Bit, während das Signal MR 0 das niedrigstwertige Bit ist. Weitere Eingangssignale der Multipliziereinheit sind die zuvor erwähnten Ausgangssignale +2, -2, +1 und -1 aus der Umcodierungslogik 301 (Fig. 8a bis 8c). Die Ausgangssignale der Multipliziereinheit 401, nämlich die Signale P 13 bis P 0 werden an den Summiermultiplexer 402 angelegt. Das niedrigstwertige Bit, das Bit P 0 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.
Die Multipliziereinheit 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 die Multipliziereinheit 401 bilden. Die Blöcke A-1 und A-2 bilden die Stufe 0 der Multipliziereinheit; sie arbeiten abhängig von den Signalen , und aus dem Decodierer 313 sowie abhängig von den Signalen MR 2 bis MR 13. Beim Multiplizieren in der Multipliziereinheit 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 der Multipliziereinheit 401 mit zwei binären Bits arbeitet, werden die mit Σ n bezeichneten Teilsummen um zwei Stellen nach rechts verschoben. Für die Dateneingangssignale MR 0 und MR 1 in der ersten Stufe sind daher keine A-Blöcke vorgesehen. Da jeder Schaltungsblock in der Multipliziereinheit 1 abhängig von zwei Informationsbits auf dem K-Stapelspeicher 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 des Filter- und Anregungsgenerators 24 (nicht der Multipliziereinheit 401) sowie des Ausgabeabschnitts 25. Im Filter- und Anregungsgenerator 24 ist die Summierschaltung 404 enthalten, die so angeschlossen ist, daß sie an einem Eingang das wahre oder das negierte Ausgangssignal der Multipliziereinheit 401 (siehe Fig. 10a und 10b) an den Leitungen P 0 bis P 13 ü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 406 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-PS 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-PS 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 MR 0 bis MR 13 der Multipliziereinheit 401 an. Die Eingangssignale D 0 bis D 13 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 Bits 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 I₁₃ bis I₆ 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-PS 28 26 570 erläutert ist, erfolgt ein Schiebevorgang im Verzögerungsstapel 406, der allgemein dem Schieberegister 35′ von Fig. 7 der genannten DE-Patentschrift entspricht, nur bei gewissen Zeitperioden. Dies wird mit Hilfe der digitalen Schaltungselemente 416 erreicht, die aus den Zeitperiodensignalen T 10 bis T 18 aus der programmierbaren Zeitsteuerlogik 512 (Fig. 7a und 7b) Taktsignale Φ 1 B bis Φ 4 B 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-PS 28 26 570 eine Länge von 8 Bits hat, dieser Unterschied ist deshalb vorhanden, weil der Eingang des Verzögerungsstapels 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-PS 28 26 570 dargestellten Zeitsteuerung modifiziert wäre.
Die im Verzögerungsstapel 406, in der Multipliziereinheit 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 Parametereingaberegister 205 eingegeben werden. Da dies während des Interpolationszyklus IC 0 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 IC 0 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 Zweikomplementdarstellung 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 Zählerhalteglieds 410 wird mit dem Inhalt des Tonhöhenregisters 305 verglichen, damit der Inhalt des Zählerhalteglieds 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 PC 1 bis PC 4 adressiert; die jeweilige Adresse wird in einer programmierbaren Decodiermatrix 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 T 1, DIV 1, PC 0 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 IN 0 bis IN 4 aus dem Parametereingaberegister 205, wie in den Fig. 8a und 8b dargestellt ist, und die Datenausgabe erfolgt an den Leitungen OUT 1 bis OUT 5 in den Parameterfestspeicher 202, wie ebenfalls in den zuvor genannten Figuren dargestellt ist.
Parameter-Festspeicher
In den Fig. 13a und 13b ist das Schaltbild des Parameterfestspeichers 202 dargestellt. Der Parameterfestspeicher 202 ist vorzugsweise ein Parameterfestspeicher mit virtueller Masse, wie er in der US-PS 39 34 233 beschrieben ist. Adresseninformationen aus dem Parameterfestspeicher 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 Abschnitts ist über Negatoren mit dem Parameterausgaberegister 201 verbunden, wie in den Fig. 8a und 8b dargestellt ist. Der X-Decodierer wählt eine von 54X- 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 Parameterfestspeicher 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 Zählerhalteglied 410 (Fig. 11a, 11b), mittels Ausgangsinformationen an Leitungen I₆ bis I₁₁ zum Multiplexer 415 und mittels Informationen an Leitungen IM 1 und IM 2 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 A 0, A 1) arbeitet; ferner enthält er einen X-Decodierer 409 b, der abhängig von der Adresse an den Leitungen bis (und A 2 bis A 5) 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 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 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 I 6 bis I 11, IM 1 und IM 2 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 Beschneidungslogik 425 enthält eine Schaltung zum Umwandeln der an den Leitungen YL 13 bis YL 14 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 YL 13 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 YL 10 bis YL 4 in eine einfache Betragsdarstellung an den Leitungen bis um. Aus Gründen der Klarheit ist nur die der Leitung YL 10 zugeordnete digitale Schaltungs 425 c genauer dargestellt.
Die digitale Schaltung 425 b tastet die YL 12- und YL 11- 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 YL 12 oder das Bit YL 11 den Wert "1" und das Bit YL 13 den Wert "0" haben, was eine positive Größe anzeigt, oder wenn YL 12 oder YL 11 den Wert "0" und YL 13 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 YL 11 und YL 12. 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 Beschneidungslogik 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 angeschlossene 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 Lautsprechers 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 vorzugsweise 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 Transformator, falls dies erwünscht ist, angesteuert werden kann. Einfache Digital- Analog-Umsetzer, wie sie hier beschrieben wurden, können natürlich auch auf anderen Anwendungsgebieten als in Sprachsyntheseschaltungen eingesetzt werden.
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 dadurch 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.
Steuervorrichtung
Die in dem Lernhilfsgerä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 entprechend 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 2⁶ 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 ACC 1 bis ACC 8 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 TD 0 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 Akkumulator-Halteglieder 87-16 und 86-32 mit einem weiteren Übertragungsbefehl TD 0 eingegeben, wenn das Statussignal den Wert "0" hat. Anschließend werden die sechs Bits in den Haltegliedern 87-1 bis 87-32 im Adressencodierer 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 ACC 1 bis ACC 8 über die Anschlußstifte SEG G, SEG B 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 TD 0-Halteglieder von Fig. 14 der US-PS 40 74 355 sind vorzugsweise durch die Stellenpufferregister 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 dargestellt. 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 Chip-Wä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 ACC 1 bis ACC 8 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 ACC 1 bis ACC 8 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 CTL 1 bis CTL 8 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 21 b 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 ADD 1 bis ADD 8 in Verbindung, und es ist so ausgebildet, daß es die vier hochwertigen oder die vier niedrigwertigen Bits über die vier Anschlußstifte ADD 1 bis ADD 8 ausgibt, oder diese Bits seriell über den Anschlußstift ADD 1 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 ADD 1 bis ADD 8 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 A₁₂ und A₁₃ zur gleichen Zeit geladen, wie die Bits CS 0 und CS 1 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 ADD 1 und ADD 2 geladen. Ein Zähler 606 zählt nacheinander die empfangenen Adressenladebefehle, damit angezeigt wird, wo die vier Bits an den Anschlußstiften ADD 1 bis ADD 8 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 an 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 ADD 1 bis ADD 8 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 ADD 1 bis ADD 8 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 Festspeichermatrix 601 ausgegebenen Steuersignale und auch anderer Steuersignale verwendet.
Es wird nun auf das 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 Ausgaberegisters 603 ist über einen von - oder -Signalen gesteuerten 4-Bit-Übertragungsweg parallel mit Ausgabepuffern 616 für ADD 1 bis ADD 4 und 616 a für ADD 8 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 Ausgaberegister 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 Ausgaberegister 603 zum Puffer 616 a und zum Anschlußstift ADD 8 übertragen. Die an den Anschlußstiften ADD 1 bis ADD 8 in Abhängigkeit von einem -Signal ausgegebenen Bits kommen von den Bits 3 bis 6 im Ausgaberegister 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 A 0 bis A 13 anliegende Adresse im Adressenzähler 604 wird zu dem 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 ADD 1 bis ADD 8 in Abhängigkeit von einem Signal , und der Abschnitt 404 c lädt vier Bits von den Anschußstiften ADD 1 bis ADD 8 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 ADD 1 und ADD 2 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 CS 0 und CS 1 werden von den Anschlußstiften ADD 4 und ADD 8 in Abhängigkeit von einem Signal geladen, während die höherwertigen Bits CS 2 und CS 3 von den Anschlußstiften ADD 1 und ADD 2 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 I 0 und I 1 angelegten Signale I 0 und I 1, damit die Befehle TB, LA und RB decodiert werden. Die Signale an den Anschlußstiften I 0 und I 1 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 ADD 8 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 TB 8, 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 TB 8 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 CS 3 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 CS 3 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 Bithaltegliedern 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) in das Ausgaberegister 603 an den Leitungen SA 0 bis SA 7. 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 I (Fortsetzung)
Tabelle I
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-Stapelspeicher, 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 Parameterfestspeicher 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 )/(P t - P o ), (P o = Anfangswert des Parameters), haben folgende Größe:

Claims (23)

1. Anordnung zur Erzeugung synthetischer menschlicher Sprache mit einer Quelle digitaler Sprachwerte, die Digitalfilterkoeffizienten repräsentieren, eine ein Digitalfilter enthaltende Sprachsynthesevorrichtung mit einem Anregungsgenerator zur Erzeugung von Anregungssignalen, einer Multiplizierschaltung zum selektiven Multiplizieren der Anregungssignale mit den Digitalfilterkoeffizienten, einem Digital-Analog-Umsetzer zum Umsetzen der Ausgangssignale der Multiplizierschaltung in analoge Signale, die synthetisch gebildete menschliche Sprache repräsentieren, und einem an den Digital-Analog-Umsetzer angeschlossenen Wandler zum Umsetzen der analogen Signale in hörbare menschliche Sprache, gekennzeichnet durch eine erste Speichervorrichtung (12 A, 12 B, 13 A, 13 B), in der mehrere Digitalwerte einschließlich der digitalen Sprachwerte gespeichert sind, die Digitalfilterkoeffizienten für den wiederholten Gebrauch entsprechend dem Bedarf bei der Erzeugung der synthetischen menschlichen Sprache repräsentieren, wobei die Sprachsynthesevorrichtung nur eine Filterstufe aufweist, die eine einzige Multipliziereinheit (401) enthält, die an die erste Speichervorrichtung (12 A, 12 B, 13 A, 13 B) und an den Anregungsgenerator (407, 408, 409) angeschlossen ist, eine zweite Speichervorrichtung (30) zum Speichern digitaler Daten, die zumindest eine ausgewählte Adresse eines Speicherplatzes in der ersten Speichervorrichtung (12 A, 12 B, 13 A, 13 B) enthalten, eine Steuervorrichtung (11), die so mit der ersten Speichervorrichtung (12 A, 12 B, 13 A, 13 B) und mit der zweiten Speichervorrichtung (30) gekoppelt ist, daß sie abhängig von der Auswahl der in der zweiten Speichervorrichtung gespeicherten Adresse, die einen Speicherplatz in der ersten Speichervorrichtung angibt, einen Zugriff auf ausgewählte Digitalwerte in der ersten Speichervorrichtung (12 A, 12 B, 13 A, 13 B) ausübt, wobei die Sprachsynthesevorrichtung mit der Steuervorrichtung (11) so gekoppelt ist, daß sie die ausgewählten Digitalwerte einschließlich ausgewählter, Digitalfilterkoeffizienten repräsentierender digitaler Sprachwerte aus der ersten Speichervorrichtung (12 A, 12 B, 13 A, 13 B) empfängt, auf die die Steuervorrichtung (11) den Zugriff ausgeübt hat, und wobei die einzige Multipliziereinheit (401) ein selektiv arbeitendes, im Multiplexbetrieb arbeitendes Rückkopplungsnetzwerk (Fig. 10a, 10b) aufweist, mit dem in selektiver Weise die Anregungssignale mit den die Digitalfilterkoeffizienten repräsentierenden digitalen Sprachwerten, auf die ein Zugriff in der ersten Speichervorrichtung ausgeübt worden ist, in einem multiplexierenden Multiplikationsvorgang multipliziert werden.
2. Anordnung nach Anspruch 1, gekennzeichnet durch der zweiten Speichervorrichtung zugeordnete Mittel (47) zum Fortschalten des darin enthaltenen Adressenspeicherplatzes.
3. Anordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die zweite Speichervorrichtung (30) ein Adressenregister enthält.
4. Anordnung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die zweite Speichervorrichtung (30) ein nichtflüchtiger Festspeicher ist, der von der ersten Speichervorrichtung (12 A, 12 B, 13 A, 13 B) getrennt ist.
5. Anordnung nach Anspruch 4, dadurch gekennzeichnet, daß die Steuervorrichtung (11) einen Mikroprozessor enthält und daß der nichtflüchtige Festspeicher ein Teil dieses Mikroprozessors ist.
6. Anordnung nach Anspruch 5, dadurch gekennzeichnet, daß die einzelne Multipliziereinheit (401) der Sprachsynthesevorrichtung (10) einen ersten und einen zweiten Eingang aufweist und mit der ersten Speichervorrichtung (12 A, 12 B, 13 A, 13 B) über den ersten Eingang und mit dem Anregungsgenerator (407, 408, 409) über den zweiten Eingang verbunden ist, damit die Anregungssignale in selektiver Weise mit den erfaßten digitalen Sprachwerten multipliziert werden, die Amplituden- und Digitalfilterkoeffizienten repräsentieren, und daß das Rückkopplungsnetzwerk (Fig. 10a, 10b) zwischen den Ausgang der Multipliziereinheit (401) und den zweiten Eingang in einer geschlossenen Rückkopplungsschleife eingefügt ist und eine Summierschaltung (404) enthält, in der die Anregungssignale sowie Zwischenprodukte zuvor erfaßter digitaler Sprachwerte kombiniert werden, bevor sie erneut in die Multipliziereinheit (401) über den zweiten Eingang in einer wiederholten Folge für einen weiteren Multipliziervorgang mit nachfolgenden digitalen Sprachwerten eingegeben werden.
7. Anordnung nach Anspruch 6, dadurch gekennzeichnet, daß der Anregungsgenerator (407, 408, 409) ein Stimmhaft/Stimmlos-Anregungsgenerator ist, der stimmhafte und stimmlose Anregungssignale erzeugt, daß zum Koppeln der ersten Speichervorrichtung (12 A, 12 B, 13 A, 13 B) mit der Multipliziereinheit (401) ein Parameterinterpolator (23) vorgesehen ist, daß eine Speichervorrichtung (406, 403) zum Speichern von Daten vorgesehen ist, die die Summierschaltung (404) abgibt, und daß ein Multiplizier-Multiplexer (415) vorgesehen ist, der die Ausgangssignale der Speichervorrichtung und der Summierschaltung (404) sowie die Anregungssignale in ausgewählter Weise an einen Eingang der Multipliziereinheit (401) anlegt.
8. Anordnung nach Anspruch 7, dadurch gekennzeichnet, daß die Speichervorrichtung (406, 403) erste und zweite Verzögerungsschaltungen (414, 406) enthält, wobei die Verzögerungszeit der zweiten Verzögerungsschaltung (406) größer als die Verzögerungszeit der ersten Verzögerungsschaltung (414) ist, und wobei der Multiplizier-Multiplexer (415) die Ausgangssignale der beiden Verzögerungsschaltungen in selektiver Weise an die Multipliziereinheit (401) anlegt.
9. Anordnung nach Anspruch 8, dadurch gekennzeichnet, daß die Speichervorrichtung (406, 403) außerdem eine Halteschaltung (403) zum Zwischenspeichern von Ausgangsdaten der Summierschaltung (404) enthält und daß der Multiplizier-Multiplexer (415) die Ausgangssignale der Halteschaltung in selektiver Weise an die Multipliziereinheit (401) anlegt.
10. Anordnung nach einem der Ansprüche 7 bis 9, dadurch gekennzeichnet, daß in der ersten Speichervorrichtung ein den darin zusammen mit den mehreren Digitalwerten gespeicherten Anregungssignalen zugeordneter Verstärkungsfaktor abgespeichert ist.
11. Anordnung nach einem der Ansprüche 7 bis 10, dadurch gekennzeichnet, daß der Parameterinterpolator (23) eine Umcodierlogik (301) enthält, die auf die von der ersten Speichervorrichtung (12 A, 12 B, 13 A, 13 B) der Multipliziereinheit (401) übermittelten Digitalwerte den Booth'schen Algorithmus anwendet.
12. Anordnung nach einem der Ansprüche 7 bis 11, dadurch gekennzeichnet, daß jeder der Digitalwerte während mehrerer Zyklen jeweils einmal aktualisiert wird, daß das Anregungssignal einmal in jedem Zyklus aktualisiert wird, daß jeder Zyklus mehrere Zeitperioden enthält und daß die Multipliziereinheit (401) in jeder Zeitperiode einen neuen Multipliziervorgang auslöst, wobei die Vollendung eines Multipliziervorgangs mehrere Zeitperioden erfordert.
13. Anordnung nach einem der Ansprüche 7 bis 12, dadurch gekennzeichnet, daß im Parameterinterpolator (23) die zuletzt empfangenen Tonhöhen-, Amplituden- und Filterkoeffizientensignale mit zuvor empfangenen Tonhöhen-, Amplituden- und Filterkoeffizientensignalen interpoliert werden.
14. Anordnung nach einem der Ansprüche 7 bis 13, gekennzeichnet durch Empfangsvorrichtungen (205, 203, 202) zum Empfangen von Signalen, die die stimmhaften und stimmlosen Anregungssignale, die Tonhöhen-, die Amplituden- und die Filterkoeffizientensignale angeben, wobei die Empfangsvorrichtungen einen als Decodierer wirkenden Festspeicher (202) enthalten, der diese Signale in einem vorbestimmten Codeformat empfängt und decodiert, bevor sie über den Parameterinterpolator (23) und den Multiplizier-Multiplexer (415) der Sprachsyntheseschaltung (10) zugeführt werden.
15. Anordnung nach Anspruch 14, gekennzeichnet durch eine synchrone Zeitsteuervorrichtung (20, 510, 511, 512) zur Erzeugung vorbestimmter fester Zeitsteuersignale, die anzeigen, wann die Signale von der Empfangsvorrichtung (205, 203, 202) empfangen werden sollen, wobei die Zeitsteuervorrichtung mit der Empfangsvorrichtung gekoppelt ist, damit gesteuert wird, wann die Empfangsvorrichtung diese Signale empfängt.
16. Anordnung nach einem der Ansprüche 7 bis 15, dadurch gekennzeichnet, daß der Stimmhaft/Stimmlos-Anregungsgenerator einen Stimmhaftanregungsgenerator (409) enthält, der abhängig von einem Tonhöhensignal in wiederholter Weise eine vorgewählte Funktion mit einer Wiederholungsfrequenz erzeugt, die auf die Größe des Tonhöhensignals bezogen ist, und daß der Stimmhaft/Stimmlos-Anregungsgenerator außerdem einen Stimmlosanregungsgenerator (407) enthält, der einen Zufallszahlengenerator aufweist.
17. Anordnung nach einem der Ansprüche 5 bis 16, gekennzeichnet durch eine durch den Benutzer betätigbare Eingabevorrichtung (3) zum Steuern des in der Steuervorrichtung (11) enthaltenen Mikroprozessors.
18. Anordnung nach Anspruch 17, dadurch gekennzeichnet, daß die vom Benutzer betätigbare Eingabevorrichtung ein Tastenfeld (3) enthält.
19. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Multipliziereinheit (401) ein Matrixmultiplizierer ist.
20. Anordnung nach einem der Ansprüche 1 bis 13, dadurch gekennzeichnet, daß die digitalen Sprachwerte, die in der ersten Speichervorrichtung (12 A, 12 B, 13 A, 13 B) gespeichert sind, in einem vorbestimmten Codeformat als codierte digitale Sprachwerte vorliegen und daß eine Decodiervorrichtung (205, 203, 202) zwischen die erste Speichervorrichtung (12 A, 12 B, 13 A, 13 B) und die Steuervorrichtung eingefügt ist, die die codierten digitalen Sprachwerte decodiert, die von der Steuervorrichtung (11) erfaßt werden.
21. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Sprachsyntheseschaltung (10) ein digitales lineares Voraussagefilter enthält.
22. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Sprachsyntheseschaltung (10) als integrierte Schaltung ausgeführt ist.
23. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Wandlervorrichtung ein Lautsprecher (4) ist.
DE2954378A 1978-04-28 1979-04-27 Expired - Lifetime DE2954378C2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US90139578A 1978-04-28 1978-04-28
US05/901,393 US4209836A (en) 1977-06-17 1978-04-28 Speech synthesis integrated circuit device
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

Publications (1)

Publication Number Publication Date
DE2954378C2 true DE2954378C2 (de) 1990-08-16

Family

ID=27505989

Family Applications (4)

Application Number Title Priority Date Filing Date
DE2954377A Expired DE2954377C2 (de) 1978-04-28 1979-04-27
DE2954413A Expired DE2954413C2 (de) 1978-04-28 1979-04-27
DE2954378A Expired - Lifetime DE2954378C2 (de) 1978-04-28 1979-04-27
DE2917161A Expired DE2917161C2 (de) 1978-04-28 1979-04-27 Sprechendes elektronisches Gerät

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE2954377A Expired DE2954377C2 (de) 1978-04-28 1979-04-27
DE2954413A Expired DE2954413C2 (de) 1978-04-28 1979-04-27

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE2917161A Expired DE2917161C2 (de) 1978-04-28 1979-04-27 Sprechendes elektronisches Gerät

Country Status (6)

Country Link
BR (1) BR7902621A (de)
DE (4) DE2954377C2 (de)
FR (2) FR2439449B1 (de)
GB (2) GB2020077B (de)
HK (6) HK13887A (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
DE3177166D1 (de) * 1980-02-04 1990-04-26 Texas Instruments Inc 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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2435654A1 (de) * 1974-07-24 1976-02-05 Gretag Ag Verfahren und vorrichtung zur analyse und synthese von menschlicher sprache
DE2525025A1 (de) * 1975-06-05 1976-12-23 Telefonbau & Normalzeit Gmbh Schaltungsanordnung zur ausgabe akustischer auskuenfte
US4074355A (en) * 1976-08-16 1978-02-14 Texas Instruments Incorporated Digital microprocessor system with shared decode
DE2826570C2 (de) * 1977-06-17 1988-10-20 Texas Instruments Inc., Dallas, Tex., Us

Family Cites Families (9)

* 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
US3828132A (en) * 1970-10-30 1974-08-06 Bell Telephone Labor Inc Speech synthesis by concatenation of formant encoded words
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
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
US4064554A (en) 1976-08-16 1977-12-20 Texas Instruments Incorporated Microcomputer with code conversion
BG24190A1 (en) * 1976-09-08 1978-01-10 Antonov Method of synthesis of speech and device for effecting same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2435654A1 (de) * 1974-07-24 1976-02-05 Gretag Ag Verfahren und vorrichtung zur analyse und synthese von menschlicher sprache
DE2525025A1 (de) * 1975-06-05 1976-12-23 Telefonbau & Normalzeit Gmbh Schaltungsanordnung zur ausgabe akustischer auskuenfte
US4074355A (en) * 1976-08-16 1978-02-14 Texas Instruments Incorporated Digital microprocessor system with shared decode
DE2826570C2 (de) * 1977-06-17 1988-10-20 Texas Instruments Inc., Dallas, Tex., Us

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 *
SOSKUTY, Dr. Otto v., Ein Sprachgenerator nach dem Prinzip der Phonemsynthese, In: Elektronik, 1977, H. 9, S. 44-48 *

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2954378C2 (de)
DE3317325C2 (de)
DE2504627C2 (de) Autonomes Datenverarbeitungsgerät
DE1497696B2 (de) Schaltungsanordnung fuer ein lerngeraet
DE2946856C2 (de) Wortspeichergerät
DE2604238A1 (de) Fluessigkristallanzeigeeinrichtung
DE2452498A1 (de) Verfahren und vorrichtung zur erzeugung von zeichenmustern
DE69816420T2 (de) Digital zu analogumwandler und verfahren zu dessen bedienung
DE3232600A1 (de) Zeitmultiplexschaltmatrix
DE2606946B2 (de) Anzeigevorrichtung fuer numerische information
DE2529573B2 (de) Schulungsgeraet fuer tastenfelder
DE69232964T2 (de) Informationsansageeinrichtung
DE2828919A1 (de) Polyphone syntheseschaltung fuer periodische signale und damit ausgestattetes elektronisches musikinstrument
DE2807341C3 (de) Vorrichtung zum Steuern der Stellung der Registerzuge eines Musikin strumentes
DE1900147B2 (de) Anzeigeanordnung zur anzeige von durch daten bezeichneten zeichen auf dem anzeigeschirm einer anzeigebildroehre
DE2744321A1 (de) Bildschirmgeraet
DE2558362A1 (de) Bildanzeigegeraet
DE1524507A1 (de) Vorrichtung zur Anzeige von Schriftzeichen
DE1799012C3 (de) Registereinrichtung zur Erleichterung des Wechsels von Teilprogrammen und Teilprogrammschritten in einem elektronischen Rechner
DE1537421B2 (de)
DE2826570C2 (de)
DE3017517C2 (de)
DE3130380C2 (de)
DE3049393A1 (de) Sprachsynthesizer
DE1499237A1 (de) Verfahren und Vorrichtung zur Binaer-Dezimal-Umwandlung

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 JUN., RICHARD H., DALLAS, TEX., US

8110 Request for examination paragraph 44
8128 New person/name/address of the agent

Representative=s name: PRINZ, E., DIPL.-ING. LEISER, G., DIPL.-ING. SCHWE

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