DE3789476T2 - Digitaler Vocoder. - Google Patents
Digitaler Vocoder.Info
- Publication number
- DE3789476T2 DE3789476T2 DE3789476T DE3789476T DE3789476T2 DE 3789476 T2 DE3789476 T2 DE 3789476T2 DE 3789476 T DE3789476 T DE 3789476T DE 3789476 T DE3789476 T DE 3789476T DE 3789476 T2 DE3789476 T2 DE 3789476T2
- Authority
- DE
- Germany
- Prior art keywords
- harmonic
- frame
- speech
- fundamental frequency
- frequency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims abstract description 21
- 230000003595 spectral effect Effects 0.000 claims description 25
- 238000001228 spectrum Methods 0.000 claims description 20
- 230000015572 biosynthetic process Effects 0.000 claims description 9
- 230000001755 vocal effect Effects 0.000 claims description 9
- 238000003786 synthesis reaction Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 5
- 238000010183 spectrum analysis Methods 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims description 3
- 230000002194 synthesizing effect Effects 0.000 claims 1
- 230000005284 excitation Effects 0.000 abstract description 18
- 230000005540 biological transmission Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 230000007704 transition Effects 0.000 description 6
- 238000005070 sampling Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000001308 synthesis method Methods 0.000 description 1
- 230000009466 transformation Effects 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
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/90—Pitch determination of speech signals
-
- 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
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
-
- 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
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/093—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters using sinusoidal excitation models
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
- Electrophonic Musical Instruments (AREA)
Description
- Unsere Erfindung betrifft Sprachverarbeitungssysteme und insbesondere digitale Sprachcodier- und -decodieranordnungen, die auf die Reproduktion von Sprache unter Benutzung eines Sinus-Modells für den stimmhaften Sprachanteil und eines erregten prädiktiven Filter-Modells für den stimmlosen Sprachanteil gerichtet sind.
- Bei digitalen Sprachkommunikationssystemen mit einem Sprachspeicher und Sprachausgabeeinrichtungen ist es oft wünschenswert, eine Signalkomprimierung anzuwenden, um die für das Speichern und/oder übertragen benötigte Bitrate zu verringern. Ein bekanntes digitales Sprachcodierschema zur Ausführung der Signalkomprimierung ist in dem Artikel mit dem Titel "Magnitude-Only Reconstruction Using a Sinusoidal Speech Model", Proceedings of IEEE International 'Conference on Acoustics, Speech, and Signal Processing, 1984, Bd. 2, S. 27.6.1-27.6.4 (San Diego, U.S.A.). beschrieben. Dieser Artikel offenbart den Einsatz eines Sinus-Sprachmodells zum Codieren und Decodieren stimmhafter als auch stimmloser Sprachanteile. Die Sprachwellenform wird in dem Synthesizer- Teil eines Vocoders reproduziert, indem die Sprachwellenform als Summe von Sinuswellen nachgebildet wird. Die Summe der Sinuswellen umfaßt die Sprachgrundwelle und die Sprachoberwellen und wird ausgedrückt durch
- s(n)=Σai(n)sin[Φi(n)] (1)
- Die Terme ai(n) und Φi(n) entsprechen der zeitveränderlichen Amplitude bzw. der zeitveränderlichen Phase der Sinuskomponenten der Sprachwellenform zu jedem betrachteten Zeitpunkt. Die Sprachverarbeitungsfunktion wird dadurch ausgeführt, daß die Amplituden und die Phasen in dem Analysator-Teil bestimmt werden, und diese Werte zu einem Synthesizer-Teil übertragen werden, der unter Anwendung der Gleichung 1 die Sprachwellenform rekonstruiert.
- Der McAulay-Artikel offenbart ferner, daß die Amplituden und Phasen dadurch bestimmt werden, daß eine schnelle Fourier-Spektrumsanalyse zu festen Zeitperioden, die gewöhnlich Rahmen genannt werden, durchgeführt wird. Grund- und Oberwellenfrequenzen erscheinen als Spitzen in dem schnellen Fourier-Spektrum und werden dadurch bestimmt, daß man die Spitzen heraussucht, um die Frequenzen und Amplituden der Grundwelle sowie der Oberwellen zu bestimmen.
- Ein Problem bei der Methode nach McAulay liegt darin, daß die Grundfrequenz, alle Oberwellenfrequenzen sowie alle Amplituden von einem Analysator zu einem Synthesizer übertragen werden, was zu einer Übertragung mit einer hohen Bitrate führt. Ein weiteres Problem besteht darin, daß die Frequenzen und Amplituden einzig und allein unmittelbar aus den sich ergebenden Spektralspitzen bestimmt werden. Die angewandte schnelle Fourier-Transformation stellt diese Spitzen zwar recht genau dar, allerdings ist dies mit einem großen Rechenaufwand verbunden.
- Ein weiteres Problem bei dieser Methode liegt in dem Versuch, nicht nur die stimmhaften Sprachanteile, sondern auch die stimmlosen Sprachanteile unter Benutzung der Sinuswellen-Codiertechnik nachzubilden. Die Unterschiede zwischen den stimmhaften und stimmlosen Bereichen ergeben sich aus der aus der Spektralanalyse gewonnenen Spektralenergie, die in den Grenzrahmen zwischen diesen Bereichen unzusammenhängend ist, wodurch es schwierig wird, relevante Spitzen in dem Spektrum zu bestimmen.
- V.R. Viswanathan und andere Teilnehmer an der ICASSP 82, Veranstaltungen der IEEE International Conference on Acoustics, Speech and Signal Processing, Paris, 3ter-5ter Mai 1982, Bd. 1, S. 610-613, offenbaren ein Verarbeitungssystem, wie es in dem Oberbegriff des Anspruchs 1 angegeben ist. Neben der Energie, den LPC-Parametern, den Grundton- und Sprachinformationen werden Informationen über Abweichungen der Amplituden und Oberwellen gegenüber denen, die durch das LPC-Modell gegeben sind, übertragen.
- Gemäß der Erfindung wird ein Verarbeitungssystem, wie es in Anspruch 1 umschrieben ist, geschaffen, und ein entsprechendes Synthese-Verfahren nach Anspruch 3 verfügbar gemacht.
- Bei einer Ausführungsform stellt der Analysator die Grundfrequenz oder den Grundton (pitch) ein, der von einem Grundfrequenz-Detektor unter Benutzung der Informationen über die Oberwellen der Grundfrequenz, die aus einer Spektralanalyse gewonnen werden, erfaßt wird. Die Einstellung der Grundfrequenz korrigiert die Anfangsschätzung der Grundfrequenz gegenüber Ungenauigkeiten aufgrund des Betriebs des Grundfrequenz-Detektors und hinsichtlich von Problemen, die mit der Tatsache zusammenhängen, daß die Grundfrequenz unter Verwendung ganzzahliger Vielfacher der Abtastperiode berechnet wird. Außerdem wird durch die Grundfrequenz- Einstellung die Grundfrequenz so eingestellt, daß ihr Wert, wenn er zur Herleitung der verschiedenen Oberwellen geeignet multipliziert wird, dem Mittelwert des tatsächlichen Werts der aus der Spektralanalyse ermittelten Oberwellen entspricht. Deshalb reduziert die Grundfrequenz-Einstellung die Anzahl der Bits, die erforderlich sind, um die Versatzinformation, die die Oberwellen bestimmt, vom Analysator zum Synthesizer zu übertragen.
- Ist die Grundfrequenz erst einmal eingestellt, wird der eingestellte und geeignet multiplizierte Grundfrequenzwert als Startpunkt verwendet, um den Ort jeder Oberwelle in dem Spektrum erneut zu berechnen und den Versatz der lokalisierten Oberwelle gegenüber dem theoretischen Wert der Oberwelle zu bestimmen, der durch Multiplizieren des eingestellten Grundfrequenzwertes mit der geeigneten Zahl der gewünschten Oberwelle bestimmt wird.
- Die Erfindung sieht eine weitere Verbesserung dadurch vor, daß der Synthesizer Sprache aus der übertragenen Information reproduziert, indem er die obenerwähnten Techniken zur sinusförmigen Nachbildung des stimmhaften Sprachanteils sowie eine Mehrimpuls- oder Rauscherregungs- Modellierung für den stimmlosen Sprachanteil verwendet.
- Ausführlicher dargestellt werden die Amplituden der Oberwellen im Synthesizer dadurch bestimmt, daß die aus den ursprünglichen Abtastpunkten gewonnene Gesamtrahmenenergie und die LPC (linear predictive coding)- Codierungskoeffizienten verwendet werden. Die Oberwellenamplituden werden dadurch berechnet, daß man die nicht normierte Energieverteilung aus jeder Oberwelle erhält, indem man die LPC-Koeffizienten verwendet und anschließend die Amplitude der Oberwellen dadurch ableitet, daß man die Gesamtenergie als Normierungsfaktor für eine arithmetische Operation verwendet. Diese Technik ermöglicht es, daß der Analysator lediglich die LPC-Koeffizienten sowie die Gesamtenergie aber nicht die Amplituden jeder Oberwelle übertragen muß.
- Vorteilhafterweise spricht der Synthesizer auf die Grundfrequenz und jede Oberwellenfrequenz, die in der Mitte des Rahmens auftreten zur Interpolation von Sprachrahmen zu Sprachrahmen an, um kontinuierliche Frequenzen über jeden Rahmen zu erzeugen. In ähnlicher Weise werden die Amplituden der Grundwelle und der Oberwellen erzeugt.
- Die Probleme, die beim Übergang von einem stimmhaften zu einem stimmlosen Rahmen und umgekehrt auftreten, werden auf folgende Weise behandelt. Beim Übergang von einem stimmlosen Rahmen zu einem stimmhaften Rahmen wird angenommen, daß die Frequenz der Grundwelle und jeder Oberwelle vom Beginn des Rahmens bis zur Rahmenmitte konstant ist. Die Frequenzen werden beim Übergang von einem stimmhaften zu einem stimmlosen Rahmen auf ähnliche Weise berechnet. Eine gewöhnliche Interpolation wird zur Berechnung der Frequenzen des verbleibenden Rahmens ausgeführt. Es wird angenommen, daß die Amplituden der Grund- und Oberwellen zu Beginn des stimmhaften Rahmens bei Null beginnen und für die erste Rahmenhälfte interpoliert werden. Die Amplituden werden beim Übergang von einem stimmhaften zu einem stimmlosen Rahmen auf ähnliche Weise berechnet.
- Zusätzlich kann die Anzahl von Oberwellen für jeden stimmhaften Rahmen von Rahmen zu Rahmen variieren Infolgedessen können mehr oder weniger Oberwellen in einem stimmhaften Rahmen als in einem angrenzenden stimmhaften Rahmen sein. Dieses Problem wird unter der Annahme gelöst, daß die Frequenzen der Oberwellen, die keine Entsprechung in dem benachbarten Rahmen haben, von der Mitte dieses Rahmens bis zur Grenze des benachbarten Rahmens konstant sind, und daß die Amplituden der Oberwellen dieses Rahmens an der Grenze zwischen dem Rahmen und dem benachbarten Rahmen Null sind. Dadurch kann eine Interpolation auf eine gewöhnliche Art und Weise ausgeführt werden.
- Außerdem, wenn ein Übergang von einem stimmhaften zu einem stimmlosen Rahmen erfolgt, wird ein stimmloses LPC- Filter mit den LPC-Koeffizienten des vorhergehenden stimmhaften Rahmens initialisiert. Dadurch kann das stimmlose Filter die Sprache für den stimmlosen Bereichs noch genauer synthetisieren. Somit bilden die LPC-Koeffizienten des stimmhaften Rahmens den Vokaltrakt für die vorangehende Zeitperiode genau nach.
- Es zeigen:
- Fig. 1 in Blockschaltbildform einen Sprachanalysator gemäß der Erfindung,
- Fig. 2 in Blockschaltbildform einen Sprachsynthesizer nach der Erfindung,
- Fig. 3 ein eine Information enthaltenes Paket zur Nachbildung der Sprache während stimmhafter Bereiche,
- Fig. 4 ein eine Information enthaltendes Paket zur Nachbildung von Sprache während stimmloser Bereiche unter Verwendung einer Rauscherregung,
- Fig. 5 ein eine Information enthaltenes Paket zur Nachbildung von Sprache während stimmloser Bereiche unter Verwendung einer Impulserregung,
- Fig. 6 in graphischer Darstellung die Interpolation, die vom Synthesizer nach Fig. 2 für die Grund- und Oberwellenfrequenzen ausgeführt wird,
- Fig. 7 in graphischer Darstellung die Interpolation, die von dem Synthesizer nach Fig. 2 für die Amplituden der Grund- und Oberwellenfrequenzen ausgeführt wird,
- Fig. 8 die Realisierung eines digitalen Signalprozessors nach Fig. 1 und 2,
- Fig. 9 bis 13 in Flußdiagrammform ein Programm zur Steuerung des digitalen Signalprozessors nach Fig. 8, nach dem die Analysatorschaltung der Fig. 1 verwirklicht werden kann, und
- Fig. 14 bis 19 in Flußdiagrammform ein Programm zur Steuerung der Ausführung des digitalen Signalprozessors nach Fig. 8, nach der der Synthesizer der Fig. 2 implementiert werden kann.
- Die Fig. 1 und 2 zeigen einen beispielhaften Sprachanalysator bzw. einen Sprachsynthesizer, die den Kern dieser Erfindung bilden. Der Sprachanalysator 100 nach Fig. 1 spricht auf über einen Übertragungsweg 120 empfangene analoge Sprachsignale an und codiert diese Signale zur Übertragung über einen Kanal 139 zum Synthesizer 200 nach Fig. 2 mit einer niedrigen Bitrate. Der Kanal 139 kann vorteilhafterweise ein Kommunikations-Übertragungsweg oder ein Speicher sein, so daß eine Sprachsynthese für verschiedene Anwendungen bereitgestellt werden kann, die eine synthetisierte Sprache zu einem späteren Zeitpunkt benötigen. Eine derartige Anwendung ist die Sprachausgabe eines digitalen Computers. Der Analysator 100 digitalisiert und quantisiert die analoge Sprachinformation unter Verwendung eines Analog-zu-Digital-Wandlers 101 und einer Rahmensegmentierungseinrichtung 102. Eine LPC- Berechnungseinrichtung 111 spricht auf die digitalisierten und quantisierten Abtastwerte an und erzeugt LPC (linear predictive coding)-Koeffizienten, die den menschlichen Vokaltrakt nachbilden sowie das Restsignal. Die Bildung der letztgenannten Koeffizienten und des Signals können durch die Anordnung, die in der US-PS 3 740 476 offenbart und wie diese Anmeldung demselben Anmeldungsberechtigten übertragen worden ist, oder durch andere allgemein bekannte Anordnungen ausgeführt werden. Der Analysator 100 codiert die über den Übertragungsweg 120 empfangenen Sprachsignale unter Anwendung einer der folgenden Analysetechniken: Sinus-Analyse, Mehrimpuls-Analyse oder Rauscherregungs-Analyse. Zunächst stellt der Rahmensegmentierungs-Block 102 die Sprachabtastwerte in Rahmen zusammen, die vorteilhafterweise 160 Abtastwerte umfassen. Die LPC-Berechnungseinrichtung 111 spricht auf jeden Rahmen an und berechnet das Restsignal und überträgt es über einen Pfad 122 zu einem Grundfrequenzdetektor 109. Der letztgenannte Detektor spricht auf das Restsignal und die Sprachabtastwerte an und entscheidet, ob der Rahmen stimmhaft oder stimmlos ist. Ein stimmhafter Rahmen ist ein Rahmen, innerhalb dessen eine Grundfrequenz, üblicherweise Grundton genannt, ermittelt wird. Wenn der Grundfrequenzdetektor 109 feststellt, daß der Rahmen stimmhaft ist, dann führen die Blöcke 103 bis 108 eine Sinus-Codierung des Rahmens aus. Wenn allerdings eine Entscheidung getroffen wird, daß der Rahmen stimmlos ist, dann bestimmt ein Rausch/Mehrimpuls-Entscheidungblock 112, ob eine Rauscherregung oder eine Mehrimpulserregung von dem Synthesizer 200 verwendet werden soll, um das Filter anzuregen, das durch die LPC-Koeffizienten, die vom LPC- Berechnungseinrichtungs-Block 111 berechnet werden, definiert wird. Wenn eine Rauscherregung verwendet werden soll, dann wird dieses Ergebnis über einen Parametercodierblock 113 und einen Sender 114 zum Synthesizer 200 übertragen. Wenn jedoch eine Mehrimpulserregung verwendet werden soll, ermittelt ein Block 110 die Orte und Amplituden einer Impulsfolge und überträgt diese Information über Pfade 128 und 129 zum Parametercodierblock 113 zur nachfolgenden Übertragung an den Synthesizer 200 der Fig. 2.
- Wenn ein Übertragungskanal zwischen dem Analysator 100 und dem Synthesizer 200 implementiert ist, der Pakete verwendet, dann ist ein für einen stimmhaften Rahmen übertragenes Paket in Fig. 3 dargestellt, ein Paket, das für einen stimmlosen Rahmen, der eine Erregung mittels weißen Rauschens verwendet, übertragen wird, in Fig. 4 dargestellt, und ein Paket, das für einen stimmlosen Rahmen, der eine Mehrimpulserregung verwendet, übertragen wird, in Fig. 5 dargestellt.
- Wir betrachten nunmehr die Arbeitsweise des Analysators 100 ausführlicher. Wenn der Grundfrequenzdetektor 109 über einen Pfad 130 einmal signalisiert hat, daß der Rahmen stimmlos ist, spricht der Rausch/Mehrimpuls- Entscheidungsblock 112 auf dieses Signal an und bestimmt, ob eine Rausch- oder Mehrimpulserregung verwendet werden soll. Wenn eine Mehrimpulserregung verwendet wird, wird das diesen Umstand anzeigende Signal zum Mehrimpuls-Analysatorblock 110 übertragen. Der Mehrimpuls-Analysator 110 spricht auf das Signal auf dem Pfad 124 sowie auf einen Satz von Impulsen an, die vom Grundfrequenzdetektor 109 über Pfade 125 und 126 übertragen werden. Der Mehrimpuls-Analysator 110 sendet die Orte der ausgewählten Impulse zusammen mit der Amplitude der ausgewählten Impulse zum Parametercodierer 113. Dieser Codierer spricht ferner auf die von der LPC- Berechnungseinrichtung 111 und über den Pfad 123 empfangenen LPC-Koeffizienten an und bildet das in Fig. 5 dargestellte Paket.
- Wenn der Rausch/Mehrimpuls-Entscheidungsblock 112 bestimmt, daß eine Rauscherregung zu verwenden ist, dann weist er auf diesen Umstand unter Senden eines Signals über den Pfad 124 an den Parametercodierblock 113 hin. Dieser Codierer spricht auf dieses Signal an und bildet das in Fig.
- 4 dargestellte Paket, indem die LPC-Koeffizienten des Blocks 111 und die Verstärkung verwendet werden, die aus dem Restsignal durch den Block 115 berechnet werden.
- Wir betrachten nunmehr die Arbeitsweise des Analysators 100 während eines stimmhaften Rahmens ausführlicher. Die Energie-Berechnungseinrichtung 103 spricht auf die digitalisierte Sprache sn eines Rahmens an, der von der Rahmensegmentierungseinrichtung 102 empfangen wird und berechnet die Gesamtenergie der Sprache innerhalb eines Rahmens mit vorteilhafterweise 160 Sprachabtastwerten, wie dies durch die folgende Gleichung gegeben ist:
- Deer Energiewert wird vom Synthesizer 200 verwendet, um die Amplituden der Grund- und Oberwellen in Verbindung mit den LPC-Koeffizienten zu bestimmen.
- Der Hamming-Fensterblock 104 spricht auf das über den Pfad 121 übertragene Sprachsignal an und führt die Fensteroperation (windowing operation) aus, wie dies durch die folgende Gleichung gegeben ist:
- Die Aufgabe der Fensteroperation ist die, Zusammenhanglosigkeiten an den Endpunkten eines Rahmens bei der Vorbereitung zur Berechnung der schnellen Fourier- Transformation, FFT, zu eliminieren. Nachdem die Fensteroperation ausgeführt worden ist, fügt der Block 105 eine Null an die resultierenden Abtastwerte des Blocks 104 an, woraus sich vorteilhafterweise eine neue Folge von 1024 Datenpunkten ergibt, wie dies in der folgenden Gleichung definiert ist:
- Als nächstes führt der Block 105 die schnelle Fourier- Transformation aus, die eine schnelle Ausführung der diskreten Fourier-Transformation darstellt, die durch die folgende Gleichung definiert ist:
- Nach der Ausführung der FFT-Berechnungen gewinnt der Block 105 das Spektrum S dadurch, daß die Größe der Datenpunkte für jede komplexe Frequenz berechnet wird, der sich aus der nach Gleichung 5 ausgeführten Berechnung ergibt; diese Operation wird durch die folgende Gleichung definiert:
- Eine Grundfrequenz-Einstelleinrichtung 107 spricht auf die vom Grundfrequenzdetektor 109 berechnete Grundfrequenz und auf das vom Block 105 berechnete Spektrum an und berechnet eine geschätzte Grundfrequenz, die eine genauere Angabe der Grundfrequenz ist als der vom Grundfrequenzdetektor 109 eingestellte Wert. Außerdem stellen die ganzzahligen Vielfachen der Grundfrequenz Werte dar, um die sich die Oberwellenfrequenzen relativ gleichmäßig verteilen. Diese Einstellung ist aus drei Gründen wünschenswert. Der erste Grund ist der, daß, obwohl die erste Spitze des vom Block 105 berechneten Spektrums die Stelle der Grundfrequenz anzeigen soll, dieses Signal in Wirklichkeit aufgrund von Einflüssen des Vokaltrakts und des Tiefpaßfilters in dem Analog-zu-Digital-Wandler 101 normalerweise versetzt ist. Der zweite Grund ist der, daß die Frequenz-Auflösung des Grundfrequenzdetektors durch die Abtastrate des Analog-zu-Digital-Wandlers begrenzt ist und somit keine präzise Grundfrequenz definiert, wenn die entsprechende Grundfrequenzperiode zwischen zwei Abtastpunkte fällt. Dieser Effekt, nämlich keine korrekte Grundfrequenz zu haben, wird durch die Grundfrequenzeinstelleinrichtung 107 ausgeglichen. Die größte Auswirkung zeigt sich bei den Berechnungen, die von einem Oberwellenlokalisierer 106 und einer Oberwellenversatz-Berechnungseinrichtung 108 ausgeführt werden. Der Oberwellenlokalisierer 106 benutzt die von der Grundfrequenzeinstelleinrichtung 107 bestimmte Grundfrequenz zur Erzeugung eines Startpunkts für die Analyse des durch den Spektralgrößenblock 105 erzeugten Spektrums, um die Stelle der verschiedenen Oberwellen zu ermitteln.
- Der dritte Grund ist der, daß die Oberwellenversatz- Berechnungseinrichtung 108 die aus dem Grundfrequenzwert berechnete theoretische Oberwellenfrequenz sowie die vom Lokaiisierer 106 ermittelte Oberwellenfrequenz benützt, um Versätze zu bestimmen, die zum Synthesizer 200 übertragen werden. Wenn die Grundfrequenz nicht richtig ist, wird jeder Versatz durch eine große Zahl ausgedrückt, für die zu viele Bits zum Synthesizer 200 übertragen werden müßten. Dadurch, daß die Oberwellenversätze um den Null-Oberwellenversatz verteilt sind, wird die Anzahl von Bits, die zur Übertragung der Oberwellenversätze zum Synthesizer 200 notwendig sind, auf einer minimalen Anzahl gehalten.
- Der Grundfrequenz-Einstellblock 107 arbeitet in folgender Weise. Da die Spitze in dem vom FFT- Spektralgrößenblock 105 berechneten Spektrum, die der Grundfrequenz entspricht, aus den vorhergehend erwähnten Gründen verschwimmen kann, sucht die Grundfrequenz- Einstelleinrichtung 107 zunächst das Spektrum ab, indem der Anfangsschätzwert für Grundfrequenz auf
- th&sub1; = 2p&sub0; (7)
- gesetzt wird, wobei p&sub0; die vom Grundfrequenzdetektor 109 bestimmte Grundfrequenz und th&sub1; die theoretische zweite Oberwelle ist. Die Suche um diesen Punkt in dem Spektrum, die durch th&sub1; bestimmt wird, erfolgt innerhalb des Frequenzbereichs f, der als
- definiert ist. Innerhalb dieses Bereichs berechnet die Grundfrequenz-Einstelleinrichtung 107 die Steigungen des Spektrums auf beiden Seiten der theoretischen Oberwellenfrequenz und sucht dann diesen Bereich in Richtung positiver Steigungen ab, bis die erste Spektralspitze in dem Suchbereich lokalisiert wird. Die Frequenz, bei der diese Spitze pk&sub1; auftritt, wird anschließend verwendet, um den Schätzwert für die Grundfrequenz in dem Rahmen einzustellen. Zu diesem Zeitpunkt wird der neue Grundfrequenzschätzwert p&sub1;
- Dieser neue Grundfrequenzschätzwert p&sub1; wird anschließend verwendet, um die theoretische Frequenz der dritten Oberwelle th&sub2; = 3p&sub1; zu berechnen. Diese Suchprozedur wird für jede theoretische Oberwellenfrequenz thi < 3.600 Hz wiederholt. Für Frequenzen über 3.600 Hz läßt die Tiefpaßfilterung Einzelheiten des Spektrums verschwimmen. Wenn die Suchprozedur keine spektrale Spitze in dem Suchbereich findet, erfolgt keine Einstellung, und die Suche wird für die nächste Spitze unter Benutzung des vorhergehend eingestellten Spitzenwerts fortgesetzt. Jede Spitze wird als pki bezeichnet, wobei i die ite Oberwelle oder Oberwellenzahl darstellt. Die Gleichung für den iten Grundfrequenzschätzwert pi ist
- Der Suchbereich für den iten Grundfrequenzschätzwert ist durch die Gleichung
- (i + 1/2) pIN ≤ f ≤ (+ 3/2) pIn, i > 0 (11)
- festgelegt.
- Nachdem die Grundfrequenz-Einstelleinrichtung 107 den Grundfrequenzschätzwert bestimmt hat, wird dieser an den Parametercodierer 113 zur nachfolgenden Übertragung an den Synthesizer 200 sowie an den Oberwellenlokalisierer 106 über einen Pfad 133 übertragen. Dieser Lokalisierer spricht auf das durch die Gleichung 6 definierte Spektrum an und ermittelt die Oberwellenspitzen innerhalb des Spektrums genau, indem der zuletzt eingestellte Grundfrequenzwert pF als Startpunkt zur Suche in dem Spektrum in einem Bereich verwendet wird, der durch
- (i + 1/2) pF ≤ f ≤ (i + 3/2) pF, 1 ≤ i ≤ h (12)
- definiert ist, wobei h die Anzahl der Oberwellenfrequenzen in dem gegenwärtigen Rahmen ist. Jede auf diese Weise lokalisierte Spitze wird mit pki bezeichnet, wobei i die ite Oberwelle oder Oberwellenzahl darstellt. Die Oberwellen- Berechnungseinrichtung 108 spricht auf die pki-Werte an und berechnet den Oberwellenversatz aus der theoretischen Oberwellenfrequenz tsi, wobei der Versatz mit hoi bezeichnet ist. Der Versatz ist durch
- definiert, wobei fr die Frequenz zwischen aufeinanderfolgenden Spektraldatenpunkten ist, die sich auf Grund der Größe des berechneten Spektrums S ergibt. Die Oberwellen-Berechnungseinrichtung 108 sendet anschließend diese Versätze über einen Pfad 137 an den Parametercodierer 113 für eine nachfolgende Übertragung zum Synthesizer 200.
- Der in Fig. 2 dargestellte Synthesizer 200 spricht auf die Vokaltrakt-Modellparameter und die Erregungs- oder Sinusinformation, die über den Kanal 139 empfangen werden, an und erzeugt eine getreue Nachbildung der ursprünglichen analogen Sprache, die vom Analysator 100 in Fig. 1 codiert worden ist. Der Synthesizer 200 arbeitet in der folgenden Weise. Wenn der Rahmen stimmhaft ist, führen die Blöcke 212, 213 und 214 die Sinussynthese aus, um das ursprüngliche Sprachsignal gemäß Gleichung 1 wiederherzustellen , wobei anschließend diese rekonstruierte Sprachinformation über eine Auswahleinrichtung 206 zu einem Digital-zu-Analog-Wandler 208 übertragen wird, der die empfangene digitale Information in ein analoges Signal umsetzt.
- Nach dem Empfang eines in Fig. 3 dargestellten stimmhaften Informationspakets überträgt ein Kanaldecodierer 201 die Grundfrequenz- und die Oberwellenfrequenzversatz- Information zu einer Oberwellenfrequenz- Berechnungseinrichtung 212 über Pfade 221 beziehungsweise 222, die Sprachrahmenenergie eo und die LPC-Koeffizienten über Pfade 220 beziehungsweise 216 zu einer Oberwellenamplituden-Berechnungseinrichtung 213 und das stimmhafte/stimmlose-V/U-Signal zur Oberwellenfrequenz- Berechnungseinrichtung 212 und zur Auswahleinrichtung 206. Ist das V/U-Signal gleich "1", so weist es daraufhin, daß der Rahmen stimmhaft ist. Die Oberwellenfrequenz- Berechnungseinrichtung 212 spricht auf das V/U-Signal, das gleich "1" ist, an und berechnet die Oberwellenfrequenzen unter Ansprechen auf die eingestellte Grundfrequenz und die Oberwellenfrequenz-Versatzinformation, die über die Pfade 221 beziehungsweise 222 empfangen werden. Die letztgenannte Berechnungseinrichtung übermittelt anschließend die Oberwellenfrequenzinformation zu den Blöcken 213 und 214.
- Die Oberwellenamplituden-Berechnungseinrichtung 213 spricht auf die Oberwellenfrequenzinformation der Berechnungseinrichtung 212, die über den Pfad 220 empfangenen Rahmenenergieinformation sowie die über den Pfad 260 empfangenen LPC-Koeffizienten an und berechnet die Amplituden der Oberwellenfrequenzen. Ein Sinus-Generator 214 spricht auf die von der Berechnungseinrichtung 212 über einen Pfad 223 empfangene Frequenzinformation an und erzeugt die Oberwellenphaseninformation, wobei er anschließend diese Phaseninformation sowie die über einen Pfad 224 von der Berechnungseinrichtung 213 empfangene Amplitudeninformation benutzt, um die durch die Gleichung 1 angegebenen Berechnungen auszuführen.
- Wenn der Kanaldecodierer 201 ein Rauscherregungspaket, wie z. B. in Fig. 4 dargestellt, empfängt, überträgt er ein Signal über einen Pfad 227, das bewirkt, daß die Auswahleinrichtung 205 den Ausgang des Weißen-Rausch- Generators 203 auswählt und ein Signal über den Pfad 215, das bewirkt, daß die Auswahleinrichtung 206 den Ausgang eines Synthesefilters 207 auswählt. Außerdem überträgt der Kanaldecodierer 201 die Verstärkung zum Weißen-Rausch- Generator 203 über einen Pfad 211. Das Synthesefilter 207 spricht auf die vom Kanaldecodierer 201 über den Pfad 216 empfangenen LPC-Koeffizienten sowie auf das über die Auswahleinrichtung 205 empfangene Ausgangssignal des Weißen- Rausch-Generators 203 an und erzeugt digitale Sprachabtastwerte zu.
- Wenn der Kanaldecodierer 201 über den Kanal 139 ein Impulserregungspaket, wie in Fig. 5 dargestellt, empfängt, überträgt er den Ort und die relativen Impulsamplituden bezüglich der Amplitude des größten Impulses über einen Pfad 210 zum Impulsgenerator 204 und die Impulsamplituden über einen Pfad 230. Außerdem konditioniert der Kanaldecodierer 201 die Auswahleinrichtung 205 über den Pfad 227, um das Ausgangssignal des Impulsgenerators 204 auszuwählen, welches zum Synthesefilter 207 übermittelt, wird. Das Synthesefilter 207 und der Digital-zu-Analog-Wandler 208 reproduzieren anschließend die Sprache durch die Auswahleinrichtung 206, die über den Pfad 215 durch den Decodierer 201 konditioniert wird. Der Wandler 208 weist an seinem Ausgang ein unabhängiges Tiefpaßfilter auf.
- Wir betrachten nunmehr ausführlicher die Funktionen der Blöcke 212, 213 und 214 bei der Ausführung der Sinussynthese stimmhafter Rahmen. Die Oberwellenfrequenz- Berechnungseinrichtung 212 spricht auf die über den Pfad 221 empfangene eingestellte Grundfrequenz pF an und bestimmt unter Verwendung der über den Pfad 222 empfangenen Oberwellenversätze die Oberwellenfrequenzen. Die theoretische Oberwellenfrequenz tsi ist als die Ordnung der Oberwelle, die mit der eingestellten Grundfrequenz multipliziert wird, definiert. Jede Oberwellenfrequenz hfi ist so eingestellt, daß sie in einen Spektralpunkt fällt, nachdem sie durch einen geeigneten Oberwellenversatz ausgeglichen worden ist. Die folgende Gleichung definiert die i-te Oberwellenfrequenz für jede Oberwelle
- hfi = tsi + hoi fr, 1 ≤ i ≤ h (14)
- wobei fr die spektrale Auflösung ist.
- Die Gleichung 14 erzeugt einen Wert für jede Oberwellenfrequenz. Es wird angenommen, daß dieser Wert der Mitte eines Sprachrahmens entspricht, der synthetisiert wird. Die übrigen Pro-Abtastwert-Frequenzen eines jeden Sprachabtastwerts in einem Rahmen erhält man durch lineares Interpolieren zwischen den Frequenzen benachbarter stimmhafter Rahmen oder vorbestimmte Grenzbedingungen für benachbarte stimmlose Rahmen. Diese Interpolation wird im Sinusgenerator 214 ausgeführt und ist in den nachstehenden Abschnitten beschrieben.
- Die Oberwellenamplituden-Berechnungseinrichtung 213 spricht auf die von der Berechnungseinrichtung 212 berechneten Frequenzen, auf die über den Pfad 216 empfangenen LPC-Koeffizienten und auf die über den Pfad 220 empfangene Rahmenenergie an und berechnet die Amplituden der Grund- und Oberwellen. Die LPC-Reflexionskoeffizienten eines jeden stimmhaften Rahmens definieren ein akustisches Röhrenmodell, das den Vokaltrakt während eines jeden Rahmens darstellt. Die relativen Oberwellenamplituden können aus dieser Information ermittelt werden. Da jedoch die LPC-Koeffizienten die Struktur des Vokaltraktes nachbilden, enthalten sie bezüglich des Energiebetrags bei jeder Oberwellenfrequenz nicht genügend Information. Diese Information wird unter Benutzung der über den Pfad 220 empfangenen Rahmenenergie gebildet. Die Berechnungseinrichtung 213 berechnet für jeden Rahmen die Oberwellenamplitude, der ähnlich den Oberwellenfrequenzberechnungen annimmt, daß diese Amplitude in der Mitte des Rahmens liegt. Eine lineare Interpolation wird benutzt, um die übrigen Amplituden des ganzen Rahmens zu bestimmen, indem die Amplitudeninformation aus benachbarten stimmhaften Rahmen oder vorbestimmte Grenzbedingungen für benachbarte stimmlose Rahmen verwendet wird.
- Diese Amplituden können aufgefunden werden, wenn erkannt wird, daß der Vokaltrakt unter Verwendung eines Allpaß-Filtermodells beschrieben werden kann,
- G(z)= 1/A(z) (15)
- mit
- und per Definition der Koeffizient a&sub0; gleich 1 ist. Die Koeffizienten am mit ≤ m ≤ 10, die zur Beschreibung des Allpaß-Filters notwendig sind, können aus den über den Pfad 216 empfangenen Reflexionskoeffizienten ermittelt werden, indem die rekursive Aufwärtsprozedur (recursive step-up procedure) verwendet wird, die in Markel, J.D., and Gray, Jr., A.H., Linear Prediction of Speech, Springer-Verlag, New York, 1976, beschrieben ist. Das in den Gleichungen 15 und 16 beschriebene Filter wird verwendet, um die Amplituden der Oberwellenkomponenten für jeden Rahmen in folgender Weise zu berechnen. Wir bezeichnen die zu berechnenden Oberwellenamplituden mit hai mit 0 ≤ i ≤ h, wobei h die maximale Anzahl der Oberwellen in dem gegenwärtigen Rahmen ist. Ein nicht normierter Oberwellenverteilungswert hei mit 0 ≤ i ≤ h kann für jede Oberwellenfrequenz hfi durch
- erhalten werden, wobei sr die Abtastrate ist.
- Die nicht normierte Gesamtenergie aller Oberwellen E kann erhalten werden durch:
- Bei der Annahme, daß
- für eine Rahmengröße von 160 Punkten gilt, kann die ite normierte Oberwellenamplitude hai durch
- berechnet werden, wobei eo die durch die Gleichung 2 definierte und vom Analysator 100 berechnete übertragene Sprachrahmenenergie ist.
- Wir betrachten nunmehr, wie der Sinusgenerator 214 die von den Berechnungseinrichtungen 212 und 213 empfangenen Informationen verwendet, um die in Gleichung 1 angegebenen Berechnungen auszuführen. Für einen gegebenen Rahmen erzeugen die Berechnungseinrichtungen 212 und 213 eine einzelne Frequenz und eine einzelne Amplitude für jede Oberwelle in dem Rahmen für den Generator 214. Der Generator 214 wandelt die Frequenzinformationen in eine Phaseninformation um und führt eine lineare Interpolation mit den Frequenzen und Amplituden aus, damit man Frequenzen und Amplituden für jeden Abtastpunkt des Gesamtrahmens erhält.
- Die lineare Interpolation wird auf die folgende Art und Weise ausgeführt. Fig. 6 zeigt fünf Sprachrahmen und die lineare Interpolation, die für die Grundfrequenz, die auch als die 0te Oberwelle betrachtet wird, ausgeführt wird. Für die anderen Oberwellenfrequenzen gibt es eine ähnliche Darstellung. Ganz allgemein gibt es drei Grenzbedingungen, die für einen Sprachrahmen existieren können. Erstens kann der Sprachrahmen einen vorhergehenden stimmlosen Rahmen und einen nachfolgenden stimmhaften Rahmen aufweisen, zweitens kann der Sprachrahmen von anderen stimmhaften Rahmen umgeben sein, oder drittens kann der stimmhafte Rahmen einen vorhergehenden stimmhaften Sprachrahmen und einen nachfolgenden stimmlosen Rahmen aufweisen. Wie in Fig. 6 dargestellt, stellt der Rahmen c, Punkt 601 bis 603, die erste Bedingung dar; und es wird angenommen, daß die Frequenz hfic zu Beginn des Rahmens, der mit 601 festgelegt ist, konstant ist. Der hochgestellte Index c bezieht sich auf die Tatsache, daß dies der c-Rahmen ist. Der Rahmen b, der auf den Rahmen c folgt und durch die Punkte 603 bis 605 festgelegt ist, stellt den zweiten Fall dar; die lineare Interpolation wird zwischen den Punkten 602 und 604 unter Verwendung der Frequenzen hfic und hfib ausgeführt, die in dem Punkt 602 bzw. 604 auftreten. Die dritte Bedingung wird durch den Rahmen a dargestellt, der sich von dem Punkt 605 zum Punkt 607 erstreckt, und der dem Rahmen a folgende Rahmen ist ein durch die Punkte 607 bis 608 festgelegter stimmloser Rahmen. In diesem Fall ist die Frequenz hfia bis zum Punkt 607 konstant.
- Fig. 7 erläutert die Interpolation der Amplituden. Für aufeinanderfolgende stimmhafte Rahmen, die z. B. durch die Punkte 702 bis 704 und die Punkte 704 bis 706 festgelegt sind, stimmt die Interpolation mit der überein, die bezüglich der Frequenzen ausgeführt wird. Wenn jedoch der vorhergehende Rahmen stimmlos ist, wie dies z. B. durch die Beziehung des Rahmens 700 bis 701 mit dem Rahmen 701 bis 703 dargestellt ist, wird angenommen, daß die Oberwellen zu Beginn des Rahmens die Amplitude 0 haben, wie dies in Punkt 701 dargestellt ist. Wenn auf einen Sprachrahmen ein stimmloser Rahmen folgt, wie dies z. B. durch den Rahmen a von 705 bis 707 und einen Rahmen 707 bis 708 dargestellt ist, dann wird gleichermaßen angenommen, daß die Oberwellen am Endpunkt, z. B. bei 707, die Amplitude 0 haben und die lineare Interpolation wird ausgeführt.
- Der Generator 214 führt die oben beschriebene Interpolation unter Verwendung der folgenden Gleichungen aus. Die Pro-Abtastwert-Phasen des n-ten Abtastwertes, wobei On,i die Pro-Abtastwert-Phase der i-ten Oberwelle ist, ist durch
- definiert, wobei sr die Ausgangsabtastrate ist. Es ist lediglich notwendig, die Pro-Abtastwert-Frequenzen Wn,i zu kennen, um die Phasen zu berechnen, und diese Pro-Abtastwert- Frequenzen werden unter Ausführung der Interpolation gefunden. Die lineare Interpolation der Frequenzen für einen stimmhaften Rahmen mit benachbarten stimmhaften Rahmen, wie z. B. dem Rahmen b nach Fig. 6, wird definiert durch
- wobei hmin die minimale Anzahl von Oberwellen in beiden benachbarten Rahmen ist. Der Übergang von einem stimmlosen zu einem stimmhaften Rahmen, z. B. zum Rahmen c, erfolgt unter Bestimmung der Pro-Abtastwert-Oberwellenfrequenz durch
- Der Übergang von einem stimmhaften Rahmen zu einem stimmlosen Rahmen, wie z. B. vom Rahmen a, erfolgt unter Bestimmung der Pro-Abtastwert-Oberwellenfrequenzen durch
- Wenn hmin die minimale Anzahl der Oberwellen in einem der beiden benachbarten Rahmen darstellt, wird für den Fall, für den der Rahmen b mehr Oberwellen als der Rahmen c aufweist, die Gleichung 23 verwendet, um die Pro-Abtastwert- Oberwellenfrequenzen für die Oberwellen, die größer als hmin sind, zu berechnen. Wenn der Rahmen b mehr Oberwellen als der Rahmen a aufweist, wird die Gleichung 24 verwendet, um die Pro-Abtastwert-Oberwellenfrequenz für die Oberwellen zu berechnen, die größer als hmin sind.
- Die Pro-Abtastwert-Amplituden, An,i können in ähnlicher Weise aus hai ermittelt werden und sind für den stimmhaften Rahmen b durch
- definiert.
- Wenn ein Rahmen der Beginn eines stimmhaften Bereichs ist, wie z. B. der Beginn des Rahmens c, wird die Pro- Abtastwert-Oberwellenamplitude bestimmt durch
- wobei h die Anzahl der Oberwellen in dem Rahmen c ist. Wenn ein Rahmen, z. B. der Rahmen a am Ende eines stimmhaften Bereichs liegt, werden die Pro-Abtastwert-Amplituden bestimmt durch
- wobei h die Anzahl der Oberwellen des Rahmens a ist. Für diesen Fall, für den ein Rahmen, z. B. der Rahmen b, mehr Oberwellen als der vorhergehende stimmhafte Rahmen, z. B. der Rahmen c, hat, werden die Gleichungen 27 und 28 verwendet, um die Oberwellenamplituden für die Oberwellen zu berechnen, die größer als hmin sind. Wenn der Rahmen b mehr Oberwellen als der Rahmen a hat, wird die Gleichung 29 verwendet, um die Oberwellenamplitude für die Oberwellen zu berechnen, die größer als hmin sind.
- Die Energie-Berechnungseinrichtung 103 ist durch einen Prozessor 803 nach Fig. 8 verwirklicht, der die Blöcke 901 bis 904 der Fig. 9 ausführt. Der Block 901 setzt vorteilhafterweise die Anzahl der Abtastwerte pro Rahmen auf 160. Die Blöcke 902 und 903 fahren anschließend damit fort, die Quadratsumme jedes digitalen Abtastwertes sa zu bilden. Nachdem die Summe gebildet worden ist, bildet der Block 904 die Quadratwurzel dieser Summe, die die ursprüngliche Sprachrahmenenergie eo ergibt. Diese Energie wird danach zum Parametercodierer 113 und zu einem Block 1001 übertragen.
- Der Hamming-Fensterblock 104 nach Fig. 1 ist durch den Prozessor 803 realisiert, der die Blöcke 1001 und 1002 nach Fig. 9 ausführt. Die Blöcke führen die allgemein bekannte Hamming-Fenster-Operation durch.
- Der FFT-Spektralgrößenblock 105 wird unter Ausführung der Blöcke 1003 bis 1023 der Fig. 9 und 10 verwirklicht. Die Blöcke 1003 bis 1005 führen die Auffülloperation, wie sie in Gleichung 4 definiert ist, aus. Die Auffülloperation füllt den Realteil Rc und den Imaginärteil Ic des Punktes c in einem Feld mit Nullen auf, das vorteilhafterweise 1024 Datenpunkte sowohl für den Imaginär- als auch für den Realteil enthält. Die Blöcke 1006 bis 1013 führen eine Daten- Ausrichtungsoperation aus, die in der Technik allgemein bekannt ist. Die Operation wird gewöhnlich Bitwechselfunktion genannt, weil die Reihenfolge der Datenpunkte auf eine Weise neu geordnet wird, die sicherstellt, daß die Ergebnisse der FFT-Analyse in einer richtigen Frequenzbereichsreihenfolge erzeugt werden.
- Die Blöcke 1014 bis 1021 nach den Fig. 9 und 10 stellen die Realisierung der schnellen Fourier-Transformation dar, mit der die diskrete Fourier-Transformation, wie in Gleichung 5 definiert, berechnet wird. Nachdem die schnelle Fourier- Analyse durch die letztgenannten Blöcke ausgeführt worden ist, führen die Blöcke 1022 und 1023 die notwendigen Quadrier- und Wurzeloperationen aus, um die erhaltenen Spektralgrößendaten zu erzeugen, wie dies durch Gleichung 6 definiert ist.
- Die Grundfrequenz-Einstelleinrichtung 107 wird durch die Blöcke 1101 bis 1132 nach den Fig. 10, 11 und 12 realisiert. Der Block 1101 nach Fig. 10 initialisiert die verschiedenen zur Ausführung der Grundfrequenz- Einstelloperation erforderlichen Variablen. Der Block 1102 legt die Anzahl von Iterationen fest, die beim Einstellen der Grundfrequenz auszuführen sind, indem nach jeder Oberwellenspitze gesucht wird. Eine Ausnahme besteht dann, wenn die theoretische Frequenz th die maximal zulässige Frequenz mxf überschreitet. Dann wird die durch den Block 1102 gesteuerte "Laufschleife" (for loop), durch den Entscheidungsblock 1104 beendet. Die theoretische Frequenz wird für jede Iteration durch den Block 1103 eingestellt. Die Gleichung 10 legt die Prozedur fest, die zum Einstellen der Grundfrequenz benutzt wird, und die Gleichung 11 bestimmt den Suchbereich für jede Spitze. Der Block 1108 wird verwendet, um den Index m der Spektralgrößendaten Sm zu ermitteln, der den Anfangsdatenpunkt festlegt, mit dem die Suche beginnt. Der Block 1108 berechnet ferner die Steigungen um diesen Datenpunkt, welche als obere Steigung us und untere Steigung ls bezeichnet werden. Die obere und untere Steigung werden verwendet, um eine von fünf verschiedenen Bedingungen bezüglich der Steigungen der Spektralgrößendaten um den bezeichneten Datenpunkt herum zu bestimmen. Die Bedingungen sind eine lokale Spitze, eine positive Steigung, eine negative Steigung, ein lokales Minimum, oder ein flacher Bereich des Spektrums. Diese Bedingungen werden in den Blöcken 1111, 1114, 1109 und 1110 nach den Fig. 10 und 11 überprüft. Wird von den Blöcken 1110 und 1109 erkannt, daß die Steigung ein Minimum oder ein flacher Bereich der Kurve ist, dann wird Block 1107 nach Fig. 11 ausgeführt, der die eingestellte Grundfrequenz Pi auf den zuletzt bestimmten Grundfrequenzwert setzt. Wird ein Minimum oder ein flacher Kurvenbereich nicht aufgefunden, dann wird der Entscheidungsblock 1111 ausgeführt. Wird eine Spitze durch den Entscheidungsblock 1111 festgestellt, dann wird die Frequenz des Datenabtastwertes in der Spitze durch Block 1112 ermittelt.
- Wird erkannt, daß die Steigungen der Spektralgrößendaten um den bezeichneten Punkt herum eine Spitze, eine positive Steigung oder eine negative Steigung darstellen, wird die Grundfrequenz durch die Blöcke 1128 bis 1132 eingestellt. Diese Einstellung wird gemäß der Gleichung 10 ausgeführt. Der Block 1128 setzt das Spitze-lokalisiert- Flag und initialisiert die Variablen nm und dn, die den Zähler beziehungsweise den Nenner der Gleichung 10 darstellen. Danach führen die Blöcke 1129 bis 1132 die Berechnung der Gleichung 10 aus. Man beachte, daß der Entscheidungsblock 1131 bestimmt, ob eine Spitze für eine besondere Oberwelle lokalisiert worden ist. Wenn keine Spitze lokalisiert wurde, wird die Schleife einfach fortgesetzt und die durch Block 1131 spezifizierten Berechnungen werden nicht ausgeführt. Nachdem alle Spitzen verarbeitet worden sind, wird der Block 1132 ausgeführt, und er erzeugt eine eingestellte Grundfrequenz, die die Grenzfrequenz darstellt, die für die gegenwärtig lokalisierte Spitze eingestellt ist.
- Wird erkannt, daß die Steigung des Spektraldatenpunkts positiv oder negativ ist, dann werden die Blöcke 1113 bis 1127 nach Fig. 11 ausgeführt. Zuerst berechnet der Block 1113 den Frequenzwert des Anfangsabtastpunktes psf, der von den Blöcken 1119 und 1123 sowie den Blöcken 1122 und 1124 verwendet wird, um sicherzustellen, daß die Suche nicht über den durch Gleichung 11 spezifizierten Punkt hinausgeht. Das Feststellen, ob die Steigung positiv oder negativ ist, wird durch den Entscheidungsblock 1114 getroffen. Wenn der Spektraldatenpunkt in einer negativen Steigung liegt, dann werden die Blöcke 1115 bis 1125 ausgeführt. Es ist die Aufgabe dieser Blöcke, die Spektraldatenpunkte abzusuchen, bis eine Spitze gefunden wird, oder das Ende des Suchbereichs überschritten wird, der durch die Blöcke 1119 und 1123 spezifiziert ist. Der Entscheidungsblock 1125 wird verwendet, um festzustellen, ob eine Spitze innerhalb des Suchbereichs gefunden worden ist. Wenn eine positive Steigung durch den Block 1114 festgestellt wird, werden die Blöcke 1116 bis 1126 und Funktionen ausgeführt, die denen ähnlich sind, die für den Fall einer negativen Steigung durch die Blöcke 1115 bis 1125 ausgeführt werden. Nach der Ausführung der Blöcke 1113 bis 1126, werden die Blöcke 1127 bis 1132 in derselben Weise, wie vorhergehend beschrieben, ausgeführt. Nachdem alle im Spektrum vorhandenen Spitzen überprüft worden sind, wird der letzte Grundfrequenzwert von Block 1106 nach Fig. 12 gemäß der Gleichung 10 gleich dem akkumulierten eingestellten Grundfrequenzwert gesetzt.
- Der Oberwellenlokalisierer 106 wird durch die Blöcke 1201 bis 1222 der Fig. 12 und 13 ausgeführt. Der Block 1201 erfüllt die Anfangsbedingungen, die zur Lokalisierung der Oberwellenfrequenzen notwendig sind. Der Block 1202 steuert die Ausführung der Blöcke 1203 bis 1222 derart, daß all die Spitzen, die durch die Variable harm spezifiziert werden, lokalisiert werden. Der Block 1203 ermittelt für jede Oberwelle den Index, der verwendet wird, um den theoretischen Oberwellen-Spektraldatenpunkt, die obere Steigung und die untere Steigung zu ermitteln. Wenn die Steigung auf ein Minimum, einen flachen Bereich oder eine Spitze hinweist, die durch die jeweiligen Entscheidungsblöcke 1204 bis 1206 ermittelt werden, wird der Block 1222 ausgeführt, der den Oberwellenversatz gleich Null setzt. Wenn die Steigung positiv oder negativ ist, werden die Blöcke 1207 bis 1221 ausgeführt. Die Blöcke 1207 bis 1220 führen Funktionen aus, die denen ähnlich sind, die durch die vorhergehend beschriebenen Operationen der Blöcke 1113 bis 1126 ausgeführt werden. Sind die Blöcke 1208 bis 1120 erst einmal ausgeführt worden, dann wird der Oberwellenversatz hoq durch den Block 1221 gleich der Indexzahl r gesetzt.
- Die Fig. 14 bis 19 zeigen ausführlich die vom Prozessor 803 zur Verwirklichung des Synthesizers 200 nach Fig. 2 ausgeführten Schritte. Die Oberwellenfrequenz- Berechnungseinrichtung 212 der Fig. 2 wird durch die Blöcke 1301, 1302 und 1303 der Fig. 14 verwirklicht. Der Block 1301 initialisiert die Parameter, die für diese Operation verwendet werden. Die Grundfrequenz des iten Rahmens hf&sub0;i wird gleich der übertragenen Grundfrequenz PF gesetzt. Unter Verwendung dieses Anfangswertes berechnet der Block 1303 jede Oberwellenfrequenz, indem zunächst die theoretische Frequenz der Oberwelle durch Multiplizieren der Grundfrequenz mit der Oberwellenzahl berechnet werden. Danach erhält man den Index der theoretischen Oberwelle, so daß die Frequenz auf einen Spektraldatenpunkt fällt, und dieser Index wird zum übertragenen Oberwellenversatz hot addiert. Ist der Index des Spektraldatenpunkts einmal ermittelt worden, wird der Index mit der Frequenzauflösung fr multipliziert, um die ite Rahmen-Oberwellenfrequenz hft¹ zu berechnen. Diese Prozedur wird von Block 1302 solange wiederholt, bis alle Oberwellen berechnet worden sind.
- Die Oberwellenamplituden-Berechnungseinrichtung 213 ist durch den Prozessor 803 nach Fig. 8 realisiert, der die Blöcke 1401 bis 1417 der Fig. 14 und 15 ausführt. Die Blöcke 1401 bis 1407 implementieren die Aufwärtsprozedur, um die LPC-Reflexionskoeffizienten in Koeffizienten umzuwandeln, die für die Allpaß-Filterbeschreibung des Vokaltraktes verwendet werden, die durch Gleichung 16 gegeben ist. Die Blöcke 1408 bis 1412 berechnen die nicht normierte Oberwellenenergie für jede Oberwelle, wie dies in Gleichung 17 definiert ist. Die Blöcke 1413 bis 1415 werden verwendet, um die nicht normierte Gesamtenergie E zu berechnen, die durch Gleichung 18 definiert ist. Die Blöcke 1416 und 1417 berechnen die ite genormte Rahmen-Oberwellenamplitude habi, die durch Gleichung 20 definiert ist.
- Die Blöcke 1501 bis 1521 und die Blöcke 1601 bis 1614 der Fig. 15 bis 18 stellen die Operationen dar, die vom Prozessor 803 zur Interpolation der Frequenz und der Amplituden für jede Oberwelle ausgeführt werden, wie dies in Fig. 6 und 7 gezeigt ist. Diese Operationen werden durch den ersten Teil des Rahmens, der von den Blöcken 1501 bis 1521 verarbeitet wird, und durch den zweiten Teil des Rahmens, der durch die Blöcke 1601 bis 1614 verarbeitet wird, ausgeführt. Wie in Fig. 6 erläutert ist, erstreckt sich die erste Hälfte des Rahmens c von Punkt 601 bis zu 602 und die zweite Hälfte des Rahmens c von Punkt 602 bis zu Punkt 603. Die durch diese Blöcke ausgeführte Operation besteht darin, zunächst festzustellen, ob der vorhergehende Rahmen stimmhaft oder stimmlos war.
- Insbesondere setzt der Block 1501 nach Fig. 15 die Anfangswerte. Der Entscheidungsblock 1502 trifft die Entscheidung, ob der vorhergehende Rahmen stimmhaft oder stimmlos war. Wenn der vorhergehende Rahmen stimmlos war, werden die Blöcke 1504 bis 1510 ausgeführt. Die Blöcke 1504 und 1507 der Fig. 17 initialisieren den ersten Datenpunkt der Oberwellenfrequenzen und Amplituden jeder Oberwelle zu Beginn des Rahmens auf hfic für die Phasen und auf a0,ic = 0 für die Amplituden. Dies entspricht den Darstellungen in den Fig. 6 und 7. Nachdem die Anfangswerte der ersten Datenpunkte des Rahmens gesetzt worden sind, werden die übrigen Werte eines vorhergehenden stimmlosen Rahmens durch die Ausführung der Blöcke 1508 bis 1510 gesetzt. Für den Fall, daß die Oberwellenfrequenz betroffen ist, werden die Frequenzen gleich der Mittenfrequenz gesetzt, wie dies in Fig. 6 dargestellt ist. Für den Fall, daß die Oberwellenamplituden betroffen sind, wird jeder Datenpunkt gleich der linearen Näherung gesetzt, die zu Beginn des Rahmens bei Null startet und zur Mittelpunktsamplitude läuft, wie dies für den Rahmen c nach Fig. 7 dargestellt ist.
- Wenn vom Block 1502 die Entscheidung getroffen wird, daß der vorhergehende Rahmen stimmhaft war, wird der Entscheidungsblock 1503 der Fig. 16 ausgeführt. Der Entscheidungsblock 1503 stellt fest, ob der vorhergehende Rahmen mehr oder weniger Oberwellen als der gegenwärtige Rahmen hat. Die Anzahl der Oberwellen wird durch die Variable sh angezeigt. In Abhängigkeit davon, welcher Rahmen die meisten Oberwellen hat, wird entschieden, ob der Block 1505 oder 1506 ausgeführt wird. Die Variable hmin wird gleich der letzten Oberwellenzahl eines der beiden Rahmen gesetzt. Nachdem entweder der Block 1505 oder 1506 ausgeführt worden ist, werden die Blöcke 1511 und 1512 ausgeführt. Die letztgenannten Blöcke legen den Anfangspunkt des gegenwärtigen Rahmens fest, indem der letzte Punkt des vorhergehenden Rahmens sowohl für die Frequenz als auch für die Amplitude berechnet wird. Nachdem die Operation für alle Oberwelle ausgeführt worden ist, berechnen die Blöcke 1513 bis 1515 jeden der Pro-Abtastwerte sowohl für die Frequenzen als auch für die Amplituden aller Oberwellen, wie durch Gleichung 22 bzw. durch Gleichung 26 definiert ist.
- Nachdem für alle Oberwellen, die durch die Variable hmin definiert sind, die Pro-Abtastwert-Frequenzen- und Amplituden berechnet worden sind, werden die Blöcke 1516 bis 1521 berechnet, um der Tatsache Rechnung zu tragen, daß der gegenwärtige Rahmen mehr Oberwellen als der vorhergehende Rahmen haben kann. Wenn der gegenwärtige Rahmen mehr Oberwellen als der vorhergehende Rahmen hat, übermittelt der Entscheidungsblock 1516 ein Steuersignal zu Block 1517. Sobald in dem gegenwärtigen Rahmen mehr Oberwellen sind als in dem vorhergehenden Rahmen, werden die Blöcke 1517 bis 1521 ausgeführt und ihre Operation stimmt mit der der Blöcke 1504 bis 1510 überein, wie dies vorhergehend beschrieben worden ist.
- Die Berechnung der Pro-Abtastwerte für die Frequenz und die Amplituden jeder Oberwelle der zweiten Rahmenhälfte ist durch die Blöcke 1601 bis 1614 dargestellt. In Block 1601 wird die Entscheidung getroffen, ob der nächste Rahmen stimmhaft oder stimmlos ist. Wenn der nächste Rahmen stimmlos ist, werden die Blöcke 1603 bis 1607 ausgeführt. Man beachte, daß es nicht notwendig ist, Anfangswerte zu ermitteln, wie dies durch die Blöcke 1504 und 1507 erfolgt ist, da der erste Punkt der Mittelpunkt des Rahmens sowohl für die Frequenz als auch für die Amplituden ist. Die Blöcke 1603 bis 1607 führen Funktionen aus, die denen ähnlich sind, die von den Blöcken 1508 bis 1510 ausgeführt werden. Wenn der nächste Rahmen ein stimmhafter Rahmen ist, dann wird der Entscheidungsblock 1602 sowie der Block 1604 oder 1605 ausgeführt. Die Ausführung dieser Blöcke ist der Ausführung ähnlich, die für die Blöcke 1503, 1505 und 1506 vorhergehend beschrieben worden ist. Die Blöcke 1608 bis 1611 arbeiten in ähnlicher Weise wie die Blöcke 1513 bis 1516, wie dies vorhergehend beschrieben worden ist. Die Blöcke 1612 bis 1614 arbeiten in einer ähnlichen Weise wie die Blöcke 1519 bis 1521, wie dies vorhergehend beschrieben worden ist.
- Die vom Generator 214 ausgeführte Schlußoperation ist die tatsächliche Sinuskonstruktion der Sprache unter Verwendung der Pro-Abtastwert der Frequenzen und Amplituden, die, wie zuvor beschrieben, für jede Oberwelle berechnet werden. Die Blöcke 1701 bis 1707 nach Fig. 19 verwenden die vorher berechnete Frequenzinformation, um die Phase der Oberwellen aus den Frequenzen zu berechnen und danach die in Gleichung 1 definierte Berechnung auszuführen. Die Blöcke 1702 und 1703 ermitteln den Anfangssprachabtastwert für den Start des Rahmens. Nachdem dieser Anfangspunkt ermittelt worden ist, wird der Rest der Sprachabtastwerte für den Rahmen durch die Blöcke 1704 bis 1707 berechnet. Das Ausgangssignal dieser Blöcke wird danach zum Digital-zu- Analog-Wandler 208 übertragen.
Claims (9)
1. Verarbeitungssystem zum Kodieren von
stimmhaften Anteilen menschlicher Sprache mit
einer Segmentiereinrichtung (102) zum Zerlegen der Sprache
in eine Vielzahl von Sprachrahmen, die je eine vorbestimmte
Anzahl von in gleichmäßigen Abständen angeordneten
Abtastwerten der Sprachaugenblicksamplituden aufweisen,
einem Rechner (111) zum Berechnen eines Satzes von
Sprachparametersignalen, die für jeden Rahmen einen
Vokaltrakt definieren,
einem Energierechner (103) zum Berechnen der Rahmenenergie
pro Rahmen der Sprachabtastwerte,
einem Analysator (104, 105) zur Durchführung einer
Spektralanalyse mit den Sprachabtastwerten eines jeden
Rahmens, um ein Spektrum mit Spektralabtastwerten für jeden
Rahmen zu erzeugen,
einem Grundfrequenzdetektor (109) zum Erfassen des
Grundfrequenzsignals eines jeden Rahmens aus dem Spektrum,
das jedem Rahmen entspricht,
einem Oberwellenlokalisierer (106) zum Ermitteln der
Oberwellenfrequenzsignale eines jeden Rahmens aus den
Spektralabtastwerten, und
einem Sender (113, 114) zum Senden kodierter Darstellungen
der Rahmenenergie, des Satzes von Sprachparametern und der
Grundfrequenz,
dadurch gekennzeichnet, daß
eine Grundfrequenz-Einstelleinrichtung (107) derart
ausgebildet ist, daß sie auf die erfaßte Grundfrequenz und
die Spektralabtastwerte anspricht, um das erfaßte
Grundfrequenzsignal so einzustellen, daß die
Oberwellenfrequenzsignale gleichmäßig um ganzzahlige
Vielfache des eingestellten Grundfrequenzsignals verteilt
sind, indem sie Spitzen in den das Grundfrequenzsignal
darstellenden Spektralabtastwerten analysiert, wobei die
Grundfrequenz-Einstelleinrichtung das erfaßte
Grundfrequenzsignal als Ausgangspunkt für die Analyse
verwendet
daß ein Oberwellenrechner (108) zum Bestimmen von
Frequenzversatzsignalen, die die Frequenzdifferenz zwischen
jedem der Oberwellenfrequenzsignale und den ganzzahligen
Vielfachen des eingestellten Grundfrequenzsignals für jeden
Rahmen darstellen, ausgebildet ist,
daß der Oberwellenlokalisierer zum Verwenden der
eingestellten Grundfrequenz ausgebildet ist, um die
Oberwellenfrequenzsignale zu bestimmen, und
daß der Sender zum Senden von kodierten Darstellungen der
Frequenzversatzsignale für eine nachfolgende Sprachsynthese
ausgebildet ist.
2. System nach Anspruch 1, bei dem der
Oberwellenlokalisierer eine Einrichtung (1201-1222) zum
Suchen der Spektralabtastwerte enthält, um die
Oberwellenfrequenzsignale zu bestimmen, wobei die
Einrichtung (1201-1222) Vielfache des eingestellten
Grundfrequenzsignals als Startpunkt für jedes
Oberwellenfrequenzsignal verwendet.
3. Verfahren zum Synthetisieren
stimmhafter Anteile menschlicher Sprache, die in eine
Vielzahl von Rahmen zerlegt worden ist, die je eine
vorbestimmte Anzahl von in gleichmäßigen Abstand
angeordneten Abtastwerten der Sprachaugenblickswerte
umfassen, wobei jeder Rahmen mit der Rahmenenergie, einem
Satz von Sprachparametern, einem Grundfrequenzsignal der
Sprache und Versatzsignalen kodiert wird, die die Differenz
zwischen den theoretischen Oberwellenfrequenzen, die aus
dem Grundfrequenzsignal abgeleitet werden, und den
tatsächlichen Oberwellenfrequenzen darstellen,
mit folgenden Verfahrensschritten:
Berechnen (212) von Oberwellenphasensignale für jede
Oberwellenfrequenz für jedes einzelnen Rahmens unter
Ansprechen auf die Versatzsignale und das
Grundfrequenzsignal eines der Rahmen,
Berechnen der unskalierten Energie eines jeden
Oberwellenphasensignals, wozu der Satz von Sprachparametern
des einen Rahmens verwendet wird,
Aufaddieren der unskalierten Energie aller
Oberwellenphasensignale des einen Rahmens,
Bestimmen der Oberwellenamplituden der
Oberwellenphasensignale unter Ansprechen auf die
Oberwellenenergie eines jeden Oberwellenphasensignals, die
aufsummierte unskalierte Energie sowie auf die
Rahmenenergie des einen Rahmens, und
Erzeugen (214) einer reproduzierten Sprache unter
Ansprechen auf die Oberwellenphasensignale und auf die
bestimmten Amplituden des einen Rahmens.
4. Verfahren nach Anspruch 3, nach dem jedes
Oberwellenphasensignal eine Vielzahl von Abtastwerten
enthält und der Berechnungsschritt folgende Schritte
umfaßt:
Addieren jedes der Versatzsignale zu ganzzahligen
Vielfachen des Grundfrequenzsignals, um ein
Oberwellenfrequenzsignal für jedes Oberwellenphasensignal
zu erhalten, und
Interpolieren unter Ansprechen auf das
Oberwellenfrequenzsignal des einen Rahmens sowie auf das
entsprechende Oberwellenfrequenzsignal des vorhergehenden
und des nachfolgenden Rahmens eines jeden
Oberwellenphasensignals, um die Vielzahl von
Oberwellenabtastwerten eines jeden Oberwellenphasensignals
des einen Rahmens aus dem vorhergehenden und dem
nachfolgenden Rahmen, die stimmhafte Rahmen sind, zu
erhalten.
5. Verfahren nach Anspruch 4, nach dem der
Interpolationsschritt eine lineare Interpolation ausführt.
6. Verfahren nach Anspruch 5, nach dem sich das
Oberwellenfrequenzsignal des einen Rahmens eines jeden
Oberwellenphasensignals in der Mitte des Rahmens befindet.
7. Verfahren nach Anspruch 3, nach dem jede
Amplitude der Oberwellenphasensignale eine Vielzahl von
Amplitudenabtastwerten aufweist und der Berechnungsschritt
den Interpolationsschritt unter Ansprechen auf die
berechnete Oberwellenamplitude des einen Rahmens und die
berechneten Oberwellenamplitudenabtastwerte des
vorhergehenden und nachfolgenden Rahmens für jedes
Oberwellenphasensignal umfaßt, um die Vielzahl von
Amplitudenabtastwerte für jedes Oberwellenphasensignal des
einen Rahmens aus dem vorhergehenden und dem nachfolgenden
Rahmen, die stimmhafte Rahmen sind, zu erhalten.
8. Verfahren nach Anspruch 7, nach dem der
Interpolationsschritt eine lineare Interpolation ausführt.
9. Verfahren nach Anspruch 8, nach dem die
berechnete Oberwellenamplitude des einen Rahmens eines
jeden Oberwellenphasensignals sich in der Mitte des einen
Rahmens befindet.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/906,523 US4797926A (en) | 1986-09-11 | 1986-09-11 | Digital speech vocoder |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3789476D1 DE3789476D1 (de) | 1994-05-05 |
DE3789476T2 true DE3789476T2 (de) | 1994-09-15 |
Family
ID=25422593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3789476T Expired - Fee Related DE3789476T2 (de) | 1986-09-11 | 1987-09-02 | Digitaler Vocoder. |
Country Status (8)
Country | Link |
---|---|
US (1) | US4797926A (de) |
EP (1) | EP0260053B1 (de) |
JP (1) | JPH0833754B2 (de) |
KR (1) | KR960002388B1 (de) |
AT (1) | ATE103728T1 (de) |
AU (1) | AU580218B2 (de) |
CA (1) | CA1307345C (de) |
DE (1) | DE3789476T2 (de) |
Families Citing this family (82)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5202953A (en) * | 1987-04-08 | 1993-04-13 | Nec Corporation | Multi-pulse type coding system with correlation calculation by backward-filtering operation for multi-pulse searching |
US4989250A (en) * | 1988-02-19 | 1991-01-29 | Sanyo Electric Co., Ltd. | Speech synthesizing apparatus and method |
US5003604A (en) * | 1988-03-14 | 1991-03-26 | Fujitsu Limited | Voice coding apparatus |
US5179626A (en) * | 1988-04-08 | 1993-01-12 | At&T Bell Laboratories | Harmonic speech coding arrangement where a set of parameters for a continuous magnitude spectrum is determined by a speech analyzer and the parameters are used by a synthesizer to determine a spectrum which is used to determine senusoids for synthesis |
US5023910A (en) * | 1988-04-08 | 1991-06-11 | At&T Bell Laboratories | Vector quantization in a harmonic speech coding arrangement |
US5359696A (en) * | 1988-06-28 | 1994-10-25 | Motorola Inc. | Digital speech coder having improved sub-sample resolution long-term predictor |
EP0374941B1 (de) * | 1988-12-23 | 1995-08-09 | Nec Corporation | Sprachübertragungssystem unter Anwendung von Mehrimpulsanregung |
JP2903533B2 (ja) * | 1989-03-22 | 1999-06-07 | 日本電気株式会社 | 音声符号化方式 |
JPH0782359B2 (ja) * | 1989-04-21 | 1995-09-06 | 三菱電機株式会社 | 音声符号化装置、音声復号化装置及び音声符号化・復号化装置 |
CA2021514C (en) * | 1989-09-01 | 1998-12-15 | Yair Shoham | Constrained-stochastic-excitation coding |
NL8902463A (nl) * | 1989-10-04 | 1991-05-01 | Philips Nv | Inrichting voor geluidsynthese. |
US5754976A (en) * | 1990-02-23 | 1998-05-19 | Universite De Sherbrooke | Algebraic codebook with signal-selected pulse amplitude/position combinations for fast coding of speech |
CA2010830C (en) * | 1990-02-23 | 1996-06-25 | Jean-Pierre Adoul | Dynamic codebook for efficient speech coding based on algebraic codes |
US5701392A (en) * | 1990-02-23 | 1997-12-23 | Universite De Sherbrooke | Depth-first algebraic-codebook search for fast coding of speech |
JP2689739B2 (ja) * | 1990-03-01 | 1997-12-10 | 日本電気株式会社 | 秘話装置 |
US5226108A (en) * | 1990-09-20 | 1993-07-06 | Digital Voice Systems, Inc. | Processing a speech signal with estimated pitch |
US5138661A (en) * | 1990-11-13 | 1992-08-11 | General Electric Company | Linear predictive codeword excited speech synthesizer |
US5293449A (en) * | 1990-11-23 | 1994-03-08 | Comsat Corporation | Analysis-by-synthesis 2,4 kbps linear predictive speech codec |
US5630011A (en) * | 1990-12-05 | 1997-05-13 | Digital Voice Systems, Inc. | Quantization of harmonic amplitudes representing speech |
US5226084A (en) * | 1990-12-05 | 1993-07-06 | Digital Voice Systems, Inc. | Methods for speech quantization and error correction |
US5450522A (en) * | 1991-08-19 | 1995-09-12 | U S West Advanced Technologies, Inc. | Auditory model for parametrization of speech |
US5189701A (en) * | 1991-10-25 | 1993-02-23 | Micom Communications Corp. | Voice coder/decoder and methods of coding/decoding |
US5351338A (en) * | 1992-07-06 | 1994-09-27 | Telefonaktiebolaget L M Ericsson | Time variable spectral analysis based on interpolation for speech coding |
US5517511A (en) * | 1992-11-30 | 1996-05-14 | Digital Voice Systems, Inc. | Digital transmission of acoustic signals over a noisy communication channel |
US5832436A (en) * | 1992-12-11 | 1998-11-03 | Industrial Technology Research Institute | System architecture and method for linear interpolation implementation |
US5448679A (en) * | 1992-12-30 | 1995-09-05 | International Business Machines Corporation | Method and system for speech data compression and regeneration |
US5479559A (en) * | 1993-05-28 | 1995-12-26 | Motorola, Inc. | Excitation synchronous time encoding vocoder and method |
EP0653846B1 (de) * | 1993-05-31 | 2001-12-19 | Sony Corporation | Verfahren und vorrichtung zum kodieren oder dekodieren von signalen und aufzeichnungsmedium |
PL173718B1 (pl) * | 1993-06-30 | 1998-04-30 | Sony Corp | Sposób i urządzenie do kodowania sygnałów cyfrowych |
JP2906968B2 (ja) * | 1993-12-10 | 1999-06-21 | 日本電気株式会社 | マルチパルス符号化方法とその装置並びに分析器及び合成器 |
JP3203657B2 (ja) * | 1994-04-01 | 2001-08-27 | ソニー株式会社 | 情報符号化方法及び装置,情報復化方法及び装置,情報伝送方法,並びに情報記録媒体 |
US5715365A (en) * | 1994-04-04 | 1998-02-03 | Digital Voice Systems, Inc. | Estimation of excitation parameters |
US5787387A (en) * | 1994-07-11 | 1998-07-28 | Voxware, Inc. | Harmonic adaptive speech coding method and system |
JP3528258B2 (ja) * | 1994-08-23 | 2004-05-17 | ソニー株式会社 | 符号化音声信号の復号化方法及び装置 |
AU696092B2 (en) * | 1995-01-12 | 1998-09-03 | Digital Voice Systems, Inc. | Estimation of excitation parameters |
US5701390A (en) * | 1995-02-22 | 1997-12-23 | Digital Voice Systems, Inc. | Synthesis of MBE-based coded speech using regenerated phase information |
US5754974A (en) * | 1995-02-22 | 1998-05-19 | Digital Voice Systems, Inc | Spectral magnitude representation for multi-band excitation speech coders |
JPH08254993A (ja) * | 1995-03-16 | 1996-10-01 | Toshiba Corp | 音声合成装置 |
US5717819A (en) * | 1995-04-28 | 1998-02-10 | Motorola, Inc. | Methods and apparatus for encoding/decoding speech signals at low bit rates |
US5774837A (en) * | 1995-09-13 | 1998-06-30 | Voxware, Inc. | Speech coding system and method using voicing probability determination |
JP2861889B2 (ja) * | 1995-10-18 | 1999-02-24 | 日本電気株式会社 | 音声パケット伝送システム |
JP4005154B2 (ja) * | 1995-10-26 | 2007-11-07 | ソニー株式会社 | 音声復号化方法及び装置 |
JP3707116B2 (ja) | 1995-10-26 | 2005-10-19 | ソニー株式会社 | 音声復号化方法及び装置 |
JP2778567B2 (ja) * | 1995-12-23 | 1998-07-23 | 日本電気株式会社 | 信号符号化装置及び方法 |
US5794199A (en) * | 1996-01-29 | 1998-08-11 | Texas Instruments Incorporated | Method and system for improved discontinuous speech transmission |
JP3687181B2 (ja) * | 1996-04-15 | 2005-08-24 | ソニー株式会社 | 有声音/無声音判定方法及び装置、並びに音声符号化方法 |
US5778337A (en) * | 1996-05-06 | 1998-07-07 | Advanced Micro Devices, Inc. | Dispersed impulse generator system and method for efficiently computing an excitation signal in a speech production model |
JPH10149199A (ja) * | 1996-11-19 | 1998-06-02 | Sony Corp | 音声符号化方法、音声復号化方法、音声符号化装置、音声復号化装置、電話装置、ピッチ変換方法及び媒体 |
US6161089A (en) * | 1997-03-14 | 2000-12-12 | Digital Voice Systems, Inc. | Multi-subframe quantization of spectral parameters |
US6131084A (en) * | 1997-03-14 | 2000-10-10 | Digital Voice Systems, Inc. | Dual subframe quantization of spectral magnitudes |
EP1002312B1 (de) * | 1997-07-11 | 2006-10-04 | Philips Electronics N.V. | Transmitter mit verbessertem harmonischen sprachkodierer |
EP0925580B1 (de) * | 1997-07-11 | 2003-11-05 | Koninklijke Philips Electronics N.V. | Übertrager mit verbessertem sprachkodierer und dekodierer |
US6029133A (en) * | 1997-09-15 | 2000-02-22 | Tritech Microelectronics, Ltd. | Pitch synchronized sinusoidal synthesizer |
JP3502247B2 (ja) * | 1997-10-28 | 2004-03-02 | ヤマハ株式会社 | 音声変換装置 |
US6199037B1 (en) | 1997-12-04 | 2001-03-06 | Digital Voice Systems, Inc. | Joint quantization of speech subframe voicing metrics and fundamental frequencies |
WO1999059139A2 (en) * | 1998-05-11 | 1999-11-18 | Koninklijke Philips Electronics N.V. | Speech coding based on determining a noise contribution from a phase change |
DE69932786T2 (de) * | 1998-05-11 | 2007-08-16 | Koninklijke Philips Electronics N.V. | Tonhöhenerkennung |
US6230130B1 (en) | 1998-05-18 | 2001-05-08 | U.S. Philips Corporation | Scalable mixing for speech streaming |
TW430778B (en) * | 1998-06-15 | 2001-04-21 | Yamaha Corp | Voice converter with extraction and modification of attribute data |
US6959274B1 (en) * | 1999-09-22 | 2005-10-25 | Mindspeed Technologies, Inc. | Fixed rate speech compression system and method |
GB2357231B (en) * | 1999-10-01 | 2004-06-09 | Ibm | Method and system for encoding and decoding speech signals |
US6725190B1 (en) * | 1999-11-02 | 2004-04-20 | International Business Machines Corporation | Method and system for speech reconstruction from speech recognition features, pitch and voicing with resampled basis functions providing reconstruction of the spectral envelope |
US6377916B1 (en) | 1999-11-29 | 2002-04-23 | Digital Voice Systems, Inc. | Multiband harmonic transform coder |
US7212639B1 (en) * | 1999-12-30 | 2007-05-01 | The Charles Stark Draper Laboratory | Electro-larynx |
EP1684634A2 (de) * | 2003-11-12 | 2006-08-02 | Facet Technologies, LLC | Lanzettenvorrichtung und multi-lanzetten-kartusche |
EP1569200A1 (de) * | 2004-02-26 | 2005-08-31 | Sony International (Europe) GmbH | Sprachdetektion in digitalen Audiodaten |
KR100608062B1 (ko) * | 2004-08-04 | 2006-08-02 | 삼성전자주식회사 | 오디오 데이터의 고주파수 복원 방법 및 그 장치 |
KR100790110B1 (ko) * | 2006-03-18 | 2008-01-02 | 삼성전자주식회사 | 모폴로지 기반의 음성 신호 코덱 방법 및 장치 |
KR100900438B1 (ko) * | 2006-04-25 | 2009-06-01 | 삼성전자주식회사 | 음성 패킷 복구 장치 및 방법 |
KR101380170B1 (ko) * | 2007-08-31 | 2014-04-02 | 삼성전자주식회사 | 미디어 신호 인코딩/디코딩 방법 및 장치 |
JP4775977B2 (ja) * | 2008-03-28 | 2011-09-21 | 日立金属株式会社 | シート材穿孔装置 |
US9299362B2 (en) * | 2009-06-29 | 2016-03-29 | Mitsubishi Electric Corporation | Audio signal processing device |
JP4883732B2 (ja) * | 2009-10-13 | 2012-02-22 | 株式会社日立メタルプレシジョン | シート材穿孔装置 |
CN101847404B (zh) * | 2010-03-18 | 2012-08-22 | 北京天籁传音数字技术有限公司 | 一种实现音频变调的方法和装置 |
ES2689072T3 (es) * | 2012-05-23 | 2018-11-08 | Nippon Telegraph And Telephone Corporation | Codificación de una señal de audio |
KR20150032390A (ko) * | 2013-09-16 | 2015-03-26 | 삼성전자주식회사 | 음성 명료도 향상을 위한 음성 신호 처리 장치 및 방법 |
US9837089B2 (en) * | 2015-06-18 | 2017-12-05 | Qualcomm Incorporated | High-band signal generation |
US10847170B2 (en) | 2015-06-18 | 2020-11-24 | Qualcomm Incorporated | Device and method for generating a high-band signal from non-linearly processed sub-ranges |
EP3121814A1 (de) * | 2015-07-24 | 2017-01-25 | Sound object techology S.A. in organization | Verfahren und system zur zerlegung eines akustischen signals in klangobjekte, klangobjekt und dessen verwendung |
CN106356055B (zh) * | 2016-09-09 | 2019-12-10 | 华南理工大学 | 基于正弦模型的可变频语音合成系统及方法 |
CN113938749B (zh) * | 2021-11-30 | 2023-05-05 | 北京百度网讯科技有限公司 | 音频数据处理方法、装置、电子设备和存储介质 |
US20230388562A1 (en) * | 2022-05-27 | 2023-11-30 | Sling TV L.L.C. | Media signature recognition with resource constrained devices |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4045616A (en) * | 1975-05-23 | 1977-08-30 | Time Data Corporation | Vocoder system |
JPS5543554A (en) * | 1978-09-25 | 1980-03-27 | Nippon Musical Instruments Mfg | Electronic musical instrument |
JPS56119194A (en) * | 1980-02-23 | 1981-09-18 | Sony Corp | Sound source device for electronic music instrument |
JPS56125795A (en) * | 1980-03-05 | 1981-10-02 | Sony Corp | Sound source for electronic music instrument |
US4419544A (en) * | 1982-04-26 | 1983-12-06 | Adelman Roger A | Signal processing apparatus |
SE428167B (sv) * | 1981-04-16 | 1983-06-06 | Mangold Stephan | Programmerbar signalbehandlingsanordning, huvudsakligen avsedd for personer med nedsatt horsel |
US4631746A (en) * | 1983-02-14 | 1986-12-23 | Wang Laboratories, Inc. | Compression and expansion of digitized voice signals |
US4667340A (en) * | 1983-04-13 | 1987-05-19 | Texas Instruments Incorporated | Voice messaging system with pitch-congruent baseband coding |
US4513651A (en) * | 1983-07-25 | 1985-04-30 | Kawai Musical Instrument Mfg. Co., Ltd. | Generation of anharmonic overtones in a musical instrument by additive synthesis |
US4701954A (en) * | 1984-03-16 | 1987-10-20 | American Telephone And Telegraph Company, At&T Bell Laboratories | Multipulse LPC speech processing arrangement |
JPS6121000A (ja) * | 1984-07-10 | 1986-01-29 | 日本電気株式会社 | Csm型音声合成器 |
WO1986005617A1 (en) * | 1985-03-18 | 1986-09-25 | Massachusetts Institute Of Technology | Processing of acoustic waveforms |
US4771465A (en) * | 1986-09-11 | 1988-09-13 | American Telephone And Telegraph Company, At&T Bell Laboratories | Digital speech sinusoidal vocoder with transmission of only subset of harmonics |
-
1986
- 1986-09-11 US US06/906,523 patent/US4797926A/en not_active Expired - Lifetime
-
1987
- 1987-08-27 CA CA000545552A patent/CA1307345C/en not_active Expired - Lifetime
- 1987-09-02 AT AT87307732T patent/ATE103728T1/de not_active IP Right Cessation
- 1987-09-02 EP EP87307732A patent/EP0260053B1/de not_active Expired - Lifetime
- 1987-09-02 DE DE3789476T patent/DE3789476T2/de not_active Expired - Fee Related
- 1987-09-09 KR KR1019870009956A patent/KR960002388B1/ko not_active IP Right Cessation
- 1987-09-10 JP JP62225440A patent/JPH0833754B2/ja not_active Expired - Lifetime
- 1987-09-10 AU AU78254/87A patent/AU580218B2/en not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
AU7825487A (en) | 1988-03-24 |
US4797926A (en) | 1989-01-10 |
EP0260053A1 (de) | 1988-03-16 |
AU580218B2 (en) | 1989-01-05 |
KR960002388B1 (ko) | 1996-02-16 |
ATE103728T1 (de) | 1994-04-15 |
EP0260053B1 (de) | 1994-03-30 |
DE3789476D1 (de) | 1994-05-05 |
CA1307345C (en) | 1992-09-08 |
KR880004426A (ko) | 1988-06-07 |
JPH0833754B2 (ja) | 1996-03-29 |
JPS6370900A (ja) | 1988-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3789476T2 (de) | Digitaler Vocoder. | |
DE68907629T2 (de) | Vektorquantisierung für eine Anordnung zur harmonischen Sprachcodierung. | |
DE68916944T2 (de) | Verfahren zur schnellen Bestimmung der Grundfrequenz in Sprachcodierern mit langfristiger Prädiktion. | |
DE69009545T2 (de) | Verfahren zur Sprachanalyse und -synthese. | |
DE69029120T2 (de) | Stimmenkodierer | |
EP1979901B1 (de) | Verfahren und anordnungen zur audiosignalkodierung | |
DE69910240T2 (de) | Vorrichtung und verfahren zur wiederherstellung des hochfrequenzanteils eines überabgetasteten synthetisierten breitbandsignals | |
DE60120766T2 (de) | Indizieren von impulspositionen und vorzeichen in algebraischen codebüchern zur codierung von breitbandsignalen | |
DE3874427T2 (de) | Linearer praediktionsvocoder mit code-anregung. | |
DE60011051T2 (de) | Celp-transkodierung | |
DE60024501T2 (de) | Verbesserung der perzeptuellen Qualität von SBR (Spektralbandreplikation) UND HFR (Hochfrequenzen-Rekonstruktion) Kodierverfahren mittels adaptivem Addieren von Grundrauschen und Begrenzung der Rauschsubstitution | |
DE68912692T2 (de) | Zur Sprachqualitätsmodifizierung geeignetes Übertragungssystem durch Klassifizierung der Sprachsignale. | |
EP0076234B1 (de) | Verfahren und Vorrichtung zur redundanzvermindernden digitalen Sprachverarbeitung | |
DE2229149A1 (de) | Verfahren zur Übertragung von Sprache | |
DE69020070T2 (de) | Digitaler Sprachkodierer mit verbesserter Bestimmung eines Langzeit-Verzögerungsparameters. | |
DE69924280T2 (de) | Sprachsynthese aus grundfrequenz-prototypwellenformen durch zeit-synchrone wellenforminterpolation | |
DE2551632C2 (de) | Verfahren zum Zusammensetzen von Sprachnachrichten | |
DE60221927T2 (de) | Vorrichtung und Programm zur Schallcodierung | |
DE2659096A1 (de) | Verfahren und vorrichtung zur spracherkennung | |
EP1280138A1 (de) | Verfahren zur Analyse von Audiosignalen | |
DE69017801T2 (de) | Codierung unter Anwendung von beschränkter stochastischer Anregung. | |
DE3884839T2 (de) | Codierung von akustischen Wellenformen. | |
DE60015934T2 (de) | Verfahren und vorrichtung zur vorverarbeitung von sprachsignalen zur kodierung mittels transformationssprachkodierer | |
DE68923771T2 (de) | Sprachübertragungssystem unter Anwendung von Mehrimpulsanregung. | |
DE3019823C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Free format text: BLUMBACH, KRAMER & PARTNER, 65193 WIESBADEN |
|
8339 | Ceased/non-payment of the annual fee |