DE3017517A1 - Sprachsyntheseanordnung - Google Patents
SprachsyntheseanordnungInfo
- Publication number
- DE3017517A1 DE3017517A1 DE19803017517 DE3017517A DE3017517A1 DE 3017517 A1 DE3017517 A1 DE 3017517A1 DE 19803017517 DE19803017517 DE 19803017517 DE 3017517 A DE3017517 A DE 3017517A DE 3017517 A1 DE3017517 A1 DE 3017517A1
- Authority
- DE
- Germany
- Prior art keywords
- signal
- arrangement according
- speech
- parameter
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015572 biosynthetic process Effects 0.000 title claims description 117
- 238000003786 synthesis reaction Methods 0.000 title claims description 116
- 230000015654 memory Effects 0.000 claims description 116
- 230000006870 function Effects 0.000 claims description 36
- 238000003860 storage Methods 0.000 claims description 29
- 230000001419 dependent effect Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- AVVWPBAENSWJCB-QTVWNMPRSA-N D-talofuranose Chemical compound OC[C@@H](O)[C@@H]1OC(O)[C@@H](O)[C@H]1O AVVWPBAENSWJCB-QTVWNMPRSA-N 0.000 claims 1
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000000034 method Methods 0.000 abstract description 11
- 230000005236 sound signal Effects 0.000 abstract description 3
- 238000007906 compression Methods 0.000 abstract description 2
- 230000006835 compression Effects 0.000 abstract description 2
- 239000007787 solid Substances 0.000 abstract 1
- 230000002194 synthesizing effect Effects 0.000 abstract 1
- 239000011159 matrix material Substances 0.000 description 32
- 238000010586 diagram Methods 0.000 description 31
- 239000000872 buffer Substances 0.000 description 24
- 230000005284 excitation Effects 0.000 description 23
- 230000005540 biological transmission Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 230000000295 complement effect Effects 0.000 description 8
- 238000000926 separation method Methods 0.000 description 8
- 101100171060 Caenorhabditis elegans div-1 gene Proteins 0.000 description 7
- 238000013144 data compression Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 101000732916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 60S ribosomal protein L9-A Proteins 0.000 description 5
- 101000732903 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 60S ribosomal protein L9-B Proteins 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 102100034033 Alpha-adducin Human genes 0.000 description 3
- 101000799076 Homo sapiens Alpha-adducin Proteins 0.000 description 3
- 101000629598 Rattus norvegicus Sterol regulatory element-binding protein 1 Proteins 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 102100028737 CAP-Gly domain-containing linker protein 1 Human genes 0.000 description 2
- 101000767052 Homo sapiens CAP-Gly domain-containing linker protein 1 Proteins 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101001087029 Chironomus tentans 60S ribosomal protein L15 Proteins 0.000 description 1
- 101000573451 Homo sapiens Msx2-interacting protein Proteins 0.000 description 1
- 102100026285 Msx2-interacting protein Human genes 0.000 description 1
- 101000724270 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 60S ribosomal protein L15-A Proteins 0.000 description 1
- 101000724281 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 60S ribosomal protein L15-B Proteins 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 125000000524 functional group Chemical group 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 210000000214 mouth Anatomy 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 210000003800 pharynx Anatomy 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 230000003134 recirculating effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
- 210000001260 vocal cord Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
- G10L13/04—Details of speech synthesis systems, e.g. synthesiser structure or memory management
- G10L13/047—Architecture of speech synthesisers
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Analogue/Digital Conversion (AREA)
Description
Sprachsyntheseanordnung
Die Erfindung bezieht sich auf eine Sprachsyntheseanordnung und insbesondere auf eine solche Anordnung, die mit Hilfe kostengünstiger
integrierter Schaltungen aufgebaut werden kann.
Sprachsyntheseanordnungen sind bekannt. Beispiele dafür sind in den US-Patentschriften 3 803 358 und 4 092 495 sowie in der
Patentanmeldung P 29 17 161.7 beschreiben.
Es wird eine Sprachsyntheseanordnung beschrieben, bei deren Aufbau mehrere integrierbe Schaltungen benutzt werden. Die
integrierten Schaltungen enthalten einen Sprachsyntheseprozessor und zwei Fesbspeicher; sie werden anschließend genauer
erläutert.
Die Sprachsyntheseanordnung wird im Zusammenhang mit einem Heimcomputer beschrieben; für den Fachmann ist jedoch zu
erkennen, daß die zu beschreibende Sprachsyntheseanordnung
0046/0904
in jedem Anwendungsfall eingesetzt werden kann, wo eine in
Worten ausgedrückte Informations- oder Befehlsantwort gewünscht wird.
Die Sprachsyntheseanordnung wird unter Verwendu· der in
großem Maßstab ausgeführten Peldeffekttransistor-Integrationstechnologie,
beispielsweise der P-Kanal-MOS-Technologie,
verwirklicht. Vorzugsweise ist die Sprachsyntheseanordnung mit Steuerschaltungen kompatibel, die in verschiedenen elektronischen
Geräten vorhanden sind.
Mit Hilfe der Erfindung soll also eine Sprachsyntheseanordnung geschaffen werden, die unter Verwendung kostengünstiger
LSI-Schaltungsvorrichtungen aufgebaut ist. Die Sprachsyntheseanordnung
soll elektrisch mit vorhandenen TLL-Pegeln kompatibel
sein. Die Sprachsyntheseanordnung soll so ausgebildet sein, daß sie von codierten Sprachparametern Gebrauch macht, die
in einem Festkörperspeicher gespeichert sind. Außerdem soll die Sprachsyntheseanordnung die Fähigkeit haben, von codierten
Sprachparametern Gebrauch zu machen, die über ein Steuergerät eingegeben werden.
Wie dies alles erreicht wird, wird nun beschrieben. Die Sprachsyntheseanordnung
wird von einem entsprechend programmierten Mikroprozessor gesteuert, vorzugsweise von der Zentraleinheit
eines kommerziellen Computers oder eines Heimcomputers. Die Sprachsyntheseanordnung macht von Datencodier- und Datenkompressionsverfahren
Gebrauch, damit die erforderlichen Datenfolgefrequenzen auf ein Minimum herabgesetzt werden. Die codierten
Sprachparameter werden zur Steuerung der Reflexionskennlinien eines Digitalfilters in der Sprachsyntheseanordnung
verwendet. Das Ausgangssignal des Sprachfilters wird einem Digital-Analog-Umsetzer zugeführt, der es in ein Tonsignal
030046/0904
umsetzt. Das gebildete Tonsignal kann dann als Eingangssignal
eines herkömmlichen Verstärker·- und Lautsprechersystems benutzt werden.
Die Erfindung wird nun anhand der Zeichnung beispielshalber erläutert. Es zeigen:
Fig. 1a Ansichten eines Sprachmoduls allein bzw. verbunden
un mit einem Heimcomputer,
Fig. 2 ein Blockschaltbild der Hauptbauteile, die vorzugsweise den Sprachmodul bilden,
Fig. 3 ein Logikdiagramm der Eingabe/Ausgabe-Schaltung des Sprachmoduls,
Fig. 4a zusammen ein Blockschaltbild des Sprachsynthese-
und 4 b
Prozessors,
Fig. 5 ein Zeitdiagramm verschiedener Zeitsteuersignale, die vorzugsweise in der Syntheseanordnung verwendet
werden,
Fig. 6 ein Diagramm zur Verdeutlichung des Datenkompressionsschemas,
das vorzugsweise zur Reduzierung der für die Syntheseschaltung erforderlichen Datenrate angewendet
wird,
Fig. 7a zusammen ein Logikdiagramm der Zeitsteuerschaltungen der Syntheseanordnung,
Fig. 8a Logikdiagramme der ROM/CPU-Schnittstellenlogik der
1S Syntheseanordnung,
030046/0904
Fig. 9a zusammen ein Logikdiagramm der Interpolationsund
9b , , ,
schaltung,
Fig. 10a zusammen ein Logikdiagramm des Matrixmultipli-
und 10b ...
zierers.
Fig. 11a zusammen ein Logikdiagramm des Digitalfilters
und des Anregungsgenerators der Sprachsyntheseanordnung,
Fig. 12a schematische Schaltbilder des Parameter-Schreib/-
und 12b Lese-Speichers, . ' . -
Fig. 13a schematische Schaltbilder des Parameter-Festspei- und 13b chers und ·
Fig. 14a zusammen ein Schaltbild des Chirp-Festspeichers. und 14b
In Fig. T ist in einer perspektivischen Ansicht ein Sprachmodul
dargestellt, das die, erfindungsgemäße Sprachsyntheseanordnung
enthalten kann. Der Sprachmodul weist ein Gehäuse 1 auf, das elektronische Schaltungen enthält, die vorzugsweise
als (in dieser Figur nicht dargestellte) integrierte Schaltungen ausgeführt sind. Es ist auch ein Zugangsschlitz 2 dargestellt,
in den zur Ergänzung der eingebauten,Speicherschaltungen
zusätzliche Speichereinheiten eingefügt werden können. Diese Schaltungen werden mittels eines Stiftverbinders 3 an
einen kommerziellen Computer oder einen Heimcomputer, ein
elektronisches Kinderspielzeug oder irgendein anderes Produkt angeschlossen, bei dem wörtlich wiedergegebene Befehls- oder
Informationsantworten erwünscht sind. Für den Tachmann ist
030046/0904
erkennbar, daß natürlich auch andere Verbindungsvorrichtungen benutzt werden können, falls dies erwünscht ist. In Fig. 1b
ist eine Ausführungsform dargestellt, bei der der Sprachmodul
mittels des Stiftverbinders 3 an einen Heimcomputer 4 angeschlossen
ist, der einen Lautsprecher 5 enthält. Fig. 2 zeigt die Hauptblöcke der Syntheseanordnung einschließlich einiger
Blöcke innerhalb des Computers, nämlich der Zentraleinheit 19, des NF-Verstärkers 20 und des Lautsprechersystems 5, die für
den Betrieb des Sprachmoduls erforderlich sind.
Nachdem nun die äußere Gestalt des Sprachmoduls beschrieben worden ist, werden zunächst Betriebsarten erläutert, in denen
der Sprachmodul· arbeiten kann, woran sich eine Beschreibung der Blockschaltbilder und der genauen Logikdiagramme, der verschiedenen,
zur Verwirklichung des Sprachmoduls von Fig. 1a benutzten elektronischen Schaltungen anschließt.
Der Sprachmodul weist zwei Betriebsarten auf, die anschließend beschrieben werden. Für den Fachmann ist erkennbar, daß diese
Betriebsarten ohne weiteres auch modifiziert, in ihrer Anzahl verringert oder in ihren Fähigkeiten erweitert werden können.
Entsprechend der gewählten Ausführung weist der hier vorliegende Sprachmodul folgende Betriebsarten auf:
Sprechmodus: In der ersten Betriebsart, dem Sprechmodus,
werden codierte Sprachparameter benutzt, die in einem Satz-Fest speicher (ROM) innerhalb des Sprachmoduls enthalten sind.
Die codierten Parameter werden in den Sprachsyntheseprozessor-Chip (SSP-Chip) eingegeben, wo sie decodiert und zum
Aufbau eines zeitlich veränderlichen Modells des bei der Stimmbildung benutzten Rachen- und Mundraums benutzt werden.
Dieses Modell wird zur Erzeugung einer synthetischen Sprachschwingung verwendet.
030046/0904
Externsprechmodus: In der zweiten Betriebsart, dem Externsprechmodus,
werden codierte Sprachparameter von einer externen Quelle, vorzugsweise der Zentraleinheit (CPU) eines
kommerziellen Computers oder eines Heimcomputers, geliefert. Die codierten Sprachparameter werden über einen Eingabepuffer
in den Sprachsyntheseprozessor-Chip eingegeben, wo sie decodiert und zur Erzeugung synthetischer Sprache benutzt werden.
In Fig. 2 ist ein Blockschaltbild der Hauptbauteile dargestellt, aus denen die zu beschreibende Ausführungsform der Sprachsyntheseanordnung
zusammengesetzt ist. Die Elektronik des Sprachmoduls kann in drei Hauptfunktionsgruppen unterteilt werden,
nämlich in den Sprachsyntheseprozessor 10, eine Steuer-Eingabe/ Ausgabe-Einheit 11 und Festspeicher 12a, 12b. In der zu beschreibenden
Ausführungsform sind diese drei Hauptfunktionsgruppen jeweils auf einem eigenen integrierten Schaltungs-Chip
integriert; die Ausnahme bildet dabei die Festspeicher-Funktionsgruppe 12, die aus zwei integrierten Schaltungs-Chips
besteht. Die codierten Sprachparameter für die gewünschten Sprachausgangssignale sind in der Festspeicher-Funktionsgruppe
(ROM-Funktionsgruppe) gespeichert. Weitere codierte Sprachparameter können zusätzlich in eigenen "Wörterbuchmodulen" gespeichert
sein, die mit dem Sprachmodul so verbunden werden können, wie in der US-Patentanmeldung SN 003 449 vom 15. Januar 1979
beschrieben ist. Diese zusätzlichen Festspeicher sind mit gestrichelten Linien dargestellt, da sie von der Bedienungsperson in den Sprachmodul eingesteckt werden und normalerweise
nicht im System enthalten sind.
Der Sprachsyntheseprozessor 10 ist mit der Festspeicher-Funktionsgruppe
über einen Datenweg 15 verbunden, und er steht über einen Datenweg 16 und die Steuer-Eingabe/Ausgabe-
030046/0904
Einheit 11 mit dem Eingabe/Ausgabe-Bus 18 in Verbindung. In
einer bevorzugten Ausführung werden Adressen codierter Sprachparameter von einer Zentraleinheit (CPU) eines kommerziellen
Computers oder eines Heimcomputers zu den Festspeichern 12A 12B vom Sprachsyntheseprozessor 10 übertragen, da dieser
Sprachsyntheseprozessor 10 vorzugsweise mit Puffern ausgestattet ist, die mehrere Festspeicher adressieren können,
wie noch zu erkennen ist. Eine Zentraleinheit mit entsprechend .dimensionierten Puffern könnte natürlich Adressen zu mehreren
Festspeichern übertragen, so daß es in gewissen Ausführungsformen wünschenswert ist, die Eingangssignale einer Zentraleinheit
direkt an die Festspeicher anzulegen.
Der Sprachsyntheseprozessor 10 erzeugt entsprechend Datenrahmen, die in den Festspeichern 12A, 12B oder 13A, 13B gespeichert
sind, mittels Synthese menschliche Sprache oder andere Töne. Der Syntheseprozessor macht von einem Parameterinterpolator
Gebrauch, wie er in der Patentanmeldung P 29 17 161.7 beschrieben ist. Der Sprachsyntheseprozessor 10· macht von einem
Digitalfilter Gebrauch, das in der Patentanmeldung P 28 26 570.5 beschrieben ist. Bei der nachfolgenden Erläuterung der Sprachsyntheseschaltung
wird angenommen, daß der Leser die Arbeitsweise des Parameterinterpolators und des Digitalfilters gemäß
den zuvor erwähnten Patentanmeldungen grundsätzlich versteht. Der Leser wird daher angeregt, vor dem Einstieg in die nachfolgende
genaue Erläuterung der Sprachsyntheseschaltung die erwähnten Patentanmeldungen zu lesen. Der Sprachsyntheseprozessor
10 enthält auch einen Digital-Analog-Umsetzer zum Umsetzen der digitalen Ausgangssignale des Digitalfilters
in Analogsignale zur Ansteuerung eines NF-Verstärker- und Lautsprechersystems. Der Sprachsyntheseprozessor 10 enthält
außerdem Takt-, Steuer-, Datenspeicher- und Datenkompressionsanordnungen, die nachfolgend näher beschrieben werden.
030046/0904
In Fig. 3 ist die Steuer-Eingabe/Ausgabe-Logikeinheit darge- stellt.
Diese Logikeinheit besteht aus drei, jeweils drei Eingänge aufweisenden NAND-Gliedern 31, 32 und 33 mit offenen
Kollektoren. Diese NAND-Glieder können der integrierten Schaltung SN 74 LS 10 der Firma Texas Instruments Incorporated,
Dallas, Texas, entsprechen. Zwei Eingänge des NAND-Glieds 31 sind an die Versorgungsspannung V33 gelegt. Der dritte Eingang
empfängt das Adressenbit 15 (ADD 15) aus der Zentraleinheit. Da zwei Eingangssignale des NAND-Glieds 31 stets einen
hohen Signalwert haben, wirkt das NAND-Glied 31 als Negator, so daß es das Ausgangssignal ADD 15 abgibt. Das NAND-Glied
empfängt als Eingangssignal das Signal ADD 15 vom Ausgang
des NAND-Glieds 31, das Sprachblock-Freigabesignal SBE und das Adressenbit 5 (ADD 5). Das Ausgangssignal des NAND-Glieds
hängt daher von SBE, ADD 5 und ADD 15 ab. Dieses Ausgangssignal ist als Schreibwählsignal· (WS) bezeichnet; es wird dem Sprach—
Syntheseprozessor 10 zugeführt. Ein Schreibwählbefehl aus der Zentraleinheit ermöglicht dem Sprachmodul, über den in zwei
Ubertragungsrichtungen wirksamen Datenbus, 17 acht Datenbits
anzunehmen. Das NAND-Glied 33 empfängt als Eingangssignale das Signal ADD 15 vom Ausgang, des NAND-Glieds 31, das Sprachblock-Freigabesignal·
(SBE) und das Signal· ADD 5 vom Ausgang
des NAND-Giieds 32. Das Ausgangssignal· des NAND-Giieds 33
hängt daher von SBE, ADD 5 und ADD 15 ab. Dieses Ausgangssignal· ist ais Lesewäh^signal· (RS) bezeichnet; es wird dem
Sprachsyntheseprozessor 10 zugeführt. Ein Lesewähibefehl·
aus der Zentral·einheit ermögiicht dem Sprachmodul, über den
Datenbus 17 acht Dateneinheiten abzugeben, oder er veranlaßt
den Sprachmodul, gewisse Statussignaie an vorbestimmten Punkten
iängs des Datenbus 17 zu erzeug'en.
Außerdem kann der Sprachsyntheseprozessor ein Unterbrechungssignai
(INT) erzeugen, das der Zentraieinheit eine Änderung
0 30046/0904
ORIGINAL INSPECTED " -
im Status des Sprachsyntheseprozessors anzeigt, die die Aufmerksamkeit der Zentraleinheit erfordern kann. Die
speziellen Stabusänderungen, die die Erzeugung eines Unterbrechungssignals (INT) hervorrufen, werden noch genau erläutert.
Der Negator 34 invertiert das seinem Eingang zugeführte Signal READY, so daß er der Zentraleinheit das
Signal READY zuführt. Wenn das Signal READY einen hohen Wert hat, ist die Zentraleinheit starr mit dem Sprachsyntheseprozessor
10 verbunden.
Die Figuren 4a und 4b bilden zusammen das Blockschaltbild des Sprachsyntheseprozessors 10. Der Sprachsyntheseprozessor
enthält sechs Hauptfunktionsblöcke, die bis auf einen in den Figuren 4a und 4b genauer dargestellt sind. Die sechs Hauptfunktionsblöcke
sind eine Zeitsteuerlogik 20, eine ROM/CPU-Schnittstellenlogik 21, eine Parameterlade-, Parameterspeicher-
und Parameterdecodierlogik 22, ein Parameterinterpolator 23, ein Filter- und Anregungsgenerator 24 und ein Digital-Analog-Umsetzer-
und Ausgabeabschnitt 25. Die Hauptfunktionsblöcke werden nun unter Bezugnahme auf die Figuren 5 bis 14
beschrieben.
Nach den Figuren 4a und 4b koppelt die Schnittstellenlogik 21
den Sprachsyntheseprozessor 10 mit den Festspeichern 12A und 12B und mit der (nicht dargestellten) Zentraleinheit. Der in
zwei Ubertragungsrichtungen wirksame 8-Bit-Datenbus 17 (DO bis
D7) ist in der folgenden Ausführungsform mit der Zentraleinheit und mit den Eingängen eines fifo"Puffers 2215 verbunden,
während die Adressenstifte T bis 8 (ADD1 bis ADD8) und die
Befehlsstifte 0 bis 1 (IO bis 11) mit den Festspeichern 12A
030046/0904
und 12B (und,falls benutzt, mit den Festspeichern 13A und
13B) verbunden sind. Die ROM/CPU-Schnittstellenlogik 21
sendet Adresseninformationen von der Zentraleinheit zu den Festspeichern 12A und 12B über ein Adressenregister 213 an
die Adressenstifte 1 bis 8. Ein Befehlsregister 210 speichert einen aus drei Bits bestehenden Befehl aus der Zentraleinheit,
der vom Befehlsdecodierer 211 decodiert wird. Der Befehlsdecodierer
211 reagiert auf sechs Befehle: Einen Sprechbefehl (SPK), der den Syntheseprozessor veranlaßt, Daten aus dem
Festspeicher anzunehmen und in Abhängigkeit von diesen Daten
zu sprechen, einen Rückstellbefehl (RST) zum Rückstellen des Syntheseprozessors auf Null, einen Adressenladebefehl· (LA),
bei dem vier Bits von der Zentraleinheit an den Stiften D4 bis D7 empfangen und über das Adressenregister 213 und die
Stifte ADD1 bis ADD8 als Adressenziffern zu den Festspeichern übertragen werden, einen Lese- und Verzweigungsbefehl· (RB),
der den Festspeicher veraniaßt, den Inhalt der vorliegenden und der nachfolgenden Adresse zu erfassen und als Verzweigungsadresse
zu benutzen, einen Byte-Lesebefehl (RDBY), der der Zentraleinheit erlaubt, im Festspeicher gespeicherte
Daten über den Adressenstift 8 (ADD8) und das Datenregister zu erfassen, und einen Externsprechbefehl (SPKEXT), die Externsprechlogik
253 veranlaßt, ein Decodierersperrsignal· (DDIS) zu erzeugen, das den Befeh^sdecodierer 211 unwirksam macht und
der Zentraieinheit ermögiicht, acht Datenbits über die Eingänge
DO bis D7 in den FIFO-Puffer 2215 einzugeben. Sobaid
der Sprachsyntheseprozessor 10 begonnen hat, al·s Antwort auf
einen Sprechbefehl· SPK zu sprechen, spricht er soiange weiter,
bis die ROM/CPU-Schnittstel·l·enl·ogik 21 auf einen Rückstell·-
befehl· trifft oder das Verknüpfungsglied 207 (siehe Fig. 8a bis 81) eine Codegruppe "Energiewert = 15" feststeht und
abhängig davon das Sprechhaiteg^ed 216 zurücksteht. Sobal·d
der Sprachsyntheseprozessor 10 begonnen hat, ais Reaktion auf
030046/09 04
einen Externsprechbefehl SPKEXT zu sprechen, setzt er das Sprechen fort, bis das Verknüpfungsglied 207 eine Codegruppe
"Energie = 15" feststellt oder von der FIFO-Statuslogik
2230 (siehe Fig. 8a bis 81) ein Pufferleerbefehl (BE) erzeugt wird, was zum Rückstellen des Sprechhalteglieds 216
führt. Wie noch zu erkennen sein wird, wird eine Codegruppe "Energie = 15" als der letzte Datenrahmen in mehreren zur
Erzeugung von Wörtern, Ausdrücken oder Sätzen verwendeten Datenrahmen benutzt. Die Befehle LA, RB und RDBY werden vom
Befehlsdecodierer 211 decodiert, und sie werden über die ROM-Steuerlogik 217 erneut codiert und über die Befehlsstifte
(IO bis 11) zu den Festspeichern übertragen.
Das Sprechhalteglied 216 wird in Abhängigkeit von der Decodierung
eines Sprechbefehls SPK oder eines Externsprechbefehls
SPKEXT gesetzt; seine Rücksetzung erfolgt (1) während eines Einschaltlöschvorgangs (PUC), der automatisch jedesmal
dann auftritt, wenn der Sprachsyntheseprozessor eingeschaltet wird, (2) durch die Decodierung eines Rückstellbefehls RST,
(3) durch eine Codegruppe "Energie = 15" in einem Sprachdatenrahmen
oder (4) durch einen Pufferleerbefehl BE aus der FIFO-Statuslogik 2230. Das Ausgangssignal TALKD ist ein
verzögertes Ausgangssignal, damit alle Sprachparameter vor dem Versuch zu sprechen, in den Sprachsyntheseprozessor eingegeben
werden können.
Parameterlade-, Parameterspeicher- und Parameterdecodierlogik
Die Parameterlade-, Parameterspeicher- und Parameterdecodierlogik 2 2 enthält ein Parametereingaberegister 205 mit der
Kapazität von sieben Bits, das in Abhängigkeit von einem Lesebefehl RD, der über die Befehlsstifte vom ausgewählten
Festspeicher abgegeben wird, über die Sprachladelogik 2250
030046/0904
aus dem Verknüpfungsglied 2251, das als Eingangssignal die
Daten vom Stift ADD8 empfängt, serielle Daten aus den Festspeichern
empfängt. Ein Schreib/Lese-Speicher 203 (RAM) für codierte Parameter sowie 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 drei-bis sechs Bits über das Parametereingaberegister
in einem codierten Format in den Schreib/Lese-Speicher 203 eingegeben, in dem der Rahmen zwischengespeichert wird. Jeder
der im Schreib/Lese-Speicher 203 gespeicherte codierte Parameter wird vom Parameterfestspeicher 202 in einen Parameter
aus zehn Bits umgesetzt und dann im Parameterausgaberegister zwischengespeichert.
Wie unter Bezugnahme auf Fig. 6 noch näher erläutert wird, können die Datenrahmen entweder ganz oder teilweise in das
Parametereingaberegister 205 eingegeben werden, was von der Länge des bestimmten einzugebenden 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 Figuren 8a bis 81 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 "Null" eingestellt
werden soll, und ein Parameter-La.defreigabesignal, das unter anderem das Laden der Daten im Paramtereingaberegister 205
in den Schreib/Lese-Speicher 203 ermöglicht.
030046/0 90 4
Die Parameter im Parameterausgaberegister 201 werden an den Parameter-interpolator 23 angelegt. Die eingegebenen Sprachparameter
K1 bis K10 sind einschließlich der Sprachenergie in einem K-Stapel 302 und einer ElO-Schleife 304 gespeichert,
während der Tonhöhenparameter in einem Tonhöhenregister 30 5 gespeichert ist. Die Sprachparameter und die Sprachenergie
werden über eineUmcodierungslogik 301 dem Matrixmultiplizierer
401 im Filter- und Anregungsgenerator 24 zugeführt. Wenn ein neuer Parameter in das Eingabeparameterregister 201 geladen
wird, wird dieser Parameter jedoch nicht sofort in den K-Stapel 302, die E10-Schleife oder das Register 305 eingegeben,
sondern der entsprechende Wert im K-Stapel 302, in der E10-Schleife 304 oder im Register 305 durchläuft acht Interpolationszyklen,
in denen ein Teil der Differenz zwischen dem derzeitigen Wert im K-Stapel 302, in der E10-Schleife 304
oder im Register 305 und dem Zielwert dieses Parameters im Parameterausgaberegister 301 zum derzeitigen Wert im K-Stapel
302, in der E10-Schleife 304 oder im Register 305 addiert wird.
Im wesentlichen werden die gleichen Schaltungen zur Durchführung der Interpolation der Tonhöhe, der Sprachenergie und der
K1 bis K10-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 KE10-Ubertragungsregister
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ögerungswort zwischen einer
030046/0904
Verzögerung um ein Bit und einer Verzögerung um drei 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 Ver- zögerung
der Verzögerungsschaltung 309 den Wert Null hat, wird der Zielwert des bestimmten Parameters im Parameterausgaberegister
201 in den K-Stapel 302, die ElO-Schleife
oder das Tonhöhenregister 305 eingegeben. Die Verzögerung der Verzögerungsschaltung 311 beträgt drei bis null Bits, wobei
eine Verzögerung um drei Bits vorliegt, wenn die Verzögerungsschaltung
309 eine Verzögerung um null Bit hervorruft, so daß die Gesamtverzögerung durch die Wählerschaltung 307, die Verzögerungsschaltung
309, die Verzögerungsschaltung 311, die Addierschaltung 310 und die Subtrahierschaltung 308 konstant
bleibt. Durch Steuern der Verzögerung der Verzögerungsschaltungen 309 und 311 wird entweder die gesamte, aus der Subtrahierschaltung
308 ausgegebene Differenz (also die Differenz zwischen dem Zielwert und dem derzeit vorhandenen Wert)
oder die Hälfte, ein Viertel oder ein Achtel dieser Differenz wieder zum derzeit vorhandenen Wert des Parameters addiert.
Durch Steuern der Verzögerungswerte in der in der Tabelle I angegebenen Weise wird eine relativ glatte,-achtstufige Parameterinterpolation
erzielt.
In der Patentanmeldung P 28 26 570.5 ist unter Bezugnahme auf deren Fig. 7 ein Sprachsynthesefilter beschrieben, bei
dem im K-Stapel kontinuierlich Sprachkoeffizienten K1 bis K9 bis zu ihrer Aktualisierung gespeichert sind, während der
Koeffizient K10 und die Sprachenergie (die in der genannten Patentanmeldung mit dem Buchstaben A gekennzeichnet ist)
periodisch ausgetauscht werden. Im Parameterinterpolator 23 sind die Sprachkoeffizienten K1 bis K9 ebenfalls im K-Stapel
302 gespeichert, bis sie aktualisiert werden, während der
030046/0904
Sprachenergieparameter und der Koeffizient K10 im K-Stapel
während eines zwanzig Zeitperioden dauernden Betriebsablaufzyklus im Filter- und Anregungsgenerator 24 ihre Plätze tauschen.
Zur Erzielung dieser Funktion speichert die E1Ö-Schleife 304 sowohl den Sprachenergieparameter als auch den
Koeffizienten K10, und sie gibt diese Werte abwechselnd in
den entsprechenden Speicherplatz im K-Stapel 302 ein. Das KE1O-übertragungsregister 303 wird entweder mit dem Koeffizienten
K10 oder mit dem Sprachenergieparameter aus der E10-Schleife 30 4 oder dem entsprechenden Sprachkoeffizienten K1
bis K9 aus dem K-Stapel 302 zur Interpolation durch die Schaltungseinheiten 307 bis 311 geladen.
Die Umcodierungslogik 301 führt vorzugsweise mit den Daten
aus dem K-Stapel einen Booth-Algorithmus durch, bevor diese
Daten an den Matrixmultiplizierer 401 ausgelegt werden. Die Umcodierungslogik 301 ermöglicht daher eine Verkleinerung des
Matrixmultiplizierers 401 im Vergleich zu dem in der Patentanmeldung
P 28 26 570.5 beschriebenen Matrixmultiplizierer.
Der Filter- und Anregungsgenerator 24 enthält den Matrixmultiplizierer
401, dessen Ausgang mit einem Summiermultiplexer 4 02 verbunden ist. Der Ausgang des Summiermultiplexers 402
ist mit dem Eingang der Summierschaltung 404 verbunden, deren Ausgang wiederum an einen Verzögerungsstapel 406 und einen
Multipliziermultiplexer 415 angeschlossen ist. Der Ausgang des Verzögerungsstapels ist mit dem Eingang des Summiermultiplexers
402 und mit einem Y-Halteglied 403 verbunden. Der
Ausgang des Y-Halteglieds 403 ist mit einem Eingang des
Multipliziermultiplexers 415 verbunden, der auch mit der Beschneidungslogik 425 verbunden ist. Der Ausgang des Multipliziermultiplexers
415 ist mit dem Eingang des Matrixmultipl.izierers
401 verbunden. Der Filter- und Anregungsgenerator
030046/0904
macht von einem Digitalfilter Gebrauch, wie es in der Patentanmeldung
P 28 26 570.5 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 Figuren 10a, 10b, 11a, 11b noch beschrieben.
Die Anordnung der oben geschilderten Baueinheiten stimmt allgemein mit der Anordnung in Fig. 7 der erwähnten
Patentanmeldung P 28 26 570.5 überein; der Matrixmultiplizierer 401 entspricht also dem Element 30', der Summiermultiplexer
402 entspricht den Elementen 37b"1", 37c1 und 37d', die
Verknüpfungsglieder 414 (Figuren 11a, 11b) entsprechen dem
Element 33', der Verzögerungsstapel 406 entspricht den Elementen 34' und 35', das Y-Halteglied 403 entspricht dem Element
36' und der Multipliziermultiplexer 415 entspricht den
Elementen 38a, 38b, 38c und 38d.
Die Stimmhaft-Anregungsdaten werden von einem Stimmlos/ Stimmhaft-Verknüpfungsglied 408 geliefert. Wie noch genauer
beschrieben wird, werden die in das Parametereingaberegister 205 eingegebenen Parameter in einem komprimierten Datenformat
geliefert. Bei dem angewendeten Datenkompressionsschema wird der codierte Tonhöhenparameter dann, wenn er im Eingaberegister
205.den Wert Null 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
als Anregungseingangssignal liefert. 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
030046/090
hergeleitet. Wie in der Patentanmeldung P 28 26 570.5 erläutert ist, kann das stimmhafte Anregungssignal aus einer Impulsfunktion
oder einer anderen sich wiederholenden Funktion, beispielsweise einer sich wiederholenden Chirp-Funktion bestehen.
In der vorliegenden Ausführungsform 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 wiederholt erzeugt. Der Chirp-Festspeicher 409 wird vom Zählerhalteglied
410 adressiert, wobei die darin enthaltene Adresse in einer 1-Additionschaltung 411 fortgeschaltet wird. Die
Adresse im Zählerhalteglied 410 wird weiterhin in der 1-Additionsschaltung
411 fortgeschaltet und über die Rücksetzlogik 412 übertragen, bis ein Größenkomparator 413, der die Größe
der Adresse aus der 1-Additionsschaltung 411 mit dem Inhalt
des Tonhöhenregisters 305 vergleicht, anzeigt, daß der Wert im Zählerhalteglied 410 gleich oder größer als der Wert im
Tonhöhenregister 305 ist, wobei an diesem Zeitpunkt die Rücksetzlogik 412 die Adresse im Zählerhalteglied 410 auf den
Wert Null stellt. Beginnend mit dem Adressenwert Null erstreckt sich die Chirp-Funktion im Chirp-Festspeicher 409 über etwa
fünfzig Adressen. Das Zählerhalteglied 410 und der Chirp-Festspeicher 409 sind so eingestellt, daß die Adressen mit einem
Wert über fünfzig keine Ausgabe eines Abschnitts der Chirp-Funktion aus dem Chirp-Festspeicher 40 9 zum Stimmlos/Stimmhaf^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.
In Fig. 5 sind die zeitlichen Beziehungen zwischen dem Auftreten verschiedener Zeitsteuersignale dargestellt, die auf
dem Chip des Sprachsyntheseprozessors 10 erzeugt werden.
030046/0904
Außerdem ist folgendes dargestellt: Die zeitlichen Beziehungen bezüglich des Zeitpunkts, an dem neue Datenrahmen in den Sprachsyntheseprozessor 10 eingegeben werden ,die zeitliche Beziehung im
Zusammenhang mit den an den eingegebenen Parametern durchgeführten Interpolationen, die zeitlichen Beziehungen zu den
Zeitperioden des Digitalfilters und die Beziehung der zuvor genannten Größen in bezug auf die Grundtaktsignale.
Der Sprachsyntheseprozessor ist vorzugsweise unter Verwendung digitaler Schaltungsglieder aufgebaut, die mit Vorladung und
bedingter Entladung arbeiten; Fig. 5 zeigt daher Taktsignale 01 bis 04, die bei solchen digitalen Verknüpfungsschaltungen
mit Vorladung und bedingter Entladung angewendet werden können. Es gibt zwei Haupttaktphasen (01 und 02) und zwei Vorladungs-Taktphasen
(03 und 04). Die Taktphase 03 nimmt während der ersten Hälfte der Taktphase 02 einen niedrigen Wert an; sie
dient daher als Vorladungs-Taktphase für die Taktphase 02. Zum Takten eines Datenbits ist eine Gruppe von Taktphasen 0/~l
bis 0/4 erforderlich und entspricht einer Zeitperiode.
Die Zeitperioden sind mit T1 bis T20 bezeichnet; jede Zeitperiode hat vorzugsweise eine Zeitdauer in der Größenordnung
von 5 us. Die Auswahl einer Zeitperiode mit einer Dauer in
der Größenordnung von 5 με ermöglicht die Ausgabe von Daten
aus dem digitalen Filter mit einer übertragungsgeschwindigkeit von 10 kHz (d.h. mit einer Periode von 100 μΞ), 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 und dem 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.
030046/09(K
Wie in der Patentanmeldung P 28 26 570.5 erläutert ist, umfaßt eine Zykluszeit des Digitalfilters im Filter- und
Anregungsgenerator 24 vorzugsweise zwanzig Zeitperioden T1 bis T20. 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 T1 bis T20, 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 Patentanmeldung P 28 26 570.5. Die Zeitperiode T17
entspricht daher der Zeitperiode (T9).
Bei 501 sind die Parameterzahlsignale (PC) dargestellt. Im vorliegenden Ausführungsbeispiel sind dreizehn Parameterzahlsignale
PC, nämlich die Signale PC=O bis PC=12 vorhanden. Die ersten zwölf Signale PC=O bis PC=11 entsprechen den Zeitpunkten,
an denen der Sprachenergieparameter, der Tonhöhenparameter und die K1 bis K10-Paramter im Parameterausgaberegister
201 verfügbar sind. Jedes der ersten zwölf Parameterzahlsignale besteht aus zwei Zyklen, nämlich einem Zyklus A
und einem Zyklus B. Jeder dieser Zyklen beginnt mit der Zeitperiode T17, und er dauert bis zur nächsten Zeitperiode T17
an. Während jedes Parameterzahlsignals wird der Zielwert aus dem Parameterausgaberegister 201 mit dem vorhandenen Wert im
K-Stapel 302 im Parameterinterpolator 320 interpoliert. Während des Zyklus A wird der interpolierte Parameter dem K-Stapel
302, der E10-Schleife 304 und dem Tonhöhenregister während einer entsprechenden Zeitperiode entnommen. Während
des Zyklus B wird der neu interpolierte Wert wieder in den
Ü30CH6/09(H
K-Stapel, die ElO-Schleife oder das Tonhöhenregister eingegeben.
Das dreizehnte Parameterzahlsignal PC=12 ist zu Zeitsteuerzwecken
vorgesehen, so daß alle zwölf Parameter einmal während jeder Interpo'lationsperiode mit der Dauer von 2,5 us
interpoliert werden.
Wie im Zusammenhang mit dem Parameterinterpolator 23" von
Fig. 4b und der Tabelle I erläutert wurde, werden für jede Eingabe eines neuen Datenrahmens aus den Festspeichern 1 2A
und 12B in den Sprachsyntheseprozessor 10 acht Interpolationen durchgeführt. Dies ist in Fig. 5 bei dem Bezugszeichen
zu erkennen, wo die Signale DIV1, DIV2, DIV4 und DIV8 dargestellt sind. Diese Zeitsteuersignale treten während spezieller
Interpolationszahlen (IC) auf, wie aus der Darstellung
zu erkennen ist. Es gibt acht derartige Interpolationszahlen ICO bis IC7. Die Eingabe neuer Daten aus den Festspeichern
12A, 12B in den Sprachsyntheseprozessor erfolgt im Verlauf der Interpolationszahl ICO. Diese neuen Parameterzielwerte
werden dann während der nächsten acht Interpolationszahlen
IC1 bis ICO benutzt; die vorhandenen Parameter im Tonhöhenregister 305, im K-Stapel 302 und irT der ElO-Schleife 304
werden einmal im Verlauf jeder Interpolationszahl interpoliert.
Bei der letzten Interpolationszahl ICO erreicht der derzeitige Wert der Parameter im Tonhöhenregister 305, im
K-Stapel 302 und in.der ElO-Schleife 304 schließlich den
zuvor bei der letzten Interpolationszahl ICO eingegebenen Zielwert, so daß dann neue Zielwerte als neuer Datenrahmen
eingegeben werden können. Da jede Interpolationszahr eine
Periodendauer von 2,5 ms hat, beträgt die Periode der Eingabe
neuer Datenrahmen in den Sprachsyntheseprozessor 20 ms, was einer Eingabefrequenz von 50 Hz äquivalent ist. Das
Signal DIV8 entspricht den Interpolationszahlen, in deren Verlauf ein Achtel der von der Subtrahierschaltung 308 erzeugten
Differenz in der Addierschaltung 310 zu den derzeit
030046/0904
vorhandenen Werten addiert wird, während im Verlauf des Signals DIV4 ein Viertel der Differenz addiert wird, usw.
Im Verlauf des Signals DIV2 wird demnach die Hälfte der Differenz aus der Subtraktionsschaltung 308 zum derzeitigen
Wert des Parameters in der Addierschaltung 310 addiert,
während schließlich im Verlauf des Signals DIV1 die gesamte Differenz in der Addierschaltung 310 hinzuaddiert wird. Wie
bereits erwähnt wurde, ist die Wirkung dieses Interpolationsschemas in der Tabelle I zu erkennen.
Wie bereits erwähnt wurde, werden neue Parameter mit einer Frequenz von 50 Hz in den Sprachsyntheseprozessor eingegeben.
Im Parameterinterpolator und im Anregungsgenerator 24 (Fig. 4b) werden die Tonhöhendaten, die Energiedaten und die Parameter
K1 bis K10 gespeichert und als digitale 10-Bit-Binärzahlen
benutzt. Wenn jeder dieser zwölf Parameter bei einer Folgefrequenz von 50 Hz aus einer externen Quelle, beispielsweise
aus den Festspeichern 12A und 12B, mit einer 1O-Bit-Binärzahl
aktualisiert würde, wäre eine Bitfolgefrequenz von 12x10x50
oder 6000 Kz erforderlich. Bei Anwendung der noch zu erläuternden Datenkompression wird die für den Sprachsyntheseprozessor
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.
Q30046/090A
Ein mit "stimmhafter Rahmen" bezeichneter Datenrahmen hat eine Länge von 56 Bits, während ein anderer, mit "stimmloser
Rahmen" bezeich .eter Datenrahmen eine Länge von 33 Bits hat.
Ein weiterer, mit "Wiederholungsrahmen" bezeichneter Datenrahmen hat eine Länge von elf Bits, während ein weiterer
Rahmen abwechselnd als "Nullenergie-Rahmen" oder "Energie =
15-Rahmeii" bezeichnet wird; die Länge des zuletzt genannten
beträgt nur vier Bits. Der "stimmhafte Rahmen" ergibt vier
Datenbits für einen codierten Energieparameter und codierte vier Bits für den Parameter K7. Sechs Datenbits sind für
jeden von drei codierten Parametern, nämlich für die Tonhöhe, den Parameter K1 und den Parameter K2, reserviert. Außerdem
sind fünf Datenbits für die Parameter K3 bis K6 reserviert.
Weitere drei Datenbits sind für jeden von drei codierten Sprachparametern K8 bis K10 vorgesehen, und ein weiteres
Bit ist schließlich für ein Wiederholungsbit reserviert.
Anstelle der Eingabe von zehn Binärdatenbits für jeden Parameter
wird ein codierter Parameter eingegeben, der in einen 10-Bit-Parameter umgesetzt wird, in dem der Parameter Festspeicher
202 mit dem codierten Parameter adressiert wird. Der Koeffizient K1 kann also beispielsweise entsprechend
der aus sechs Bits bestehenden Codegruppe für K1 irgendeinen von sechsunddreißig verschiedenen Werten haben; jeder der
sechsunddreißig verschiedenen Werte ist dabei ein aus zehn
Bits bestehender numerischer Koeffizient, der im Festspeicher gespeichert ist. Die Koeffizienten K1 und K2 können daher irgendeinen
von sechsunddreißig verschiedenen Werten haben, während die Koeffizienten K3 bis K6 einen von zwanzig verschiedenen
Werten haben können. Der Koeffizient K7 kann einen von sechzehn verschiedenen Werten haben, und die Koeffizienten
K8 bis K10 können einen von acht verschiedenen Werten haben. Der codierte Tonhöhenparameter besteht aus sechs Bits, so
daß er bis zu vierundsechzig verschiedene Werte haben kann.
030046/0904
Nur dreiundsechzig dieser Werte geben jedoch tatsächlich Tonhöhenwerte wieder; eine Tonhöhen-Codegruppe 000000 wird
dazu benutzt, einen stimmlosen Datenrahmen zu kennzeichnen. Die codierten Energieparameter bestehen aus vier Bits, so
daß daher im Normalfall sechszehn 10-Bit-Werte verfügbar werden; ein codierter Energieparameter mit dem Wert 0000
zeigt jedoch einen stillen Rahmen an, wie er als Pause in und zwischen Wörtern, Sätzen und dergleichen auftritt. Ein
codierter Energieparameter mit dem Wert 1111 (Energie = 15) wird andererseits dazu verwendet, das Ende eines Abschnitts
der gesprochenen Sprache zu kennzeichnen, wodurch angezeigt wird, daß der Sprachsyntheseprozessor mit dem Sprechen aufhören
soll. Von den sechzehn verfügbaren Codegruppen für den codierten Energieparameter werden also nur vierzehn zur Kennzeichnung
verschiedener Sprachenergiewerte mit jeweils zehn Bits benutzt.
Die codierten Koeffizienten K1 und K2 bestehen aus mehr Bits
als die codierten Koeffizienten K3 bis K6, die ihrerseits
mehr Bits als die codierten Koeffizienten K7 bis K10 enthalten,
da der Koeffizient K1 einen größeren Einfluß auf die Sprache als der Koeffizient K2 hat, der wiederum einen größeren
Einfluß auf die Sprache als der Koeffizient K3 hat, was sich durch die Koeffizienten mit niedrigerer Wertigkeit fortsetzt.
Aufgrund der größeren Bedeutung der Koeffizienten K1 und K2 im Vergleich zu den Koeffizienten K8 bis K10 werden
im codierten Format zur Bildung der Koeffizienten K1 und K2 mehr Bits als zur Bildung der Koeffizienten K3 bis K6 oder K7
bis K10 verwendet.
Es hat sich auch gezeigt, daß zur richtigen Nachbildung der Sprache die Daten für die stimmhafte Sprache mehr Koeffizienten
als die Daten für die stimmlose Sprache benötigen; wenn
030046/0904
also stimmlose Rahmen auftreten, werden die Koeffizienten K5
bis K10 nicht aktualisiert, sondern lediglich auf den Wert Null gestellt. Der Sprachsyntheseprozessor bemerkt die Aus·-
gabe eines stimmlosen Rahmens, weil der codierte Tonhöhenparameter
den Wert 000000 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 ms nicht merklich ändern... Insbesondere bleiben die Koeffizienten K1 bis KlO häufig nahezu
unverändert. Daher wird ein Wiederholungsrahmen benutzt, bei dem neue Energie- und Tonhöhenparameter in den Sprachsyntheseprozessor
eingegeben werden, während jedoch die zuvor eingegebenen Koeffizienten K1 bis K10 unverändert bleiben. Der
Sprachsyntheseprozessor erkennt den aus zehn Bits bestehenden Wiederholungsrahmen, da das tiiederholungsb± zwischen dem
Energiekoeffizienten und dem Tonhöhenkoeffizienten dann in
Erscheinung tritt, während es normalerweise abgeschaltet 1st. Wie bereits erwähnt wurde, treten zwischen dem Sprechen oder
am Ende des Sprechens Pausen auf, die dem Sprachsyntheseprozessor
vorzugsweise angezeigt werden; solche Pausen werden von einem codierten.Energierahmen angezeigt, der den Wert Null
hat, wobei der Sprachsyntheseprozessor 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 55x50 oder 2750 Bits pro
Sekunde zur Folge. Durch die zusätzliche Anwendung variabler Rahmenlängen gemäß Fig. 6 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.
030046/0904
Die verschiedenen Abschnitte des Sprachsyntheseprozessors von Fig. 4a und Fig. 4b werden nun unter Bezugnahme auf die
Figuren 7a bis 14b beschrieben, die die Einzelheiten der digitalen Schaltungen zeigen, die zur Bildung des Sprachsyntheseprozessors
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 " 111 (Vss) das Fehlen des Signals anzeigt.
Ferner sei bemerkt, daß die Zahl Drei in getakteten Verknüpfungsgliedern anzeigt, daß die Taktphase.03 als Vorladetakt
benutzt wird, während die Zahl Vier in einem getakteten Verknüpfungsglied anzeigt, daß die Taktphase 04 als
Vorladetakt benutzt wird. Der Buchstabe S im Verknüpfungsglied zeigt an, daß es statisch betrieben wird.
030046/0904
Die Figuren 7a und 7b bilden zusammen das genaue Logikschaltbild der Zeitsteuerschaltung für den Sprachsyntheseprozessor TO
Der Zähler 510 ist ein Pseudozufalls-Schiebezähler mit einem Schieberegister 510a und einer Rückkopplungslogik 510b. Der
Zähler 510 führt eine Pseudozufallszählurig durch, und die
nicht negierten und die negierten Ausgangssignale des Schieberegisters 510a werden in den Eingangsabschnitt 511 eines
programmierbaren Zeitsteuerfeldes (PLA) eingegeben. Die von
dem programmierbaren Zeitsteuerfeld decodierten verschiedenen T-Zeitperioden sind an den jeweiligen Ausgangsleitungen angegeben. Der Abschnitt 511c des programmierbaren Zeitsteuerfeldes ist mit einer programmierbaren Ausgabe-Zeitsteuerlogik 512
verbunden, die verschiedenen Kombinationen und Folgen von
Zeitperiodensignalen, beispielsweise T ungerade, T10 bis T18, usw., erzeugt. Die Abschnitte 511a und 511b des programmier-baren Zeitsteuerfeldes 511 werden anschließend noch beschrieben .
Zähler 510 führt eine Pseudozufallszählurig durch, und die
nicht negierten und die negierten Ausgangssignale des Schieberegisters 510a werden in den Eingangsabschnitt 511 eines
programmierbaren Zeitsteuerfeldes (PLA) eingegeben. Die von
dem programmierbaren Zeitsteuerfeld decodierten verschiedenen T-Zeitperioden sind an den jeweiligen Ausgangsleitungen angegeben. Der Abschnitt 511c des programmierbaren Zeitsteuerfeldes ist mit einer programmierbaren Ausgabe-Zeitsteuerlogik 512
verbunden, die verschiedenen Kombinationen und Folgen von
Zeitperiodensignalen, beispielsweise T ungerade, T10 bis T18, usw., erzeugt. Die Abschnitte 511a und 511b des programmier-baren Zeitsteuerfeldes 511 werden anschließend noch beschrieben .
Die Parameterzahl, mit der der Sprachsyntheseprozessor arbeitet,
wird von einem Parameterzähler 513 festgehalten. Der Parameterzähler
513 enthält eine 1-Additionsschaltung und Schaltungseinheiten,
die auf das Signal SLOW und in einer anderen
Ausführungsform das Signal SLOW D ansprechen. Beim Signal SLOW wiederholt der Parameterzähler den Zyklus A der Parameterzahl zweimal (für insgesamt drei A-_Zyklen) , bevor er in den Zyklus B eintritt. Dies bedeutet, daß die Periodendauer der Parameterzahl verdoppelt wird, so daß die an das Digitalfilter 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
Ausführungsform das Signal SLOW D ansprechen. Beim Signal SLOW wiederholt der Parameterzähler den Zyklus A der Parameterzahl zweimal (für insgesamt drei A-_Zyklen) , bevor er in den Zyklus B eintritt. Dies bedeutet, daß die Periodendauer der Parameterzahl verdoppelt wird, so daß die an das Digitalfilter 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
0300A6/0904
B-Zyklus folgt. Es sei daran erinnert, daß während des Α-Zyklus die Interpolation begonnen wird, während im B-Zyklus
die interpolierten Ergebnisse wieder in den K-Stapel 302, die E10-Schleife 304 oder das Tonhöhenregister 305 eingegeben
werden. Die reine Wiederholung des Α-Zyklus hat daher nur die Wirkung, daß der gleiche Wert des Sprachparameters
nocheinmal berechnet wird; da er jedoch nur einmal wieder in den K-Stapel 302, die E10-Schleife 304 oder das Tonhöhenregister
30 5 eingegeben wird, werden nur die Ergebnisse der Interpolation unmittelbar vor Beginn des B-Zyklus festgehalten.
In einer Alternativausführung kann dem Sprachmodul befohlen
werden, langsamer als normal zu sprechen. In der vorliegenden Ausführung ist diese Fähigkeit jedoch unerwünscht; die Eingänge
SLOW und SLOWD sind daher an Vss gelegt.
Da der Parameterzähler 513 eine 1-Additionsschaltung enthält,
repräsentieren die von ihm ausgegebenen Ergebnisse PC1 bis PC4 in binärer Form die bestimmte Parameterzahl, in der der
Sprachsyntheseprozessor arbeitet. Das Ausgangssignal PCO zeigt an, in welchem Zyklus, A oder B, die Parameterzahl
sich befindet. Der Parameterdezimalwert der Parameterzahl wird vom Zeitsteuerfeld 514 decodiert, die mit der Bezeichnung
PC=O, PC=I, PC=7 usw. neben dem Zeitsteuerfeld 514 angegeben ist. Die Beziehung zwischen den verschiedenen Parametern
und den Werten der Parameterzahl PC ist in Fig. 6 angegeben. Die Ausgangsabschnitte 511a und 511b des programmierbaren
Zeitsteuerfeldes 511 sind auch mit den Aus- ' " gangen des programmierbaren Zeitsteuerfeldes 514 verbunden,
so daß die K-Übertragungssignale (TK) während der Zeitperiode T9 bei PC=2, während T8 bei PC=3, während T7bei PC=4 usw.
bis während T1 bei PC=10 einen hohen Wert annehmen. In der gleichen Weise nimmt auch ein Parameterlade-Zeitsteuersignal
(LDP) während der Zeitperiode T5 bei PC=O, während T1 bei
PC=1, während T3 bei PC=2 usw. bis während T7 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
030046/0904
diese übertragung in verschiedenen T-Zeitperioden entsprechend
der bestimmten Parameterzahl im Parameterzähler 513 stattfindet,
damit sichergestellt wird, daß der passende Parameter aus dem KEIO-Übertragungsregister 303 ausgegeben wird. Das Parameterladesignal
LDP wird im Zusammenhang mit dem Parametereingaberegister dazu benutzt, die.Anzahl der Bits zu steuern, die in
dieses Register eingegeben werden, was entsprechend der dem Parameter zugeordneten Anzahl von Bits ausgeführt wird, der
dann in Übereinstimmung mit der Anzahl von Bits in jedem codierten Parameter gemäß Fig. 6 geladen wird.
Der Interpolationszähler 515 enthält ein Schieberegister und
eine 1-Additionsschaltung zum binären Zählen des bestimmten
Interpolationszyklus, in dem der Sprachsyntheseprozessor arbeitet.
Die Beziehung zwischen dem bestimmten Interpolationszyklus, in dem der Syntheseprozessor arbeitet, und den Zeitsteuersignalen DIV1, DIV2, DIV4 und DIV8, die aus dem Prozessor
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 T1 geladen wird. Das Ausgangssignal des 3-Bit-Halteglieds 516 wird von den Verknüpfungsgliedern
517 decodiert, damit die zuvor erwähnten Zeitsteuer—
signale DIV-1 bis DIV8 erzeugt werden. Der i-nterpolation.szä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=I2 fortgeschaltet werden- kann. .
ROM/CPU-Schnittstellenlogik
Die Figuren 8a bis 81, die ein Gesamtschaltbild darstellen, zeigen ein genaues Logikdiagramm■der ROM/CPU-Schnittstellenlogik
21. Das Parämetereingaberegiöter 205 ist ein 7 -Bit-Schieberegister,,
wobei die meisten Stufen dieses Schieberegisters
030046/0904
eine Länge von zwei Bits haben. Die Stufen haben in der vorliegenden
Ausführungsform die Länge von 2 Bits, da die Festspeicher
12A und 12B Daten mit der halben Frequenz ausgeben, mit der sie normalerweise in den Sprachsyntheseprozessor 10
getaktet werden.
Die codierten Daten im Parametereingaberegister 205 werden über die Leitungen INO bis IN5 in den Schreib/Lese-Speicher 20
für codierte Parameter eingegeben, der von den Signalen PC1
bis PC4 adressiert wird, damit angezeigt wird, welcher codierte Parameter dann abgespeichert wird. Der Inhalt des Schieberegisters
205 wird von dem auf die Signalwerte "1" ansprechenden Verknüpfungsglied 207, von dem auf die Signalwerte "0" ansprechenden
Verknüpfungsglied 206 und vom Wiederholungshalteglied 208a getestet. Wie zu erkennen ist, prüft das Verknüpfungsglied
206, ob alle vier niedrigstwertigen Bits des Registers 205 den Wert "0" haben, während das Verknüpfungsglied 207
prüft, ob alle diese Bits den Wert "1" haben. Das Verknüpfungsglied 207 arbeitet auch abhängig von den Signalen PCO, DIV1,
T16 und PC=O, so daß der "0"-Zustand nur während der Zeitperiode geprüft wird, in der der codierte Energieparameter
in das Parametereingaberegister 205 geladen wird. Das Wiederholungsbit tritt bei dieser Ausführungsform unmittelbar
vor dem codierten Tonhöhenparameter auf; es wird daher während des Α-Zyklus von PC=1 getestet. Das Tonhöhenhalteglied
208b wird in Abhängigkeit davon gesetzt, daß alle Bits des codierten Tonhöhenparameters den Wert "0" haben, so daß es
also nicht nur abhängig vom Verknüpfungsglied 206, sondern
auch abhängig vom höchstwertigen Bit der Tonhöhen^Daten an der Leitung 222 und abhängig vom Signal PC=1 arbeitet. Das
Tonhöhenhalteglied 208b wird immer dann gesetzt, wenn der codierte Tonhöhenparameter den Wert "000000" hat, der anzeigt,
daß die Sprache stimmlos sein soll.
030046/0904
Das Halteglied 208 für den Ehergiewert "0" arbeitet abhängig
vom Ausgangssignal des Verknüpfungsglieds 206 und vom
Signal PC=O, und es prüft, ob als codierter Energieparameter alle eingegebenen Bits den Wert 11O" haben, worauf
es abhängig davon gesetzt wird. Das Tonhöhenhalteglied 208d\
für die vorherige Tonhöhe speichert das Ausgangssignal des
Tonhöhenhaiteglieds 208b für "Tonhöhe = 0" aus dem vorhergehenden
Rahmen der Sprachdaten, während das Energiehalteglied
208e für die alte Sprachenergie das Ausgangssignal des Halteglieds 208c aus den vorhergehenden Rahmen der
Sprachdaten speichert. Die Inhalte der Tonhöhenhalteglieder 208d und 208b werden in Vergleichsschaltungen 209c miteinander
verglichen, damit ein Sperr signal INHIBIT erzeugt wird..
Das Sperrsignal INHIBIT sperrt die Interpolationsvorgänge,
was während eines Wechsels von stimmhafter zu stimmloser
Sprache oder von stimmloser zu stimmhafter Sprache erwünscht ist, damit die neuen Sprachparameter automatisch in den K-Stapel
302, die ElO-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 208e und des Halteglieds 208c werden von einem NAND-Glied 209d zur Interpolationssperrung
bei einem übergang von einem nichtsprechenden Datenrahmen zu
einem sprechenden Datenrahmen geprüft. Die Ausgangssignale des NAND-Glieds 209d und der Vergleichsglieder 209c werden
an ein NAND-Glied 209e angelegt, dessen Aüsganggsignal mit
Hilfe eines Negators 236 zum Signal INHIBTT negiert wird/
Die Halteglieder 208a bis 208c werden von-einem Verknüpfungsglied 225 rückgesetzt, und die Halteglieder 208d und 20Se
werden von einem Verknüpfungsglied 226 rückgesetzt. Wenn das
Anregungssignal stimmlos ist, sind die Koeffizienten K5 bis.-.'"-"
K10 auf den Wert "0" gesetzt, wie bereits erwähnt wurde. Dies wird zum Teil durch die Wirkung des Verknüpfungsglieds 209b
030046/0904
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 PC5 aus dem Zeitsteuerfeld 514 angezeigt wird.
In den Figuren 8a bis 81 ist auch ein Befehlsregister 210 dargestellt, das aus drei Haltegliedern 210a, 210b und 210c
besteht, die die Daten an den Punkten D1, D2 und D3 in Abhängigkeit
von einem Befehlslade-Freigabesignal LDCE festhalten.
Der Inhalt des Befehlsregisters 210 wird vom Befehlsdecodierer
211.decodiert. Wenn der Befehlsdecodierer 211
einen Befehl LA decodiert, werden die vier Bits an den Stiften D7, D6, D5 und D4 des Datenbus 17 in das Adressenregister
213 eingespeichert. Die Adresse im Adressenregister wird dann über Puffer 214 zu den Stiften ADD1 bis ADD8 und
die Festspeicher 12A und 12B angelegt. Außerdem wird der Befehl LA an die RB/LA-Logik 250 angelegt, wo er dazu benutzt
wird, das Befehlssignal am Stift 11 zur Steuerung der Festspeicher 12A und 12B zu erzeugen. Die RB/LA-Logik250
erzeugt auch das LAFIN-Signal, das das Ende eines Befehls
LA anzeigt.
Wenn der Befehlsdecodierer 211 einen Byte-Lesebefehl (RDBY)
decodiert, sind die in den Festspeichern 12A und 12B gespeicherten
Daten für eine externe Zentraleinheit zugänglich. Der Byte-Lesebefehl hat zur Folge, daß die nächsten acht
Datenbits aus den FesLspeichern 12Aund 12B in das Datenregister
212 gelesen werden. Der RDBY-Befehl wird in ein Verknüpfungsglied 291 einer Datenregister-Steuerschaltung
eingegeben. Das Ausgangssignal des Verknüpfungsglieds 291 wird dazu benutzt, die Puffer 212a zu steuern und die im
Datenregister 212 enthaltenen Daten an den Stiften DO bis D7 zum Datenbus 17 abzugeben. Wenn dem Befehl RDBY unmittelbar
030046/0 904
ein Befehl LA an den Verknüpfungsgliedern 271 un<^ 272 des
Zustandsgeräts 270 vorangeht, erzeugt das über das Verknüpfungsglied 274 übertragene resultierende Signal am
Verknüpfungsglied 273 ein Befehlssignal 103. Dieses Befehlssignal
103 wird dazu benutzt, den Zähler in den Festspeichern 212A und 2T2B zu initialisieren. Der Befehl RDBY
wird dann von einem Verzögerungszeitgeber 276a, 276b und 276c verzögert, nachdem er die Verknüpfungsglieder 275a
und 275b durchlaufen hat. Der Verzögerungszeitgeber wird
am Zeitpunkt T2 gesetzt und am Zeitpunkt T17 rückgesetzt. Diese Verzögerung stellt dem Zähler in den Festspeichern 12A
und 12B genügend Zeit zur Initialisierung zur Verfügung. Der Befehl RDBY wird auch an ein Verknüpfungsglied 278 des Zustandsgeräts
270 angelegt. Das Ausgangssignal des Verknüpfungsglieds 278 wird an Verknüpfungsglieder 277 angelegt und
dazu benutzt, am Ausgang des Verknüpfungsglieds 2 79 das Bytelese-Freigabesignal
RDBYEN zu erzeugen. Das Freigabesignal RDBYEN wird dem Verknüpfungsglied 292 in der Datenregister-Steuerlogik
290 zusammen mit den ungeraden T-Zeitsteuersignalen zugeführt und dazu benutzt, die Befehlssignale IÖ2 zu erzeugen,
die Daten aus den Festspeichern 12A und 12B und in das Datenregister 212 takten. Wenn dem Befehl RDBY nicht unmittelbar
ein Befehl LA vorangeht (was der Fall ist, wenn der Zähler in den Festspeichern 12A und 12B bereits initialisiert
ist), wird der Befehl RDBY in das Verknüpfungsglied 281
des Zustandsgeräts 270 eingegeben, und das Befehlssignal 103
sowie die entsprechende, vom Verzögerungszeitgeber 2 76 erzeugte Verzögerung werden nicht angewendet.
Wenn der Befehlsdecodierer 211 einen Lese- und Verzweigungsbefehl (RB) decodiert, kann der Sprachsyntheseprozessor 10
indirekt Bereiche in den Festspeichern 1-2A und 12B adressieren.
Dies wird dadurch erreicht, daß der Befehl RB an die
030046/0904
RB/LA-Logik angelegt wird, die die Befehlssignale 11 und 104
erzeugt, die zu den Festspeichern 12A und 12B übertragen worden. Außerdem wird der Befehl RB an den RB-Zeitgeber 252
angelegt, der eine Verzögerung um 240 με ergibt und dann ein
Lese- und Verzweigungsbeendigungssignal(RBFIN) erzeugt. Das Signal RBFIN zeigt an, daß der Lese- und Verzweigungsbefehl
von den Festspeichern 12A und 12B durchgeführt worden ist.
Der Befehl RB wird auch dem Zustandgerät 270 an den Verknüpfungsgliedern
272 und 282 zugeführt. Da die Festspeicher 12A und 12B jedoch während des Lese- und Verzweigungsvorgangs
ein internes Befehlssigna L IO erzeugen, hat das Verknüpfungsglied
282 über das Verknüpfungsglied 2 74 die Wirkung, das normalerweise von dem Zustandsgerät 270 erzeugte Befehlssignal 10 unwirksam zu machen.
Wenn der Befehlsdecodierer 211 einen Rückstellbefehl (RST)
decodiert, wird dieser Befehl RST in großem Umfang entweder allein oder zusammen mit dem Einschaltlöschsignal· (PUC) dazu
benutzt, verschiedene Funktionen im gesamten Sprachsyntheseprozessor 10 zu initialisieren oder zurückzustellen.
Wenn der Befehlsdecodierer 211 einen Sprechbefehl (SPK) decodiert,
erzeugt der Sprachsyntheseprozessor 10 synthetische Sprache unter Verwendung codierter Sprachparameter, die in
den Festspeichern 12A und 12B gespeichert sind. Dies wird
durch die Sprechfreigabelogik 251 erzielt, die ein Sprechfreigabesignal
(SPEN) erzeugt, das zum Setzen der Sprechhalteglieder 216a, 216b und 216c benutzt wird. Das Sprechhalteglied.
216a erzeugt ein Sprechstatussignal (TALKST), das im gesamten Sprachsyntheseprozessor 10 dazu benutzt wird, anzuzeigen,
daß Sprache erzeugt wird. Die Sprechhalteglieder 216a, 216b und 216c bleiben gesetzt, wenn sie nicht von den Haltegliederr
232a und 232b rückgesetzt werden, was eintritt, wenn (1) ein
030046/0904 BAD ORIGINS.
Einschaltlöschsignal (PUC) und/oder ein Rücksetzsignal (RST) vorliegt, (2) vom Verknüpfungsglied 207 ein Signal "Energie
= 15" festgestellt wird oder (3) während des Externsprechmodus (der anschließend noch erläutert wird) ein Signal erzeugt
wird, das anzeigt, daß der Puffer leer ist und daß der Sprechdecodierer 211 unwirksam gemacht ist. Der Sprechbefehl
SPK wird auch dem Verknüpfungsglied 281 des Zustandsgeräts 270 zugeführt, wo er dazu benutzt wird, ein Sprechbeendigungssignal
(SPKFIN) zu erzeugen.
Wenn der Befehlsdecodierer 211 einen Externsprechbefehl
(SPKEXT) decodiert, schaltet der Sprachsyntheseprozessor auf den Externsprechmodus um. Im Externsprechmodus werden
codierte Sprachparameter aus einer externen Quelle, vorzugsweise der Zentraleinheit eines kommerziellen Computers oder
eines Heimcomputers, an den Stiften DO bis D7 des Datenbus eingegeben. Die codierten Sprachparameter an den Stiften DO
bis D7 werden in einen FIFO-Pufferspeicher 2215 eingegeben, der als 16x8-Speicher mit Paralleleingabe und Serienausgabe
(PISO) organisiert ist. Die codierten Sprachparameter werden über eine FIFO-Steuereinheit 2210 in den FIFO-Speicher 2215
eingegeben. Die FIFO-Steuereinheit 2210 gibt jeweils immer dann ein Datenbyte ein, wenn von der Eingabe/Ausgabe-Logik
260 ein Byte-Schreibsignal (WBYT) erzeugt wird. Die Sprachdaten im FIFO-Speicher 2215 werden seriell in das Parametereingaberegister
205 eingegeben, während der Externsprechmodus vorliegt und die Sprachsynthese stattfindet. Der
Externsprechmodus wird folgendermaßen erzielt: Die Externsprechlogik
253, an deren Eingang das Befehlssignal· SPKEXT liegt, erzeugt ein Decodierungssperrsignal (DDIS), das den
Befehlsdecodierer 211 unwirksam macht und dadurch sicherstellt,
daß die Daten an den Stiften DO bis D7■als Sprachdaten
und nicht als Befehlsdaten behandelt werden. Die
046/0904
Externsprechlogik 253 erzeugt auch ein Externsprech-Randsignal
(SPKEE), das den FIFO-Speicher 2215 löscht, indem es den FIFO-Zähler 2220 veranlaßt, eine Initialisierung
vorzunehmen und ein Löschsignal (CLR) für die FIFO-Steuereinheit 2210 zu erzeugen. Dem FIFO-Speicher 2215 ist auch eine
FIFO-Statuslogik 2230 zugeordnet, die zwei Signale erzeugt.
Das Signal "Puffer niedrig" (BL) wird erzeugt, wenn der FIFO-Speicher 2215 halb gefüllt ist. Dieses Signal wird
dazu benutzt, der Zentraleinheit anzuzeigen, daß der Sprachsyntheseprozessor eine Bedienung erfordern kann. Außerdem
erzeugt die FIFO-Statuslogik 2230 ein Signal "Puffer leer" (BE), das anzeigt, daß der FIFO-Speicher 2215 leer ist. Das
Signal BE wird dazu benutzt, das Sprechhalteglied 216 über das Verknüpfungsglied 232b zurückzusetzen. Das Signal DDIS
wird von der I0-Logik 2240 auch dazu benutzt, ein Serienschiebefreigabesignal
(SSE) zu erzeugen, das der FIFO-Steuereinheit 2210 erlaubt, Sprachdaten seriell aus dem FIFO-Speicher
2215 zu schieben und über die Sprachladelogik 225O in das Parametereingaberegister 205 einzugeben. Der ROM/CPU-Schnittstellenlogik
21 ist auch eine Eingabe/Ausgabe-Logik und eine Unterbrechungslogik 2260 zugeordnet. Die Eingabe/
Ausgabe-Logik 260 erzeugt das Befehlslade-Freigabesignal (LDCE), das dem Befehlsregister 210 erlaubt, Befehle zu speichern. Dies
wird vom Halteglied 261 erzielt, das vom Einschaltlöschsignal (PUC) oder von den Endsignalen verschiedener Befehle gesetzt
wird; ferner wird dies durch das Halteglied 262 erzielt, das vom Ausgangssignal des Halteglieds 261 und vom Decodiersperrsignal
(DDIS) , vom Schreibwählsignal (WS) und vom Signal READY gesetzt wird. Das Befehlslade-Freigabesignal wird am Ausgang
des Halteglieds 263 erzeugt, wenn (1) gerade kein Befehl ausgeführt wird; (2) der Befehlsdecodierer 211 nicht gesperrt
ist; (3) ein Schreibwählsignal vorhanden ist; (4) der Sprachsyntheseprozessor
10 gerade das Schreibwählsignal festgestellt hat (wobei das Signal READY einen hohen Wert hat). Die Eingabe/
Ausgabe-Logik 260 erzeugt auch das Byto-Schreibsignal (WBYT),
030046/0904
das der FIFO-Steuereinheit 2210 ermöglicht, ein aus acht:
Bits bestehendes Byte der codierten Sprachparameter in das oberste Niveau des FIFO-Speichers 2215 zu laden. Dies wird
unter Verwendung des Halteglieds 264 erreicht, das von einem Schreibwählsignal· (WS) gesetzt wird, wenn folgende
Bedingungen vorliegen: (1) der Befehlsdecodierer 211 von
einen Decodiersperrsignal (DDIS) gesperrt ist, was anzeigt, daß ein Externsprechbefehl ausgeführt worden ist; (2) das
C0-Niveau des FIFO-Speichers 2215 leer ist; (3) der Sprachsyntheseprozessor
10 nicht immer noch einen vorhergehenden Befehl ausführt (wobei das Signal EEADY einen hohen Wert hat).
Das Byte-Schreibsignal (WBYT) wird am Ausgang des Verknüpfungsglieds
265 erzeugt. Die Eingabe/Ausgabe-Logik 260 erzeugt das Signal READY am Ausgang des Verknüpfungsglieds 267 als Antwort
auf ein Lesewähl- oder Schreibwählsignal "aus der Zentraleinheit.
Wenn das Signal READY einen hohen Wert hat, ist die Zentraieinheit mit dem Sprachmodul· verbunden, bis das Signal·
READY vom Verknüpfungsglied 266 rückgesetzt wird. Das Verknüpf ungsg^ied 266 bewirkt das Rücksetzen des Signais READY
auf den Wert "0", wenn fotgende Signaie auftreten: (1) ein
Signal· WBYT am Ausgang des Verknüpfungsglieds 265, das anzeigt,
daß das Datenbyte am Datenbus 17 in den FIFO-Speicher
2215 gelesen worden ist; (2) das SR2-Signal, das von den
Puffern 212f und 212g des Datenregisters 212 durch die Datenregistersteuereinheit
219 erzeugt wird und anzeigt, daß die durch einen Lesewähibefehl· erzeugten Statussignaie erzeugt
worden sind; (3) das RS I-Signal·, das von den Puffern 2T2a
bis 212h des Datenregisters 212 durch die Datenregister-Steuereinheit
290 erzeugt wird und anzeigt, daß das 8-Bit— Byte erzeugt worden ist, das durch ein Lescwählsignal aufgerufen
worden ist, dem ein Byte-Lesesignal· vorangeht; (4) der Befehl· LDCE, der vom Verknüpfungsgiied 263 erzeugt wird
und in das Verknüpfungsgiied 266 eingegeben wird, wobei er
030046/0904
anzeigt, daß ein Befehl in das Befehlsregister 210 eingespeichert
worden ist. Die Unterbrechungslogik 2260 erzeugt das Unterbrechungssignal (INT), damit der Zentraleinheit
ein Statuswechsel des Sprachsyntheseprozessors 10 angezeigt
wird. Die drei von der Zentraleinheit überwachten Statussignale
sind: "Puffer leer" (BE) , "Puffer niedrig" (BL.) und "Sprechstatus" (TALKST). Die Signale BE und BL werden von der
FIFO-Statusschaltung 2230 erzeugt und über Puffer 212f bzw.
212g ausgegeben. Das Signal TALKST wird von der Sprechhalteschaltung
2 16a erzeugt und über den Puffer 212h ausgegeben. Ein Statuswechsel des Sprachsyntheseprozessors 10, der zu
einem Wechsel der Statussignale BE, BL oder TALKST führt, wird von den Verknüpfungsgliedern 2261, 2262 und 2263 der
Unterbrechungslogik 2260 festgestellt und führt zu einem Unterbrechungssignal (INT), das durch die Verknüpfungsglieder
2264 und 2265 erzeugt wird. Das Verknüpfungsglied 2265 wird dazu benutzt, das Unterbrechungssignal INT nach dem
Knipfanq eines SR2-S.ignals zurückzusetzen, das anzeigt, daß
der in den Puffern 212f bis 212h enthaltene Status von der Zentraleinheit gelesen worden ist oder daß ein Rücksetzsignal
empEangen worden ist.
Parameterinterpolationslogik
Die Figuren 9a und 9b zeigen zusammen ein Schaltbild der Parameterinterpolationslogik 23. Der K-Stapel 302 enthält
zehn Register, die jeweils zehn Informationsbits speichern. Jedes kleine Quadrat repräsentiert dabei ein Speicherbit, das gemäß
dor Vereinbarung bei 330 dargestellt ist. Der Inhalt jedes Schieberegisters läuft über Umlauf-Verknüpfungsglieder
J I 4 unter der Steuerung durch ein Umiauf-SLeuerglied 3I5 um
Der K-Stapel 302 speichert Sprachkoeffizienten K1 bis K9,
030046/0904
BAD ORtGlHAL
und er bewirkt die Zwischenspeicherung des Koeffizienten K10
oder Energieparameters entsprechend der in Fig. 7 der Patentanmeldung
P 28 26 570.5 beschriebenen Sprachsyntheseanordnung. Die an verschiedenen Zeitperioden aus dem K-Stapel 302 zur
Umcodierungslogik 301 ausgegebenen Daten sind in der Tabelle II dargestellt. In der Tabelle III der Patentanmeldung P 28 26 570.5
sind die vom K-Stapel von Fig. 7 dieser Patentanmeldung ausgegebenen Daten dargestellt. Die Tabelle II der vorliegenden Anmeldung
unterscheidet sich von der Tabelle III der erwähnten Patentanmeldung, (1) weil die Umcodierungslogik 301 die gleichen
Koeffizienten an den Leitungen 32-1 bis 32-4, an den Leitungen
32-5 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 Information
sbits für jedes Bit anspricht, auf das der Matrixmultiplizierer
der zuvor genannten Patentanmeldung angesprochen hat, (2) weil der zuvor im Zusammenhang mit Fig. 5 erläuterte
Unterschied in der Bezeichnung der Zeitperioden vorliegt und (3) weil der Umcodierungslogik 301 eine Zeitverzögerung zugeordnet
ist.
Die Umcodierungslogik 301 koppelt den K-Stapel 302 mit dem
Matrixmultiplizierer 4OT (Fig. 10a und 10b). Die Umcodierungslogik
301 enthält vier übereinstimmende Umcodierungsabschnitte 312a bis 313d, von denen nur einer, nämlich der Abschnitt 312a,
genau dargestellt ist. Die erste Stufe der Umcodierungslogik, nämlich die Stufe 313 unterscheidet sich grundsätzlich von den
Stufen 312a bis 312d, da in dieser erslen Stufe natürlich kein
Übertrag vorhanden ist, wie er beispielsweise am Eingang A der Stufen 312a bis 312d aus einer Stufe niedrigerer Ordnung
auftritt. Die Umcodierungslogik gibt an jede Stufe eines fünfstufigen Matrixmultiplizierers 401 Ausgangssignale +2, -2,
+1 und -1 ab; eine Ausnahme bildet dabei die Stufe Null, die nur die Ausgangssignale -2, +1 und -1 empfängt. Die Umcodierungslogik
301 ermöglicht dem Matrixmultiplizierer, in jeder
030046/0904
Vr ".
Stute anstelle eines Informationsbits zwei Informationsbits
unter Verwendung eines Booth -Algorithmus zu verarbeiten. Der Booth -Algorithmus ist in dem Buch "Theory and Application
of Digital Signal Processing", Prentice-Hall 1975, Seiten 517 bis 518 erläutert.
Der K10-Koeffizient und der Energieparameter sind in der
E10-Schleife 304 gespeichert. Die ElO-Schleife besteht vorzugsweise
aus einem 20-stufigen seriellen Schieberegister. Zehn Stufen 304a der E10-Schleife 304 sind vorzugsweise in
Serie geschaltet, während weitere zehn Stufen 304b, die ebenfalls in Serie geschaltet sind, auch Parallelausgänge
und Paralleleingänge zum K-Stapel 302 aufweisen. Der entsprechende
Parameter, entweder der Energieparameter oder der K10-Koeffizient, wird übor Schaltglieder 315, die abhängig
von einem NOR-Glied 316 arbeiten, aus der ElO-Schleife
304 zum K-Stapel 302 übertragen, wodurch der Energieparameter aus der E10-Schleife 304 in der Zeitperiode T10 zum K-Stapel
302 übertragen wird, während der K10-Koeffizient in der
Zeitperiode T20 aus der E10-Schleife 304 in den K-Stapel übertragen wird. Das NOR-Glied 316 steuert auch das Umlauf-Steuerglied
315 in der Weise, daß der Umlauf im K-Stapel gesperrt wird, wenn Daten übertragen werden.
Das KE1O-Übertragungsregister 303 erleichtert die Übertragung
des Energieparameters oder der Sprachkoeffizienten K1 bis K10, die in der E10-Schleife 304 oder im K-Stapel 302 gespeichert
sind, über die Wählschaltung 307 zur Additionsschaltung und zur Verzögerungsschaltung 309. Das Register 303 weist
neun Stufen auf, die von paarweise zusammengefaßten Nega-Loren
gebildet sind; eine zehnte Stufe wird von der Wählschaltung 307 und einem Verknüpfungsglied 317 gebildet, damit
0 3 0 0 4 6/0904
BAD ORIGINAL
die Übertragung der zehn Informationsbits von der E10-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 511b des programmierbaren
Zeitsteuerfeldes 511 (Figuren 7a und 7b) erzeugt.. Da
der zu interpolierende und in das Register 303 zu schiebende Parameter von der bestimmten Parameterzahl abhängt, in der
der Sprachsyntheseprozessor arbeitet, und da der für die Ausgabe aus dem K-Stapel 302 zur Verfügung stehende bestimmte
Parameter von der bestimmten ,Zeitperiode abhängt, in der der
Sprachsyntheseprozessor arbeitet, erscheint das Signal TK für
den Tonhöhenparameter in der Zeitperiode T9, für den Parameter
K1 in der Zeitperiode T8, für den Parameter K2 in der
Zeitperiode T7 usw., wie die Figuren 7a und 7b zeigen. Der Energieparameter oder der K10-Koeffizient werden abhängig
von einem Signal TE10, das das Zeitsteuerfeld 511 erzeugt,
über die Verknüpfungsglieder 319 aus der E10—Schleife 304
in das Register 303 getaktet. Nach jedem Interpolationsvorgang, d.h. während des B-Zyklus, werden die Daten über die
Verknüpfungsglieder 318 unter der Steuerung durch das Signal TK
aus dem Register 303 (1) in den K-Stapel 302 übertragen, wobei an diesem Zeitpunkt die Umlauf-Schaltglieder 314 von den Schaltgliedern
315 gesperrt sind, oder (2) über die Verknüpfungs—
glieder 319 zur E10-Schleife 304 übertragen. .
Im Tonhöhenregister 305 ist ein aus zehn Bits bestehender
Tonhöhenparameter gespeichert; dieses Tpnhöhenregister 305
enthält ein neunstufiges Schieberegister und Umlaufelemente
305a, die ein weiteres Speicherbit bilden. Der Tonhöhenparameter läuft normalerweise über das Verknüpfungsglied 305a im
Register 305 um, ausgenommen dann, wenn an der Leitung 320
unter der Steuerung durch eine Tonhöhen-Interpolationslogik 306 ein gerade interpolierter Tonhöhenparameter geliefert
03004670904
wird. Das Ausgangssignal PTO des Tonhöhenregisters 305 oder das Ausgangssignal des Registers 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
Registers 303 dem Verknüpfungsglied 317 zugeführt wird, ausgenommen
dann, wenn die Tonhöhe interpoliert werden soll. Die Interpolationssteuerlogik 306 steuert auch die Ausgabe des
Tonhöhensignals an die Addierschaltung 308 und die Verzögerungsschaltung 309 während des Α-Zyklus des Parameterzahlsignal
PC=1, und sie führt den interpolierten Tonhöhenwert an der Leitung 320 im B-Zyklus des Signals PC=1 wieder in das
Register 305 zurück. Das Verknüpfungsglied 317 bewirkt in Abhängigkeit von einem Halteglied 321 die Ausgabe der Tonhöhen-,
Energie- oder Koeffizienteninformation an die Addierschaltung
308 und an die Verzögerungsschaltung 309 während der Interpolation. Da die Daten seriell getaktet werden, kann das Takten
der Information während eines Α-Abschnitts begonnen werden, und das Signal PCO kann an irgendeinem Zeitpunkt während der
übertragung der Information aus dem Register 30 3 oder dem Register 305 in die Addierschaltung 308 oder in die Verzögerungsschaltung
309 auf den Wert "1" umgeschaltet werden; das Verknüpfungsglied 317 wird daher von einem A-Zyklus-Halteglied
321 gesteuert, das mit dem Signal PCO an dem Zeitpunkt gesetzt wird, an dem vom programmierbaren Steuerfeld 511 ein
Koeffizientenübertragungssignal TK, ein E1O-Ubertragungssignal
TE10 und ein Tonhöhenübertragungssignal TP erzeugt wird.
Das Ausgangssignal des Verknüpfungsglieds 317 wird an die Addierschaltung 308 und an die Verzögerungsschaltung 309
angelegt. Die Verzögerungszeit der Verzögerungsschaltung 309 hängt vom Zustand der vom Interpolationszähler 515 (Fig. 7a,
7b) erzeugten Signale DIV1 bis DIV8 ab. Da am Ausgang des
030046/0904
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 310
zusammen mit dem Ausgangssignal der Subtrahierschaltung 308
erreicht, daß die effektive Größe der Differenz aus der Subtrahierschaltung
308, die anschließend dann von der Addierschaltung 310 wieder zurückaddiert wird, umso kleiner ist,
je größer die Verzögerung durch die Verzögerungsschaltung ist. Die Verzögerungsschaltung 311 koppelt das Ausgangssignal
der Addierschaltung 310 wieder in die Register 303 und 305 zurück. Die beiden Verzögerungsschaltungen 303 und 309 können
bis zu drei Verzögerungsbits einfügen, und wenn die Verzögerungsschaltung 309 ihre maximale Verzögerung hat, hat die
Verzögerungsschaltung 311 ihre minimale Verzögerung und umgekehrt.
Ein NAND-Glied 322 verbindet den Ausgang der Subtrahierschaltung 308 mit dem Eingang der Addierschaltung 310. Das
NAND-Glied 322 arbeitet abhängig vom Ausgangssignal eines ODER-Glieds 323, das seinerseits abhängig vom Signal INHIBIT aus
dem Negator 336 (Fig. 8a bis 81) arbeitet. Das NAND-Glied
und das ODER-Glied 323 bewirken eine Nullstellung des Ausgangssignals der Subtrahierschaltung 308, wenn das Signal INHIBIT
auftritt, außer der Interpolationszähler befindet sich im Stand
ICO, wobei in diesem Fall die derzeitigen Werte im K-Stapel 302,
in der ElO-Schleife 304 und im P-Register 305 vollständig auf
ihre neuen Zielwerte in einer in einem Schritt ausgeführten Interpolation interpoliert werden. Wenn ein stimmloser Datenrahmen
(Fig. 6) an den Sprachsyntheseprozessor angelegt wird, werden die Koeffizienten K5 bis K10 durch die Wirkung des Verknüpfungsglieds
324 auf Null gestellt, was die Verzögerungsschaltung 311 mit dem Schieberegister 325 verbindet, dessen
Ausgangssignal an die Verknüpfungsglieder 305a und 303' angelegt wird. Das Verknüpfungsglied 324 arbeitet abhängig von
dem vom Verknüpfungsglied 209b (Fig. 8a bis 81) erzeugten Nullparametersignal ZPAR.
030046/0904
Das Verknüpfungsglied 326 verhindert einen Schiebevorgang in den Abschnitt 304b der ElO-Schleife 304, wenn ein neu
interpolierter Energiewert oder K1O-Parameterwert aus dem
Register 303 in den Abschnitt 304b eingegeben wird. Das Verknüpfungsglied 327 steuert die die Stufen des Registers
30 3 verbindenden übertragungsglieder, wobei die Stufen daran gehindert sind, seriell Daten zu verschieben, wenn das Signal
.TK oder das Signal TE10 während des Α-Zyklus einen hohen Wert annimmt, d.h. wenn das Register 303 Daten entweder vom K-Stapel
302 oder von der ElO-Schleife 304 empfangen soll, was von den Übertragungsgliedern 318 bzw. 319 gesteuert wird. Der
Ausgang des Verknüpfungsglieds 327 ist auch mit verschiedenen Stufen des Schieberegisters 325 und einem Verknüpfungsglied
verbunden, das das Verknüpfungsglied 303" mit dem Register 303
verbindet, wodurch bis zu drei Bits, die die zehn höchstwertigen Bits nach der Interpolationsoperation prüfen können, auf Null
gestellt werden können.
Die Figuren 10a und 10b bilden zusammen das Schaltbild des
Matrixmultiplizierers 401. Matrixmultiplizierer werden manchmal auch als Pipeline-Multiplizierer bezeichnet. Als Beispiel
sei auf "Pipeline Multiplier" von Granville E. Ott, veröffentlicht von der Universität von Missouri, verwiesen.
Der Matrixmultiplizierer 401 weist fünf Stufen auf, nämlich die Stufen 0 bis 4 und eine Verzögerungsstufe. Eingangssignale des Matrixmultiplizierers 401 sind die Signale MRO
bis MR13 aus dem Multipliziermultiplexer 415. Das Signal MR13
ist das höchstwertige Bit, während das Signal MRO das niedrigstwertige Bit ist. Weitere Eingangssignale des Matrixmultiplizierers
sind die oben erwähnten Ausgangssignale +2, -2, + 1 und -1 aus der ümcodierungslogik 301 (Figuren 8a bis 8c) ·
030046/0904
Die Ausgangssignale des Matrixmultiplizierers 401, nämlich
die Signale P13 bis PO, werden an den Summiermultiplexer 402
angelegt. Das niedrigstwertige Bit, das Bit PO, hat im vorliegenden
Ausführungsbeispiel stets den Binärwert " 1" , da
dadurch der Mittelwert des Abbruchfehlers auf Null anstelle auf +_ 1/2 des niedrigstwertigen Bits reduziert wird, wobei
sich der zuletzt genannte Wert bei einem einfachen Abbrechen
einer Zahl im Zweierkomplement ergeben würde.
Der Matrixmultiplizierer 401 ist in Form mehrerer Blöcke A-1,
A-2, B-1, B-2, B-3 oder B-C dargestellt. Die speziellen Schaltungselemente,
die diese Blöcke bilden, sind auf der rechten Seite des Gesamtschaltbildes der Figuren 10a und 10b dargestellt;
diese Elemente sind nicht wiederholt dargestellt, und
es ist nicht das gesamte Logikdiagramm für den Matrixmultiplizierer
401 angegeben. Die Blöcke A-1 und A-2 bilden die Stufe
Null des Matrixmultiplizierers; sie arbeiten abhängig von den Signalen -2, +1 und -1 aus dem Decodierer 313 sowie abhängig
von den Signalen MR2 bis MR13. Beim Multiplizieren im Matrixmultiplizierer
401 wird das höchstwertige Bit stets in den Schaltungselementen in der am weitesten, links liegenden, Spalte
festgehalten, während die Teilsummen kontinuierlich nach rechts
verschoben werden. Da jede Stufe des Matrixmultiplizierers mit zwei binären Bits arbeitet, werden die Teilsummen um zwei
Stellen nach rechts verschoben. Für dieDateneingangssignale MRO
und MR1 in der ersten Stufe sind daher keine Α-Blöcke vorgesehen. Da jeder Schaltungsblock im Matrixmultiplizierer 401
abhängig von zwei Informationsbits aus dem K-Stapel 30.2 arbeitet,
die er über die Umcodierungslogik 301 empfängt, arbeitet
jeder Schaltungsblock auch abhängig von zwei Bits aus dem
Multiplizicrinultiplexer 415, wobei diese Bits von Negatoren
430 negiert werden und in wahrer Logik auch in die B-Blöcke
eingegeben werden.
300 4 6/0 9 0-4
Die Figuren 11a und 11b bilden zusammen das genaue Schaltbild
des Filter- und Anregungsgenerators 24 (nicht, des Matrixmultiplizierers
401) sowie des Ausgabeabschnitts 25. Im Filter- und Anregungsgenerator 24 ist eine Summierschaltung 404 enthalten,
die so angeschlossen ist, daß sie an einem Eingang das wahre oder das negierte Ausgangssignal des Matrixmultiplizierers
401 (siehe Fig. 10a und 10b) an den Leitungen PO bis P13 über den Summiermultiplexer 402 empfängt. Der andere
Eingang der Summierschaltung 404 ist direkt über den Summiermultiplexer 402 so angeschlossen, daß er entweder das Ausgangssignal
der Summierschaltung 404 (in den Zeitperioden T10 bis T18), das Ausgangssignal des Verzögerungsstapels 406 an
den Leitungen 440 bis 453 (in den Zeitperioden T20 bis T7 und
T9), das Ausgangssignal des Y-Halteglieds 403 (in der Zeitperiode
T8) oder ein Signal mit dem Wert "0" aus dem Vorladeglied 420 (in der Zeitperiode T19, wenn an diesen Eingang
kein bedingtes Ladesignal anliegt) empfängt. Die Gründe dafür, daß diese Signale in diesen Zeitperioden angelegt werden,
gehen aus E'ig. 8 der oben erwähnten Patentanmeldung P 28 26 570.5 hervor; es 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ögerungsgliudern
414 und dem Multiplexer 402 zugeführt. Der Multiplexer 415 enthält 1-Periodenverzögerungsglieder 414, die
dem 1-Perioden-Verzögerungsglied 34' in Fig. 7 der Patentanmeldung
P 28 26 570.5 äquivalent sind.Das γ-nalteglied 403
empfängt das Ausgangssignal des Verzögerungsstapels 406. Der Multiplexer 415 legt das Ausgangssignal des Y-Halteglieds 403,
030046/0904
das Ausgangssignal der 1-Perioden-Verzögerungsglieder
oder das Anregungssignal am Bus 4151 an die Eingänge MRO
bis MR13 des Mahrixmultiplizierers 401 an. Die Eingangssignale DO bis D13 des Verzögerungsstapels 406 werden von
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 dreizehn höchstwertigen Bits im Filter sind durch ebensolche
digitale Schaltungsglieder gebildet, wie sie mit der gestrichelten Linie A umgeben sind, wobei als Darstellung
längliche, gestrichelt angegebene Kästchen gewählt sind, die die Buchstaben A tragen. Zur Erzielung einer klaren Darstellung
sind die digitalen Schaltungselemente für jedes vom Filter verarbeitete parallele Bit nicht im einzelnen dargestellt.
Die Abschnitte des Filters, die höherwertige Bits als das niedrigstwertige Bit behandeln, unterscheiden sich
von der für die Elemente 402, 403, 404, 405 und 414 angegebenen Schaltung nur bezüglich der Verbindung mit der Abtrennlogik
501 und dem Bus 415', der zum ÜV-Verknüpfungsglied
408 und zum Chirp-Festspeicher 409 führt. Das Ausgangssignal des üV-Verknüpfungsglieds 408 und des Chirp-Festspeichers
409 wird nur den Eingängen 113 bis 16 zugeführt; der mit I bezeichnete Eingang innerhalb der gestrichelten
Linie A wird für die sechs niedrigstwertigen Bits im Filter nicht benötigt. Das Ausgangssignal des Y-Halteglieds
403 wird auch nur an die zehn höchstwertigen Bits YL13 bis Yl4 angelegt; die mit YLx bezeichnete Verbindung
innerhalb der Bezugslinie wird daher für die vier niedrigstwertigen Bits im Filter nicht benötigt.
030046,/09CU-
Der Verzögerungsstapel 406 enthält vierzehn Schieberegister mit einer Länge von jeweils neun Bits, wobei jede Stufe
Negatoren enthält, die mit den Taktsignalen 04 und 03 getaktet werden. Wie in der Patentanmeldung P 28 26 570.5
erläutert ist, erfolgt ein Schiebevorgang im Verzögerungsstapel 4 06, der allgemein dem Schieberegister 35*von Fig.
der genannten Patentanmeldung entspricht, nur bei gewissen Zeitperioden. Dies wird mit Hilfe der digitalen Schaltungselemente
416 erreicht, die aus den Zeitperiodensignalen T10 bis T18 aus dem programmierbaren Zeitsteuerfeld 512 (Fig. 7a
und 7b) Taktsignale 01B bis 04B erzeugen. Die Taktpuffer der digitalen Schaltungselemente 416 sind in den Figuren 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 Patentanmeldung
P 28 26 570.5 eine Länge von acht 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 zugehörige Zeitsteuerung entsprechend der in der Patentanmeldung
P 28 26 570.5 dargestellten Zeitsteuerung modifiziert wäre.
Die im Verzögerungsstapel 406, im Matrixmultiplizierer 401, in der Summierschaltung 404, im Summiermultiplexer 402, im
Y-Halteglied 40 3 und im Multipliziermultiplexer 415 verarbeiteten
Daten werden vorzugsweise in der Zweierkomplementdarstellung behandelt.
030 (H 6/09(K
Der Stimmlos-Signalgenerator 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 208d (Figuren 8a bis 81) anspricht. Das für das alte Tonhöhensignal
zuständige Halteglied 408d steuert das Verknüpfungsglied 408, da das für das Tonhöhensignal mit dem Wert "0" zuständige
Halteglied 208b seinen Zustand unmittelbar dann ändert, wenn neue Sprachparameter "in das Register 205 eingegeben werden.
Da dies während des Interpolationszyklus ICO auftritt, und da während eines Stimmlos-Zustandes die neuen Werte nicht
interpoliert und in den K-Stapel 302, die ElO-Schleife 304
und das Tonhöhenregister 305 bis zum folgenden Interpolationszyklus ICO eingegeben werden, kann sich der Sprachanregungswert
nicht von einer periodischen Anregung aus dem Chirp-Festspeicher 409 in eine Zufallsanregung aus dem Stimmlos-Signalgenerator 406 ändern, bis acht Interpolationszyklen aufgetreten
sind. Das Verknüpfungsglied 420 bewirkt eine NOR-Verknüpfung des Ausgangssignals des Verknüpfuhgsglieds '408 und die
Eingabe in das höchstwertige Bit Ii3 des Anregungssignals,
wodurch veranlaßt wird, das Vorzeichenbit während einer stimmlosen Sprache auf Zufällsbasis zu ändern. Das Verknüpfungs-
> glied 421 setzt das höchstwertige Bit 112 des Anregungssignals
zwangsläufig während Stimmlos-Sprachzuständen auf den Signalwert "1". Die Verknüpfungsglieder 408, 420 und 421 haben also
insgesamt die Wirkung, ein sich auf Zufällsbasis änderndes
Vorzeichen einem stetigen dezimalen Äquivalentwert von 0,5
zuzuordnen, der dem Filter im Filter- und Anregungsgenerator zugeführt wird.
3 00 4 6/0 904
Während einer stimmhaften Sprache liefert der Chirp-Festspeicher 409 an den Leitungen 16 bis 113 ein aus acht Bits
bestehendes Ausgangssignal an das Filter. 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 III
angegeben; der Festspeicher 409 ist so aufgebaut, daß seine Ausgangssignale negiert werden; die Daten sind in ihm daher
im komplementierten Format abgespeichert. Der Wert der Chirpfunktion und der im Chirp-Festspeicher gespeicherte komplementierte
Wert sind in hexadezimaler Zweierkomplementdarstellung ausgedrückt. Der Festspeicher 409 wird mittels eines
8-Bit-Registers 410 adressiert, dessen Inhalt normalerweise während jedes Zyklus durch das Filter mittels einer 1-Additionsschaltung
411 aktualisiert wird. Das Ausgangssignal des Registers 410 wird mit dem Inhalt des Tonhöhenregisters 305
in einem Größenkomparator 40 3 verglichen, damit der Inhalt des Registers 410 auf Null gestellt wird, wenn sein Inhalt
gleich oder größer als der Inhalt des Registers 305 wird. Der in den Figuren 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
bis 16 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.
Ln den Figuren 12a und 12b ist das Schaltbild des Schreib/ Lese-Speichers 203 dargestellt. Der Schreib/Lese-Speicher
wird mittels einer Adresse an den Leitern PC1 bis PC4 adressiert; die jeweilige Adresse wird in einer programmierbaren
030046/0904
- 58 - 301?517
Decodiermatrix 203a decodiert, und sie legt fest, welcher
codierte Parameter in den Schreib/Lese-Speicher 203 eingegeben werden soll. Der Schreib/Lese-Speicher 203 speichert
die zwölf decodierten Parameter, deren Länge zwischen drei Bits und sechs 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 203b ermöglicht
in Abhängigkeit von den Signalen TI, DIV1, PCO und
einem Parameter-Ladefreigabesignal das Schreiben in den Schreib/Lese-Speicher 203 während des Α-Zyklus jeder Parameterzahl
während des Interpolationszyklus Null, wenn die Freigabe durch das Parameter-Ladefreigabesignal aus der
Schaltung 209a (Fig. 8a bis 8c) erfolgt ist. Die Dateneingabe in den Schreib/Lese-Speicher 203 erfolgt an den Leitungen
INO bis IN5 aus dem Register 205, wie in den Figuren 8a und 8b dargestellt ist, und die Datenausgabe erfolgt
an den Leitungen CRO bis CH5 in den Festspeicher 202, wie
ebenfalls in den zuvor genannten Figuren dargestellt ist.
In den Figuren 13a und 13b ist das Schaltbild des Festspeichers
202 dargestellt. Der Festspeicher 202 ist vorzugsweise ein Festspeicher mit virtueller Masse, wie er in der US-PS
3 934 233 beschrieben ist. Adresseninformationen aus dem Festspeicher 202 und aus dem Parameterzähler 513 werden
Adressenpuffern 202b zugeführt, die bei A genauer dargestellt sind. Die NOR-Glieder 202a, die in den Adressenpuffern
202b verwendet werden, sind bei B genauer dargestellt. Die Ausgangssignale der Adressenpuffer 202b werden an einen X-Decodierer
202c oder an einen Y-Decodierer 202d angelegt. Der Festspeicher ist in zehn Abschnitte C unterteilt, von
denen einer genauer dargestellt ist. Die Ausgangsleitung
030046/0904
jedes Abschnitts ist über Negatoren mit dem Register 201 verbunden, wie in den Figuren 8a und 8b dargestellt ist.
Der X-Decodierer wählt eine von 68 X-Decodierleitungen aus, während der Y-Decodierer 202d die Anwesenheit oder das Fehlen
einer Transistorzelle zwischen zwei benachbarten, von Diffusionszonen gebildeten Leitungen prüft, wie in der zuvor
erwähnten US-PS 3 934 233 genauer erläutert ist. Die vorzugsweise im Festspeicher 202 dieser Ausführung gespeicherten
Daten sind in der Liste der Tabelle IV zusammengestellt.
Die Figuren 14a und 14b zeigen zusammen das Schaltbild des Chirp-Festspeichers 409. Die Adressierung des Festspeichers
erfolgt über Adressenleitungen AO bis A8 aus dem Register 410 (Fig. 11a, 11b), mittels Ausgangsinformationen an Leitungen
bis 111 zum Multiplexer 415 und mittels Informationen an Leitungen
11 und 12 zu den Verknüpfungsgliedern 421 und 420, was
alles in den Figuren 11a und 11b dargestellt ist. Wie zuvor im Zusammenhang mit den Figuren 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 Festspeicher 409 enthält einen Y-Decodierer
409a, der abhängig von den Adressen an den Leitungen AO und A1 (und ÄO, A1) arbeitet; ferner enthält er einen
X-Decodierer 409b, der abhängig von der Adresse an den Leitungen A2 bis A5 (und A2 bis A5) arbeitet.
Außerdem enthält der Chirp-Festspeicher 409 ein Halteglied 409c, das gesetzt wird, wenn die Dezimalzahl 51 an den Leitungen AO
bis A5 gemäß der Leitung 409c aus dem Decodierer 409e festgestellt wird. Der Decodierer 409e decodiert auch den Signalwert
"0" an den Leitungen Ά0 bis A8 zum Rücksetzen des Halteglieds
409c. Im Chirp-Festspeicher 409 ist eine Zcitstcuerschaltung 409f
030046/0904
vorgesehen, mit deren Hilfe Daten über Schaltglieder 409g in der Zeitperiode T12 getaktet werden können. An diesem
Zeitpunkt stellt der Decodierer 409e fest, ob an den Adressenleitungen
Ao bis A8 die Dezimalzahl 0 oder die Dezimalzahl 51 vorhanden ist. Wenn eine dieser Bedingungen eintritt,
wird das als statisches Halteglied ausgebildete Halteglied 409c in seinen anderen Zustand versetzt.
In der Zeitperiode T13 wird ein Adressenhalteglied 409 gesetzt,
daß in der Zeitperiode TM rüekgesetzt wird. Das Halteglied 409h ermöglicht dem Halteglied 409c, an den Leitungen AO bis A5 zwangsweise den Dezimalwert 51 zu erzeugen,
wenn das Halteglied 409c gesetzt ist. Wenn im Adressenregister 410 Adressen vorhanden sind, die größer als 51 sind,
dann wird die Adresse in der Zeitperiode T12 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 409c rüekgesetzt worden ist, und, falls die
Adresse nicht auf den Wert "0" rüekgesetzt worden ist, um festzustellen, welche Adresse an den Leitungen AO bis A8
eingegeben und von der Logik 409j in der Zeitperiode T13
überschrieben worden ist. Am Speicherplatz 51 sind im Chirp-Festspeicher 409 natürlich nur Signale mit dem Wert "0" zur
Ausgabe an die Leitungen 16 bis 111, IM1 und IM2 gespeichert.,..
Mittels der digitalen Schaltungen 409c/ 409h und 409j 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 409a und 409b
nicht adressieren. Adressen zwischen dem Dezimalwert ο und
dem Dezimalwert 50 adressieren den Festspeicher normalerweise über die Decodierer 409a und 409b. Die Festspeichermatrix
ist vorzugsweise eine Matrix des Typs mit virtueller Masse, wie sie in der US-PS 3 934 233 beschrieben ist. Wie
030046/0904
zuvor erwähnt wurde, ist der Inhalt des Festspeichers 409 in der in der Tabelle III 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.
Abtrermlogik und Digital-Analog-Umsetzer
Es wird nun erneut auf die Figuren 11a und 11b Bezug genommen, in denen die Abtrennlogik 4 25 und der Digital-Analog-Umsetzer
426 dargestellt sind. Die Abtrennlogik 425 enthält eine Schaltung zum Umwandeln der an den Leitungen YL13 bis YL4 in Zweierkomplementdarstellung
vorhandenen Daten in versetzte Binärdaten. Die digitalen Schaltungen 425a und 425b prüfen das
höchstwertige Bit aus dem Y-Halteglied 403 an der Leitung YL13,
was den Zweck hat, das Vorzeichenbit zu bestimmen und die Abtrennsignale CLIPO und CLIP1 zu erzeugen. Die digitale Schaltung
425a erzeugt das Signal CLIPO, und sie setzt alle Eingangssignale des Digital-Analog-Umsetzers 426 auf den Wert "0",
wenn das Signal YL13 den Wert "1" hat und wenn entweder das Signal YL12 oder das Signal YL11 den Wert "0" hat. Die digitale
Schaltung 425b erzeugt das Signal CLIP1 und setzt alle Eingangssignale des Digital-Analog-Umsetzers 426 auf den Wert "1",
wenn das Signal YL13 den Wert "0" hat und entweder das Signal YL12 oder das Signal YL11 den Wert "1" hat. Die digitale Schaltung
425c prüft die Signale YL13 bis YL11 auf Zustände, die den
eben angegebenen Zuständen entgegengesetzt sind, und sie erzeugt das Signal NORM, wenn keine Abtrennung erfolgen soll. Diese
Betragabtrennfunktion bewirkt das Abtrennen der höherwertigen Bits der Signale YL11 und YL12. Es ist zu erkennen, daß dies
eine ungewöhnliche Abtrennung darstellt, da normalerweise in den meisten anderen Abtrennschaltungen die niedrigerwertigen
Bits abgetrennt werden. In der hier vorliegenden Schaltung werden jedoch große positive oder negative Werte wirksam begrenzt.
Es hat sich gezeigt, daß aufgrund dieses Abtrennschemas
0300A6/0904
die wichtigere digitale Sprachinformation, die einen kleineren Betrag hat, tatsächlich um den Faktor 4 verstärkt wird.
Die digitale Schaltung 425d wandelt die in Zweierkomplernentdarstellung
vorhandenen Daten aus den Y-HaItegliedern 403 an
den Leitungen YL10 bis YL4 in einfache Betragsinformationen an den Leitungen D/A6 bis D/AO um. Die Leitung D/A7 ist mit
der Leitung YL12 verbunden, da die Signale an den Leitungen YL12
und YL11 identisch sind, wenn Bedingungen vorliegen, bei denen
kein Abtrennen erfolgt.
Die Auswirkungen des angewendeten Abtrennschemas sind in der Tabelle V dargestellt. Wenn die Ausgangssignale YL13 bis YL4
zu einer Dezimalzahl führen, die größer als +127 ist, werden alle Eingänge des Digital-Analog-Umsetzers auf den Wert "1"
gesetzt, und der Ausgangsstrom hat den Wert "0". Wenn die Signale YL13 bis YL4 zu einer Dezimalzahl führen, die kleiner
als -128 ist, werden alle Eingänge des Digital-Analog-Umsetzers auf den Wert "0" gesetzt, und der Ausgangsstrom beträgt 1500 μΑ.
Der mittlere Punkt liegt vor, wenn die Signale YL13 bis YL4 in
Dezimaldarstellung dem Wert"-1" entsprechen, wobei der Ausgangsstrom
des Digital-Analog-Umsetzers 250 μΑ beträgt. Der Digital-Analog-Umsetzer
426 erzeugt somit ein Analoges Ausgangssignal, das sich um einen statischen Wert (in der vorliegenden Ausführungsforra
750 μΑ) ändert. Wenn der Sprachmodul aufgehört hat zu sprechen, wird das Signal TALKST auch dazu benutzt, den
Ausgangsstrom auf Null zu stellen, damit der Energieverbrauch eingeschränkt wird.
Die Ausgänge D/A7 bis D/A0 sind am Digital-Analog-Umsetzer angeschlossen. Die Ausgänge D/A7 bis D/A0 sind vorzugsweise
mit den Gate-Elektroden von acht MOS-Schaltvorrichtungon 429a
verbunden. Außerdem sind die Ausgänge D/A7 bis D/AO auch über Negatoren 429b mit den Gate-Elektroden . von acht MOS-Schaltvorrichtungen
429c verbunden. Die Source-Anschlüsse der Schaltvorrichtungen 429a sind an die Versorgungsspannung Vss gelegt,
030046/0904
und die Source-Anschlüsse der Schaltvorrichtungen 429c sind an die Spannung Vref gelegt. Die Spannung Vref ist eine vorbestimmte
Spannung, die so berechnet ist, daß die Stromquellen 429d in den Sättigungsbetriebszustand vorgespannt werden.
Die Drain-Anschlüsse der Schaltvorrichtungen 429a und 429c
sind an einen gemeinsamen Punkt in jedem Zweig des Digital-Analog-Umsetzers 426 angeschlossen, und sie sind mit den
Gate-Anschlüssen der Stromquellen 429d verbunden. Die stromführenden Elektroden der Stromquellen 429d sind parallel mit
den Source-Anschlüssen jeder Stromquelle an die Spannung Vss gelegt. Die Drain-Elektroden der Stromquellen 429d sind über
einen 1,8 K Ohm-Widerstand an einen Ausgangsanschlußstift und an eine in einem kommerziellen Computer oder einem Heimcomputer enthaltene NF-Verstärker- und Lautsprecherschaltung
angeschlossen.
Für den Fachmann ist zu erkennen, daß der Digital-Analog-Umsetzer 426 die in den Signalen YL13 bis YL4 enthaltenen
Vorzeichen- und Betragsdaten in ein Analogsignal umsetzt, das als Wechselstromsignal mit einer Festkomponente gekennzeichnet
werden kann. Außerdem sei bemerkt, daß solche Digital-Analog-Umsetzer, wie sie hier beschrieben worden sind, auch
in anderen Ausführungen außer in Sprachsyntheseschaltungen angewendet werden können.
Die Festspeicher 12A und 12B sind vorzugsweise Festspeicher
des Typs, die in der Patentanmeldung P 29 17 161.7 beschrieben sind.
0300A6/0904
Die Erfindung ist hier zwar im Zusammenhang mit einem speziellen Ausführungsbeispiel beschrieben worden, doch soll
dies keine Einschränkung darstellen. Die beschriebene Ausführungsform kann im Rahmen der Erfindung ohne weiteres abgewandelt und geändert werden.
dies keine Einschränkung darstellen. Die beschriebene Ausführungsform kann im Rahmen der Erfindung ohne weiteres abgewandelt und geändert werden.
030046/0304
Der Sprachsyntheseprozessor 10 enthält eine Interpolationslogik zur Erzielung einer nahezu linearen Interpolation aller
zwölf Sprachparameter an acht Punkten innerhalb jedes Datenrahmens, d„h. einmal pro 2,5 ms. Es wird ein Parameter nach
dem anderen entsprechend der Auswahl durch den Parameterzähler interpoliert. Die Interpolationslogik berechnet aus dem
derzeitigen Wert (d„h„ dem derzeit im K-Stapel, im Tonhöhenregister
oder in der ElO-Schleife gespeicherten Wert) und aus dem in codierter Form im Schreib/Lese-Speicher 203 gespeicherten
und vom Festspeicher 202 decodierten Zielwert einen neuen Parameterwert„ Der bei jedem InterpolationsVorgang
berechnete Wert ist anschließend angegeben,,
Dabei sind: P. der derzeitige Parameterwert, P. + 1 der neue Parameterwert,
Pt der Zielwert,
Pt der Zielwert,
N. eine vom Interpolationszähler bestimmte ganze Zahl ·
Die Werte N. für bestimmte Interpolationszahlen und die Werte (P. - P )/(P. - P) f (P = Anfangswert des Parameters), haben
folgende Größe:
Interpolationszahl N.
1 8 0.125
2 8 0.234
3 8 O.,33O
4 4 0.498
5 4 ' 0.623
6 2 0.717
7 2 0.859 0 1 1.000
030046/0904
Aus dem K-Stapel 302 zum Umcodierer 301 übertragene Daten
Ausgänge des K-Stapels Zeitperioden
Bit Leitg.T8 'i'9 TlQ TIl T12 T13 T14 T15 T16 T17 T1Ü T19 T20 T21 T22 T23 T24 T25 T26 T27
LSB 32-1 32-2 32-3 32-4 32-5 32-6 32-7 32-8 32-9
MSB32-1Ü
K2
Κ·> K1 A
K2 K1 Λ K2 K1 A
K3 K2 K1
K3 K2 K1
Κ4 Κ3 Κ2
K5 K4
K9 Kj
Kq Κι
K9 K
K-, K-
Kt K
K Q K
K4 K-
K1 K1n K
Κ4 Κ3
K#j Kc K
K7 Kb K5 K
K2 K1
Ko Κι
K2 K
10
K10 K9
K10 K9
K10 K9
10
K-
Ko K-
K5
K6 K5
K4 K3
K4 K3 K4 K3
KI/ A ^i
Κ7 | Κ6 | Κ5 | K4 | Κ3 | Κ2 | K | 1 | Κ10 | κ | Q | Κ8 | K7 | Κ6 | Κ5 | Κ4 | O |
Κ7 | Κ6 | Κ5 | K4 | Κ3 | K | 1 | Κ10 | κ | Κ8 | Κ7 | Κ6 | Κ5 | Κ4 | CJl | ||
Κ8 | Κ7 | Κ6 | Κ5 | K4 | Κ3 | K | 2 | Κ1 | K | 10 | K9 | Κ8 | Κ7 | Κ6 | Κ5 | |
K8 | K7 | Κ6 | Κ5 | K4 | Κ3 | K | 2 | Κ1 | K | 10 | K9 | Κ8 | Κ7 | Κ6 | K5 | |
K9 | K8 | Κ7 | Κ6 | Κ5 | K4 | K | 3 | K2 | K | 1 | Κ10 | K9 | Κ8 | K7 | Κ6 | |
K9 | Ka | Κ7 | Κ6 | Κ5 | K4 | K | 3 | K2 | K | 1 | Κ10 | K9 | K8 | Κ7 | Κ6 | |
Tabelle III
gespeicherter Wert Adresse Wert der Chirp-Funktion (Komplement)
00 00 FF
01 2A D5
02 D4 2B
03 32 CD
04 B2 4D
05 12 ED
06 25 DA
07 14 EB
08 02 FD
09 E1 IE
10 C5 3A
11 02 FD
12 5F AO
13 5A A5
14 05 FA
15 OF FO
16 26 D9
17 FC 03
18 A5 5A
19 A5 5A
20 D6 29
21 DD 22
22 DC 23
23 FC 03
24 25 DA
25 2B D4
26 22 DD
27 21 DE
28 OF FO
29 FF 00
30 F8 07
31 EE 11
32 ED 12
33 EF 10
34 F7 08
35 F6 09
36 FA 05
37 OO FF
38 O3 FC
39 02 FD
40 01 FE
030046/0904
Decodierte Parameter
CODE
Kl
K2
K3
K4
K5
K7
K8
OO | 000 | 000 | 205 | 2DA | 23F | IEF | 28B | 32B | 2OA | 33D | 386 |
01 | 001 | 0OE | 207 | 2FG | 250 | 2F2 | 2A5 | 350 | 2F8 | 38B | 3C9 |
02 | 002 | 0OF | 209 | 315 | 265 | 324 | 2C2 | 377 | 318 | 3EO | 0OF |
03 | 003 | 010 | 203 | 336 | 27F | 35C | 2E4 | 3AO | 33A | 036 | 053 |
04 | 004 | ' 011 | 2OF | 359 | 29E | 39F | 309 | 3CA | 35F | 089 | 095 |
05 | 006 | 012 | 213 | 37E | 263 | 3D8 | 332 | 3F5 | 386 | 005 | 0D2 |
06 | 008 | 013 | 218 | 3 A4 | 2EF | 019 | 3SE | 021 | 3AE | 117 | 108 |
07 | 0OB | 014 | 21F | 3CC | 321 | 059 | 38D | 04B | 3D7 | 14F | 137 |
08 | 010 | 015 | 227 | 3F4 | 359 | 096 | 3BF | 075 | 001 | ||
09 | 017 | 016 | 231 | OIC | 395 | OCF. | 3Fl | 090 | 02B | ||
OA | 021 | 017 | 23E | 044 | 305 | 103 | 024 | OC3 | 054 | ||
OB | 02F | 018 | 24E | 06C | 016 | 130 | 056 | 0E7 | 07D | ||
OC | 03F | 019 | 262 | 091 | 057 | 157 | 087 | 108 | 0A3 | ||
OD | 055 | ΟΙΑ | 27A | 0B6 | ■ 094 | 178 | 0B5 | 126 | OC 8 | ||
OE | 072 | OIB | 296 | 008 | • OCE | 193 | OEO | 142 | OEA | ||
OF | 000 | OIC | 2B8 | 0F8 | 102 | 1A9 | 107 | 15B | 1OA | ||
10 | 01D | 2EO | 116 | 202 | 202 | 202 | 202 | ||||
11 | 01E | 3OE | 131 | 2OA | 2OA | 2OA | 2OA | ||||
12 | OIF | 341 | 14A | 139 | 139 | 139 | 139 | ||||
13 | 020 | 379 | 160 | 13E | 13E | 13E | 13E | ||||
14 | 022 | 3B5 | 174 | ||||||||
15 | 024 | 3F3 | 186 | ||||||||
16 | 026 | 031 | 196 | ||||||||
17 | 028 | 06E | 1A4 | ||||||||
18 | 029 | 0A8 | IBO | ||||||||
19 | 02b | ODD | IBB | ||||||||
IA | 02D | IOD | 1C5 | ||||||||
IB | 030 | 137 | ICO | ||||||||
IC | 031 | 15C | 1D4 | ||||||||
ID | 033 | 17B | IDA | ||||||||
IE | 036 | 194 | IDF | ||||||||
IF | 037 | IAA | 1E6 |
:ODE E F Kl K2 K3 K4 K5 K6 K7 K8 Κ9
20 | 039 | 202 | 202 |
21 | 03C | 2OA | 20Α |
22 | 03Ε | 139 | 139 |
23 | 040 | 13Ε | 13Ε |
24 | 044 | ||
25 | 048 | ||
26 | 04Α | ||
27 | 04C | ||
28 | 051 | ||
29 | 055 | ||
2Α | 057 | ||
2Β | 05Α | ||
2C | 060 | ||
2D | 063 | ||
2Ξ | 067 | ||
2F | 06Β | ||
30 | 070 | ||
31 | 075 | ||
3 2 | 07Α | ||
33 | 07F | ||
34 | 085 | ||
08Β | |||
36 | 091 | ||
37 | 097 | ||
38 | 09D | ||
39 | 0Α4 | ||
3Α | OAB | ||
3Β | 0Β2 | ||
3C | OBA | ||
3D | 0C2 | ||
3Ε | OCA | ||
3F | 0D3 |
(Τι «Γ
CaJ O
cn --α
Ausgangssignal des Y-Halteglieds
*L13 | *L12 | VLIl | YLl0 Y | |
O | 1 | 0 | X | |
>+127 | O | 1 | 0 | X |
O | 0 | 1 | X | |
127 | .0 | 0 | 0 | 1111111 |
126 | 0 | 0 | 0 | 1111110 |
Eingangssignal des D/A-Umsetzers
11111111 11111111 11111111 11111111 11111110
Analogausgangssignal (μΑ)
0 0 0 0 5.86
+10 0 0 0000001 0 0 0 0 0000000
* -1
10000001 10000000
1 1111111
01111111
738 744
750
*) kein Ausgangssignal, Ruhewert
Ausgangssignal des Y-Halteglieds
Eingangssignal
des D/A-Umsetzers
des D/A-Umsetzers
Analogausgangssignal (μΑ)
-2
1 1111110
01111110
755.8
O CO O
-128 | 1 | 1 | 1 | 0000000 | 00000000 |
<-128 | 1 | 1 | 0 | X | 00000000 |
1 | 0 | 1 | X | 00000000 | |
1 | 0 | 0 | X | 00000000 |
1500. 1500 1500 1500
-η-
Leerseite
Claims (1)
- Patentansprüchea) eine Empfangsvorrichtung zum Empfangen eines Eingabesignals aus einem externen Steuergerät,b) eine erste Speichervorrichtung zum dauerhaften Speichern einer ersten Menge codierter Daten,c) eine zweite Speichervorrichtung zum vorübergehenden Speichern einer zweiten Menge codierter Daten, die von dem externen Steuergerät geliefert werden,d) einen Syntheseprozessor zum Umsetzen codierter Daten in digitale Sprachsignale,e) eine Wählvorrichtung zum selektiven Anlegen einer der beiden Mengen codierter Daten an den Syntheseprozessor in Abhängigkeit von einem von dem externen Steuergerät gelieferten Steuersignal undf) eine Vorrichtung zum Umsetzen des digitalen Sprachsignals in ein analoges Sprachsignal.030046/0904Schw/Gl -. ■2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die erste Speichervorrichtung ein Festspeicher ist.3. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die zweite Speichervorrichtung ein Schieberegister ist.4. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Syntheseprozessor ein steuerbares Digitalfilter enthält.5. Anordnung nach'Anspruch 4, dadurch gekennzeichnet, daß die codierten Daten Reflexionskoeffizienten sind, die zur Steuerung des Digitalfilters benutzt werden.6. Sprachsyntheseanordnung, gekennzeichnet durcha) eine Empfangsvorrichtung zum Empfangen eines Eingabesignals aus einem, externen Steuergerät,b) eine erste Speichervorrichtung zum dauerhaften Speichern einer ersten Menge codierter Daten,c) eine zweite Speichervorrichtung zum vorübergehenden Speichern einer zweiten Menge codierter Daten, die von dem externen Steuergerät geliefert werden,d) eine dritte Speichervorrichtung zum Speichern einer dritten Menge codierter Daten, wobei die dritte Speichervorrichtung in einem Modul mit mehreren elektrischen Kontakten angebracht ist,e) eine Aufnahmebuchse zum vorübergehenden Verbinden der elektrischen Kontakte an den Modul mit der Sprachsyntheseanordnung ,f) einen Syntheseprozessor zum Umsetzen codierter Daten in digitale Sprachsignale, . ,030046/0904g) eine Wählvorrichtung zum selektiven Anlegen einer der beiden Mengen codierter Daten an den Syntheseprozessor in Abhängigkeit von einem von dem externen Steuergerät gelieferten Steuersignal undh) eine Vorrichtung zum Umsetzen des digitalen Sprachsignals in ein analoges Sprachsignal.7. Anordnung nach Anspruch 6, dadurch gekennzeichnet, daß die erste Speichervorrichtung ein Festspeicher ist.8. Anordnung nach Anspruch 6, dadurch gekennzeichnet, daß die zweite Speichervorrichtung ein Schieberegister ist.9. Anordnung nach Anspruch 6, dadurch gekennzeichnet, daß die dritte Speichervorrichtung ein Festspeicher ist.10. Anordnung nach Anspruch 6, dadurch gekennzeichnet, daß der Syntheseprozessor ein steuerbares Digitalfilter enthält.11. Anordnung nach Anspruch 10, dadurch gekennzeichnet, daß die codierten Daten Reflexionskoeffizienten sind, die zur Steuerung des Digital filters verwendet werden.12. Computeranordnung zur Erzeugung synthetischer menschlicher Sprache, gekennzeichnet durcha) ein Computer-Eingabegerät,b) eine Zentraleinheit,c) ein NF-Verstärker- und Lautsprechersystem undd) eine Sprachsyntheseanordnung, die abhängig von Steuersignalen aus der Zentraleinheit arbeitet und folgende Baueinheiten enthält:030046/0904301751(I) eine erste Speichervorrichtung zum dauerhaften Speichern einer ersten Menge codierter Daten,(II) eine zweite Speichervorrichtung zum vorübergehenden Speichern einer zweiten Menge codierter Daten, die von der Zentraleinheit geliefert werden,(III) einen Syntheseprozessor zum Umsetzen codierter Daten in digitale Sprachdaten,(IV) eine Wählvorrichtung zum selektiven Anlegen einer der beiden Mengen codierter Daten an den Syntheseprozessor in Abhängigkeit von einem Steuersignal aus der Zentraleinheit,(V) eine Umsetzervorrichtung zum Umsetzen des digitalen Sprachsignals in ein analoges Sprachsignal· und(VI) eine Vorrichtung zum Verbinden der Umsetzervorrichtung mit dem NP-Verstärker- und Lautsprechersystem.13. Anordnung nach Anspruch 12, dadurch gekennzeichnet, daß die Sprachsyntheseanordnung in einem Modul mit mehreren elektrischen Kontakten untergebracht ist, der vorübergehend mittels der elektrischen Kontakte an das Computer-Eingabegerät angeschlossen werden kann.14. Anordnung nach Anspruch 12, dadurch gekennzeichnet, daß die erste Speichervorrichtung ein Festspeicher ist.15. Anordnung nach Anspruch 12, dadurch gekennzeichnet, daß die zweite Speichervorrichtung ein Schieberegister ist.16. Anordnung nach Anspruch 12, dadurch gekennzeichnet, daß der Syntheseprozessor ein steuerbares Digitalfilter enthält.030046/090417. Anordnung nach Anspruch 16, dadurch gekennzeichnet, daß die codierten Daten Reflexionskeffizienten sind, die zur Steuerung des Di g:i talf ilters verwendet werden.18. Schriittstellenschaltungsanordnung zum Koppeln eines Steuergeräts, das Befehle mit variabler Länge liefert, mit einem wesentlich langsameren Speichergerät, das die Befehle auslöst und durchführt, gekennzeichnet durcha) eine erste, an die Speichervorrichtung angeschlossene Schaltungsvorrichtung zum Feststellen des Endes der Durchführung eines Befehls und zur davon abhängigen Abgabe eines Steuersignals,b) eine an die erste Schaltungsvorrichtung angeschlossene zweite Schaltungsvorrichtung, die das Auslösen eines nächsten Befehls in Abhängigkeit von dem Steuersignal ermöglicht,c) eine an die zweite Schaltungsvorrichtung angeschlossene dritte Schaltungsvorrichtung, die das Auslösen des nächsten Befehls feststellt und abhängig davon ein zweites Steuersignal abgibt, undd) eine Durchschaltvorrichtung, die die Steuervorrichtung in selektiver Weise elektrisch mit der Speichervorrichtung verbindet, damit dieser die unterschiedlich langen Beföhle zugeführt werden, und die die Steuervorrichtung von der Speichervorrichtung in Abhängigkeit von dem zweiten Steuersignal abtrennt.19. Anordnung nach Anspruch 18, dadurch gekennzeichnet, daß die Steuervorrichtung die Zentraleinheit eines Computers ist.030 0.4,6/090420. Anordnung nach Anspruch 18, dadurch gekennzeichnet, daß die Speichervorrichtung in einer Sprachsyntheseanordnung enthalten ist.21. Anordnung nach Anspruch 18, dadurch gekennzeichnet, daß die Steuervorrichtung auch Befehle mit fester Länge liefert und daß die Speichervorrichtung auch diese Befehle durchführt.22. Anordnung nach Anspruch 18, dadurch gekennzeichnet, daß die erste Schaltungsvorrichtung eine Zeitgebervorrichtung enthält, die das Ende der Durchführung der unterschiedlich langen Befehle feststellt und abhängig davon das Steuersignal liefert.23. Computeranordnung zur Erzeugung synthetischer Sprache, gekennzeichnet durcha) eine Zentraleinheit zur Abgabe von Sprachbefehlen mit unterschiedlicher Länge,b) eine Sprachsyntheseanordnung zur Durchführung der unterschiedlich langen Sprachbefehle und zur Abgabe eines analogen Sprachsignals in Abhängigkeit von diesen Befehlen,c) eine NF-Verstärker- und Lautsprechervorrichtung zum Umsetzen des analogen Sprachsignals in einen hörbaren Ton undd) eine zwischen die Zentraleinheit und die Sprachsyntheseanordnung eingefügte Steuerschaltung, die folgende Baueinheiten enthält:030046/09CU BAD OBtQiHAL(I) eine erste Schaltungsvorrichtung, die mit der Sprachsyntheseanordnung verbunden ist und das Ende der Durchführung eines der Sprachbefehle mit unterschiedlicher Länge feststellt und abhängig davonein Steuersignal abgibt,(II) eine zweite Schaltungsvorrichtung, die mit der ersten Schaltungsvorrichtung verbunden ist und die Auslösung des nächsten Befehls in Abhängigkeit von dem Steuersignal ermöglicht,(III) eine an die zweite Schaltungsvorrichtung angeschlossene dritte Schaltungsvorrichtung, die die Auslösung des nächsten Befehls feststellt und abhängig davon ein zweites Steuersignal abgibt,(IV) eine Durchschaltvorrichtung, die die Zentraleinheit in selektiver Weise elektrisch mit der Sprachsyntheseanordnung verbindet, damit dieser Sprachbefehle mit unterschiedlicher Länge zugeführt werden, und die die Zentraleinheit in Abhängigkeit von dem zweiten Steuersignal von der Sprachsyntheseanordnung abtrennt.24. Anordnung nach Anspruch 23, dadurch gekennzeichnet, daß die Zentraleinheit auch Sprachbefehle mit fester Länge liefert und daß die Sprachsyntheseanordnung auch diese Befehle durchführt.5. Anordnung nach Anspruch 24, dadurch gekennzeichnet, daß die erste Schaltungsvorrichtung auch eine Zeitgebervorrichtung enthält, die das Ende der Durchführung der Sprachbefehle mit fester Länge feststellt und abhängig davon das Steuersignalliefert.030046/090426. Anordnung nach Anspruch 23, gekennzeichnet durch eine Benutzereingabevorrichtung, mit deren Hilfe ein Bediener die Zentraleinheit in ausgewählter Weise steuern kann.27. Anordnung nach Anspruch 26, dadurch gekennzeichnet, daß die Benutzereingabevorrichtung eine Tastatur ist.030046/0904
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3693179A | 1979-05-07 | 1979-05-07 | |
US3692879A | 1979-05-07 | 1979-05-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3017517A1 true DE3017517A1 (de) | 1980-11-13 |
DE3017517C2 DE3017517C2 (de) | 1991-04-11 |
Family
ID=26713636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19803017517 Granted DE3017517A1 (de) | 1979-05-07 | 1980-05-07 | Sprachsyntheseanordnung |
Country Status (3)
Country | Link |
---|---|
JP (1) | JPH0675239B2 (de) |
DE (1) | DE3017517A1 (de) |
FR (1) | FR2484682B1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1982000381A1 (en) * | 1980-07-24 | 1982-02-04 | Z Albes | Speech synthesis aid for the vocally handicapped |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111681639B (zh) * | 2020-05-28 | 2023-05-30 | 上海墨百意信息科技有限公司 | 一种多说话人语音合成方法、装置及计算设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3803358A (en) * | 1972-11-24 | 1974-04-09 | Eikonix Corp | Voice synthesizer with digitally stored data which has a non-linear relationship to the original input data |
DE2525025A1 (de) * | 1975-06-05 | 1976-12-23 | Telefonbau & Normalzeit Gmbh | Schaltungsanordnung zur ausgabe akustischer auskuenfte |
US4092495A (en) * | 1975-12-19 | 1978-05-30 | International Computers Limited | Speech synthesizing apparatus |
DE2335818B2 (de) * | 1972-07-14 | 1978-12-21 | Hitachi, Ltd., Tokio | Elektrische Anordnung zur automatischen Erzeugung von gesprochenen Sätzen |
DE2917161A1 (de) * | 1978-04-28 | 1979-11-29 | Texas Instruments Inc | Elektronisches lernhilfegeraet |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4121051A (en) * | 1977-06-29 | 1978-10-17 | International Telephone & Telegraph Corporation | Speech synthesizer |
-
1980
- 1980-05-07 DE DE19803017517 patent/DE3017517A1/de active Granted
- 1980-05-07 FR FR8010166A patent/FR2484682B1/fr not_active Expired
-
1993
- 1993-01-14 JP JP5005266A patent/JPH0675239B2/ja not_active Expired - Lifetime
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2335818B2 (de) * | 1972-07-14 | 1978-12-21 | Hitachi, Ltd., Tokio | Elektrische Anordnung zur automatischen Erzeugung von gesprochenen Sätzen |
US3803358A (en) * | 1972-11-24 | 1974-04-09 | Eikonix Corp | Voice synthesizer with digitally stored data which has a non-linear relationship to the original input data |
DE2525025A1 (de) * | 1975-06-05 | 1976-12-23 | Telefonbau & Normalzeit Gmbh | Schaltungsanordnung zur ausgabe akustischer auskuenfte |
US4092495A (en) * | 1975-12-19 | 1978-05-30 | International Computers Limited | Speech synthesizing apparatus |
DE2917161A1 (de) * | 1978-04-28 | 1979-11-29 | Texas Instruments Inc | Elektronisches lernhilfegeraet |
Non-Patent Citations (1)
Title |
---|
SOSKUTY, Dr. Otto V., Ein Sprachgenerator nach dem Prinzip der Phonem-Synthese, In: DE-Z.: Elektronik, 1977,H. 9, S. 44-48 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1982000381A1 (en) * | 1980-07-24 | 1982-02-04 | Z Albes | Speech synthesis aid for the vocally handicapped |
Also Published As
Publication number | Publication date |
---|---|
DE3017517C2 (de) | 1991-04-11 |
JPH05281997A (ja) | 1993-10-29 |
FR2484682A1 (fr) | 1981-12-18 |
JPH0675239B2 (ja) | 1994-09-21 |
FR2484682B1 (fr) | 1986-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4397100C2 (de) | Verfahren zum Erkennen von Sprachsignalen und Spracherkennungssystem mit rekursiver Grammatik mit endlicher Zustandsanzahl | |
DE19882486B4 (de) | Synchroner, nicht-flüchtiger Seitenmodus-Speicher | |
DE2752607A1 (de) | Verfahren zur erkennung von sprache | |
DE3232600A1 (de) | Zeitmultiplexschaltmatrix | |
DE1965480A1 (de) | Geraet fuer kuenstliche Erzeugung von Worten durch Umwandlung eines in Buchstaben gedruckten Textes in Aussprache | |
DE2920298A1 (de) | Binaere interpolatorschaltung fuer ein elektronisches musikinstrument | |
DE3228756A1 (de) | Verfahren und vorrichtung zur zeitabhaengigen komprimierung und synthese von stimmlosen hoerbaren signalen | |
DE2954413C2 (de) | ||
DE2452498A1 (de) | Verfahren und vorrichtung zur erzeugung von zeichenmustern | |
DE3018508A1 (de) | Sprachanalysiervorrichtung | |
DE2644506A1 (de) | Rechner zur berechnung der diskreten fourier-transformierten | |
DE2105449A1 (de) | Musikinstrument | |
DE3024009C2 (de) | Digitales Filter | |
AT403969B (de) | Verfahren zur kompression eines analogen signals | |
DE3017517A1 (de) | Sprachsyntheseanordnung | |
DE3226538A1 (de) | Stimm-synthesizer | |
DE2535786B2 (de) | Einrichtung zur erzeugung eines digitalen kodewortes zur kennzeichnung eines schalters in einer schalteranordnung | |
CH657487A5 (de) | Funktionsgenerator zur erzeugung einer anzahl von sich wiederholenden digitalen wellenformen. | |
CH637510A5 (de) | Verfahren und anordnung zur uebertragung von sprachsignalen sowie anwendung des verfahrens. | |
DE2826570C2 (de) | ||
DE3843372A1 (de) | Verfahren und schaltungsanordnung zur taktanpassung in der digitalen nachrichtentechnik | |
DE2854601C2 (de) | Verfahren zur Tonaufbereitung und Ton-Synthesator zu seiner Durchführung | |
DE2900587A1 (de) | Decodierschaltung | |
DE3049393A1 (de) | Sprachsynthesizer | |
DE3037276A1 (de) | Tonsynthesizer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8128 | New person/name/address of the agent |
Representative=s name: PRINZ, E., DIPL.-ING. LEISER, G., DIPL.-ING., PAT. |
|
8110 | Request for examination paragraph 44 | ||
8172 | Supplementary division/partition in: |
Ref country code: DE Ref document number: 3051113 Format of ref document f/p: P |
|
Q171 | Divided out to: |
Ref country code: DE Ref document number: 3051113 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition |