DE69931813T2 - Verfahren und vorrichtung zur grundfrequenzermittlung - Google Patents

Verfahren und vorrichtung zur grundfrequenzermittlung Download PDF

Info

Publication number
DE69931813T2
DE69931813T2 DE69931813T DE69931813T DE69931813T2 DE 69931813 T2 DE69931813 T2 DE 69931813T2 DE 69931813 T DE69931813 T DE 69931813T DE 69931813 T DE69931813 T DE 69931813T DE 69931813 T2 DE69931813 T2 DE 69931813T2
Authority
DE
Germany
Prior art keywords
pitch
cross
correlation value
window
speech signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69931813T
Other languages
English (en)
Other versions
DE69931813D1 (de
Inventor
Alejandro Vellevue ACERO
G. James Mountlake Terrace DROPPO
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of DE69931813D1 publication Critical patent/DE69931813D1/de
Application granted granted Critical
Publication of DE69931813T2 publication Critical patent/DE69931813T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/93Discriminating between voiced and unvoiced parts of speech signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/90Pitch determination of speech signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/06Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being correlation coefficients

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (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)
  • Electrically Operated Instructional Devices (AREA)
  • Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
  • Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
  • Measuring Frequencies, Analyzing Spectra (AREA)
  • Color Television Systems (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Description

  • Hintergrund der Erfindung
  • Die vorliegende Erfindung bezieht sich auf Computersprachsysteme. Im Speziellen bezieht sich die vorliegende Erfindung auf Pitchtracking in Computersprachsystemen.
  • Computer werden derzeit verwendet, um eine Vielzahl von sprachbezogenen Funktionen auszuführen, einschließlich dem Übermitteln von menschlicher Sprache über Computernetzwerke, Erkennen von menschlicher Sprache, und künstlichem Herstellen von Sprache aus eingegebenem Text. Um diese Funktionen auszuführen, müssen die Computer in der Lage sein, die verschiedenen Komponenten der menschlichen Sprache zu erkennen. Eine dieser Komponenten ist das Pitch oder Melodie der Sprache, welche durch die Stimmbänder des Sprechers während der stimmhaften Teile der Sprache erzeugt werden. Beispiele für das Pitch können in Vokallauten gehört werden, wie z.B. der "ih"-Laut in "six".
  • Das Pitch in menschlicher Sprache tritt in dem Sprachsignal als eine sich nahezu wiederholende Wellenform auf, die eine Kombination von einer Vielzahl von Sinuswellen mit verschiedenen Frequenzen ist. Die Periode zwischen diesen sich nahezu wiederholenden Wellenformen bestimmt das Pitch.
  • Um das Pitch in einem Sprachsignal zu identifizieren, verwendet der Stand der Technik Pitchtracker. Eine umfangreiche Studie über Pitchtracking ist in "A Robust Algorithm for Pitch Tracking (RAFT)" D. Talkin, Speech Coding and Synthesis, S. 495–518, Elsevier, 1995, dargestellt. Ein solcher Pitchtracker erkennt zwei Teile des Sprachsignals, die durch eine Kandidatpitchperiode getrennt sind, und vergleicht die zwei Teile miteinander. Wenn die Kandidatpitchperiode gleich des tatsächlichen Pitch des Sprachsignals ist, werden die zwei Teile nahezu identisch zueinander sein. Dieser Vergleich wird im Allgemeinen unter Verwendung einer Kreuzkorrelationstechnik durchgeführt, die mehrere Samples von jedem Teil miteinander vergleicht.
  • Unglücklicherweise sind solche Pitchtracker nicht immer genau. Dies führt zu Pitchtrackingfehlern, die die Leistung von Computersprachsystemen vermindern. Im Speziellen können Pitchtrackingfehler dazu führen, dass Computersysteme stimmhafte Teile von Sprache als nicht-stimmhafte Teile falsch identifizieren und umgekehrt, und können Sprachsysteme dazu bringen, das Sprachsignal nur schlecht zu segmentieren.
  • US 4,731,846 beschreibt ein Voice-Messaging-System mit Pitchtracking basierend auf einem adaptierend gefilterten LPC-Residualsignal.
  • US 5,680,508 bezieht sich auf eine verbesserte Sprachcodierungstechnik für Sprachkodierer mit geringer Rate, und im Speziellen auf Sprach-Frame-Analyse- und Vektorquantisierungsverfahren.
  • US 5,007,093 beschreibt einen adaptiven Schwellenwertsprachdetektor.
  • Kurzfassung der Erfindung
  • Die Erfindung wird durch den Gegenstand der unabhängigen Ansprüche bereitgestellt.
  • Bevorzugte Ausführungsformen sind in den abhängigen Ansprüchen gegeben.
  • In einem Verfahren zum Pitchtracking in einem Sprachsignal werden ein erster und zweiter Fenstervektor aus Samples erzeugt, die über ein erstes und zweites Fenster des Sprachsignals genommen werden. Das erste Fenster ist von dem zweiten Fenster durch eine Testpitchperiode getrennt. Die Energie des Sprachsignals in dem ersten Fenster wird mit der Korrelation zwischen dem ersten Fenstervektor und dem zweiten Fenstervektor kombiniert, um einen vorhersagbaren Energiefaktor zu entwickeln. Der vorhersagbare Energiefaktor wird dann verwendet, um ein Pitchergebnis für die Testpitchperiode zu ermitteln. Teilweise basierend auf dem Pitchergebnis wird ein Teil des Pitchtrack identifiziert.
  • In anderen Ausführungsformen der Erfindung entnimmt ein Verfahren zum Pitchtracking Samples einer ersten und zweiten Wellenform in dem Sprachsignal. Die Zentren der ersten und zweiten Wellenform sind durch eine Testpitchperiode getrennt. Ein Korrelationswert wird ermittelt, der die Ähnlichkeit zwischen der ersten und zweiten Wellenform beschreibt, und ein Pitchkonturfaktor wird ermittelt, der die Ähnlichkeit zwischen der Testpitchperiode und einer vorhergehenden Pitchperiode beschreibt. Der Korrelationswert und der Pitchkonturfaktor werden dann kombiniert, um ein Pitchergebnis für den Über gang von der vorhergehenden Pitchperiode zu der Testpitchperiode zu erstellen. Dieses Pitchergebnis wird verwendet, um einen Teil des Pitchtrack zu identifizieren.
  • Andere Ausführungsformen der Erfindung stellen ein Verfahren zum Ermitteln, ob eine Region des Sprachsignals eine stimmhafte Region ist, bereit. Das Verfahren bezieht das Sampeln einer ersten und zweiten Wellenform und das Ermitteln der Korrelation zwischen den zwei Wellenformen ein. Die Energie der ersten Wellenform wird dann ermittelt. Wenn die Korrelation und die Energie beide hoch sind, identifiziert das Verfahren die Region als eine stimmhafte Region.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist eine Draufsicht einer exemplarischen Umgebung für die vorliegende Erfindung.
  • 2 ist ein Graph eines Sprachsignals.
  • 3 ist ein Graph eines Pitch als eine Funktion der Zeit für einen deklarativen Satz.
  • 4 ist ein Blockdiagramm eines Sprachsynthesesystems.
  • 5-1 ist ein Graph eines Sprachsignals.
  • 5-2 ist ein Graph eines Sprachsignals aus 5-1, wobei sein Pitch richtig gesenkt wurde.
  • 5-3 ist ein Graph des Sprachsignals aus 5-1, wobei sein Pitch ungenau gesenkt wurde.
  • 6 ist ein Blockdiagramm eines Sprachkodierers.
  • 7 ist eine zweidimensionale Darstellung eines Fenstervektors für ein Sprachsignal.
  • 8 ist ein Blockdiagramm eines Pitchtrackers der vorliegenden Erfindung.
  • 9 ist ein Ablaufdiagramm für ein Pitchtrackingverfahren der vorliegenden Erfindung.
  • 10 ist ein Graph eines Sprachsignals, der Samples zeigt, die einen Fenstervektor bilden.
  • 11 ist ein Graph eines Hidden Markov Modells zum Identifizieren stimmhafter und nicht-stimmhafter Regionen eines Sprachsignals.
  • 12 ist ein Graph mit Gruppierungen von stimmhaften und nicht-stimmhaften Samples als eine Funktion der Energie und Kreuzkorrelation.
  • 13 ist ein Flussdiagramm eines Verfahrens zum Identifizieren stimmhafter und nicht-stimmhafter Regionen nach der vorliegenden Erfindung.
  • Detaillierte Beschreibung illustrativer Ausführungsformen
  • 1 und die diesbezügliche Diskussion beabsichtigen, eine kurze allgemeine Beschreibung einer passenden Computerumgebung bereitzustellen, in der die Erfindung implementiert werden kann. Obwohl es nicht notwendig ist, wird die Erfindung zumindest teilweise im allgemeinen Kontext von Computer-ausführbaren Instruktionen beschrieben, wie z.B. Programmmodulen, die durch einen Personalcomputer ausgeführt werden. Im Allgemeinen enthalten Programmmodule Routinenprogramme, Objekte, Komponenten, Datenstrukturen, etc., die bestimmte Funktionen ausführen oder bestimmte abstrakte Datentypen implementieren. Außerdem werden es Fachleute begrüßen, dass die Erfindung mit anderen Computersystemkonfigurationen betrieben werden kann, einschließlich Hand-Held-Geräten, Multiprozesorsystemen, Mikroprozessor-basierter oder programmierbarer Unterhaltungselektronik, Netzwerk-PC's, Minicomputer, Mainframe-Computer und Ähnliches. Die Erfindung kann ebenso in einer dezentralen Computerumgebung betrieben werden, wo Funktionen durch dezentrale verarbeitende Geräte (remote processing devices) ausgeführt werden, die durch ein Kommunikationsnetzwerk verbunden sind. In einer dezentralen Computerumgebung können Programmmodule in beiden, lokalen und dezentralen Speichergeräten, liegen.
  • Mit Bezug auf 1 enthält ein beispielhaftes System zum Implementieren der Erfindung ein Allzweckcomputergerät in der Form eines gewöhnlichen Personalcomputers 20, einschließlich einer Prozessoreinheit (CPU) 21, eines Systemspeichers 22, und eines Systembusses 23, der verschiedene Systemkomponenten einschließlich des Systemspeichers 22 mit der Prozessoreinheit 21 koppelt. Der Systembus 23 kann irgendeiner von verschiedenen Busstrukturtypen sein, einschließlich eines Speicherbusses oder Speichercontrollers, Peripheriebusses und lokalen Busses, der irgendeine Auswahl von Busarchitekturen verwendet. Der Systemspeicher schließt Read Only Memory (ROM) 24 und Random Access Memory (RAM) 25 ein. Ein basic Input/Output (BIOS) 26, das die Basisroutinen enthält, die helfen, Informationen zwischen Elementen innerhalb des Personalcomputers 20 zu übermitteln, wie z.B. während des Hochfahrens, ist in dem ROM 24 gespeichert. Der Personalcomputer 20 enthält des Weiteren ein Festplattenlaufwerk 27 zum Lesen von und Schreiben auf einer Festplatte (nicht gezeigt), ein magnetisches Disk-Laufwerk 28 zum Lesen von oder Schreiben auf einer entfernbaren magnetischen Disk 29, und ein optisches Disk-Laufwerk 30 zum Lesen von oder Schreiben auf einer entfernbaren optischen Disk 31, wie z.B. einer CD-ROM oder anderem optischen Medium. Das Festplatten-Laufwerk 27, magnetische Disk-Laufwerk 28 und optische Disk-Laufwerk 30 sind mit dem Systembus 23 über eine Festplatten-Laufwerksschnittstelle 32, Schnittstelle 33 für ein magnetisches Disk-Laufwerk bzw. Schnittstelle 34 für ein optisches Laufwerk verbunden. Die Laufwerke und die zugehörigen Computer-lesbaren Medien stellen nicht-flüchtige Speicherung von Computer-lesbaren Instruktionen, Datenstrukturen, Programmmodulen und anderen Daten für den Personalcomputer 20 bereit.
  • Obwohl die hierin beschriebene exemplarische Umgebung die Festplatte, die entfernbare magnetische Disk 29 und die entfernbare optische Disk 31 einsetzt, sollte es durch Fachleute anerkannt sein, dass andere Typen von Computer-lesbaren Medien, die Daten speichern können, auf die durch einen Computer zugegriffen werden kann, wie z.B. magnetische Kassetten, Flash-Memory-Karten, Digital-Video-Disks, Bernoulli-Kartuschen, Random Access Memories (RAMs), Read Only Memory (ROM) und Ähnliches, ebenso in der exemplarischen Arbeitsumgebung verwendet werden können.
  • Eine Vielzahl von Programmmodulen können auf der Festplatte, magnetischen Disk 29, optischen Disk 31, ROM 24 oder RAM 25 gespeichert werden, einschließlich einem Betriebssystem 35, einem oder mehreren Anwendungsprogrammen 36, anderen Programmmodulen 37 und Programmdaten 38. Ein Benutzer kann Befehle und Informatio nen in den Personalcomputer 20 durch lokale Eingabegeräte eingeben, wie z.B. einem Keyboard 40, Zeigergerät 42 und einem Mikrofon 43. Andere Eingabegeräte (nicht gezeigt) können einen Joystick, Gamepad, Satellitenschüssel, Scanner oder Ähnliches einschließen. Diese und andere Eingabegeräte sind oft mit der Prozessoreinheit 21 durch eine serielle Anschlussschnittstelle 46 verbunden, die mit dem Systembus 23 gekoppelt ist, kann aber durch andere Schnittstellen verbunden sein, wie z.B. einer Soundkarte, einem Parallelanschluss, einem Gameport oder einem Universal Serial Bus (USB). Ein Monitor 47 oder anderer Typ von Anzeigegerät ist auch mit dem Systembus 23 über eine Schnittstelle verbunden, wie z.B. einem Videoadapter 48. Zusätzlich zu dem Monitor 47 kann der Personalcomputer üblicherweise andere Peripherieausgabegeräte einschließen, wie z.B. einen Lautsprecher 45 und Drucker (nicht gezeigt).
  • Der Personalcomputer 20 kann in einer Netzwerkumgebung unter Verwendung logischer Verbindungen zu einem oder mehreren Remote-Computern arbeiten, wie z.B. einem Remote-Computer 49. Der Remote-Computer 49 kann ein anderer Personalcomputer, Hand-Held-Gerät, Server, Router, Netzwerk-PC, Peer-Gerät oder anderer Netzwerknoten sein, und enthält üblicherweise viele oder alle der oben mit Bezug auf Personalcomputer 20 beschriebenen Elemente, obwohl nur ein Speichergerät 50 in 1 dargestellt worden ist. Die logischen Verbindungen, die in 1 gezeigt sind, schließen ein Local Area Network (LAN) 51 und ein Wide Area Network (WAN) 52 ein. Solche Netzwerkumgebungen sind alltäglich in Büros, unternehmensweiten Netzwerken, Intranets und dem Internet.
  • Wenn in einer LAN-Netzwerkumgebung verwendet, ist der Personalcomputer 20 mit dem Local Area Network 51 durch eine Netzwerkschnittstelle oder Adapter 53 verbunden. Wenn er in einer WAN-Netzwerkumgebung verwendet wird, schließt der Personalcomputer 20 üblicherweise ein Modem 54 oder andere Mittel zum Herstellen von Verbindungen über das Wide Area Network 53, wie z.B. dem Internet, ein. Das Modem 54, welches intern oder extern sein kann, ist mit dem Systembus 23 über eine serielle Anschlussschnittstelle 46 verbunden. In einer Netzwerkumgebung können Programmmodule, oder Teile davon, die mit Bezug auf Personalcomputer 20 gezeigt sind, in dem Remote-Speichergerät gespeichert sein. Es wird begrüßt, dass die gezeigten Netzwerkverbindungen exemplarisch sind und andere Mittel zum Herstellen einer Kommunikationsverbindung zwischen den Computern verwendet werden können. Zum Beispiel kann eine kabellose Kommunikationsverbindung zwischen einem oder mehreren Teilen des Netzwerkes hergestellt werden.
  • 2 und 3 sind Graphen, die die Natur des Pitch in menschlicher Sprache beschreiben. 2 ist ein Graph eines menschlichen Sprachsignals 200 mit der Amplitude entlang einer vertikalen Achse 202 und der Zeit entlang einer horizontalen Achse 204. Das Signal 200 enthält einen stimmhaften Teil 206, der zwischen zwei nicht-stimmhaften Teilen 208 und 210 liegt. Der stimmhafte Teil 206 enthält sich nahezu wiederholende Wellenformen, wie z.B. Wellenformen 212 und 214, die durch eine Pitchperiode 216 getrennt sind. Die Länge der Pitchperiode 216 bestimmt den Pitch des stimmhaften Teils 206.
  • 3 stellt einen Graph 234 einer Grundpitchfrequenz (vertikale Achse 230) als eine Funktion der Zeit (horizontale Achse 232) für einen deklarativen Satz bereit. Die Grundpitchfrequenz, die ebenso als schlicht die Grundfrequenz F0 bekannt ist, ist gleich der inversen Pitchperiode. Aus Graph 234 wird klar, dass sich der Pitch mit der Zeit verändert. Besonders die Grundpitchfrequenz steigt am Beginn des deklarativen Satzes, um das Subjekt des Satzes zu betonen und nimmt dann zum Ende des Satzes stetig ab. Der Pitch kann sich auch innerhalb eines Wortes ändern, dann vor allem an den Grenzen zwischen stimmhaften und nicht-stimmhaften Teilen eines Wortes.
  • Die Veränderungen des Pitch werden in einer Vielzahl von Sprachsystemen verfolgt, einschließlich Sprachsynthesesystemen, wie z.B. Sprachsynthesesystem 240 aus 4. Sprachsynthesesystem 240 schließt zwei Sektionen, eine Trainingssektion 242 und eine Synthesesektion 244 ein, die miteinander arbeiten, um künstliche Sprache aus eingegebenem Text zu bilden. Die Trainingssektion 242 sampelt und speichert Vorlagen aus menschlicher Sprache, die die Synthesesektion 244 verändert und kombiniert, um die künstliche Sprache zu bilden. Die Vorlagen, die durch die Trainingssektion 242 gebildet wurden, basieren auf einem analogen menschlichen Sprachsignal, das durch ein Mikrofon 43 erzeugt wird, wenn der Benutzer in das Mikrofon spricht.
  • Das analoge Signal aus dem Mikrofon 43 wird einem Analog-Digital-Wandler (A/D) 246 bereitgestellt, der das Signal periodisch sampelt, um digitale Samples von dem Signal zu bilden. Die digitalen Samples werden dann einer Feature-Extraction-Komponente 248 und einem Pitchtracker 250 bereitgestellt.
  • Die Feature Extraction-Komponente 248 entnimmt durch das Ausführen einer Spektralanalyse des digitalen Sprachsignals eine parametrische Darstellung von dem digitalisierten Eingangssprachsignal. Dies führt zu Koeffizienten, die die Frequenzkomponenten einer Folge von Frames des Eingangssprachsignals darstellen. Verfahren zum Ausführen der Spektralanalyse sind in dem Fachbereich der Signalverarbeitung gut bekannt und können Fast-Fourier-Transformationen, Linear Predictive Coding (LPG), und Cepstralkoeffizienten einschließen. Die resultierenden Spektralkoeffizienten werden der Analyse-Engine 252 bereitgestellt.
  • Das digitalisierte Signal wird auch dem Pitchtracker 250 bereitgestellt, welcher das Signal analysiert, um eine Reihe von Pitchmarken für das Signal zu ermitteln. Die Pitchmarken werden gesetzt, um den Pitch des digitalisierten Signals anzupassen, und unterscheiden sich zeitlich um einen Betrag gleich der Pitchperiode des Signals. Die Funktion des Pitchtrackers 250 bezüglich der vorliegenden Erfindung wird weiter unten diskutiert. Die Pitchmarken, die durch den Pitchtracker 250 erzeugt werden, werden der Analyse-Engine 252 bereitgestellt.
  • Die Analyse-Engine 252 erzeugt ein akustisches Modell von jeder phonetischen Spracheinheit, die in dem Eingangssprachsignal gefunden wird. Solche Spracheinheiten können Phoneme, Diphone (zwei Phoneme), oder Triphone (drei Phoneme) einschließen. Um diese Modelle zu erzeugen, konvertiert die Analyse-Engine 252 den Text des Sprachsignals in phonetische Einheiten. Der Text des Sprachsignals wird in dem Textspeicher 254 gespeichert und wird in seine phonetischen Einheiten unter Verwendung des Wörterbuchspeichers 256 eingeteilt, welcher eine phonetische Beschreibung jedes Worts aus dem Textspeicher 254 enthält.
  • Die Analyse-Engine 252 ruft dann ein Anfangsmodell von jeder phonetischen Spracheinheit aus dem Modellspeicher 258 ab. Beispiele solcher Modelle schließen Hidden Markov-Modelle für Phoneme mit drei Zuständen ein (tristate Hidden Markov Models). Die Anfangsmodelle werden mit den Spektralkoeffizienten des Eingangssprachsignals verglichen, und die Modelle werden verändert, bis sie das Eingangssprachsignal richtig darstellen. Die Modelle werden dann in dem Einheitenspeicher 260 abgelegt.
  • Weil der Speicher begrenzt ist, speichert die Analyse-Engine 252 nicht jede Instanz einer phonetischen Spracheinheit, die in dem Eingangssprachsignal gefunden wird. Stattdes sen wählt die Analyse-Engine 252 eine Teilmenge der Instanzen von jeder phonetischen Spracheinheit aus, um alle Ausprägungen der Spracheinheit darzustellen.
  • Für jede phonetische Spracheinheit, die in dem Einheitenspeicher 260 gespeichert ist, speichert die Analyse-Engine 252 auch die Pitchmarken zugehörig zu der Spracheinheit in dem Pitchspeicher 262.
  • Der Syntheseabschnitt 244 erzeugt ein Sprachsignal von dem Eingangstext 264, das einem natürlichen Sprachparser (natural language parser – NLP) 266 bereitgestellt wird. Der natürliche Sprachparser 266 teilt den Eingangstext in Wörter und Phrasen auf, und weist den Worten und Phrasen Kennzeichner zu, die die Beziehungen zwischen den verschiedenen Komponenten des Textes beschreiben. Der Text und die Kennzeichner werden zu einer LTS-Komponente 268 (LTS: letter-to-sound; Buchstaben-zu-Laut-Komponente) und einer Prosody-Engine 270 weitergegeben. Die LTS-Komponente 268 teilt jedes Wort in phonetische Spracheinheiten unter Verwendung des Wörterbuchs 256 und einer Reihe von Regeln für Buchstaben-zu-phonetischen-Einheiten (letter-to-phonetic unit rules), die in dem Regelspeicher 272 gefunden werden, wie z.B. Phoneme, Diphone oder Triphone. Die Regeln für Buchstaben-zu-phonetischen-Einheiten schließen Ausspracheregeln für Wörter ein, die gleich buchstabiert werden, aber unterschiedlich ausgesprochen werden, und Umwandlungsregeln zum Umwandeln von Zahlen in Text (d.h. Umwandeln von "1" in "eins").
  • Die Ausgabe der LTS 268 wird der phonetischen Zeichenfolge- und Betonungskomponente 274 bereitgestellt, welche eine phonetische Zeichenfolge mit geeigneter Betonung für den Eingabetext erzeugt. Die phonetische Zeichenfolge wird dann an die Prosody-Engine 270 weitergegeben, welche Markierungen für Pausen einfügt und prosodische Parameter ermittelt, die die Intensität, den Pitch und die Dauer jeder phonetischen Einheit in der Textzeichenfolge kennzeichnen. Üblicherweise ermittelt die Prosody-Engine 270 die Prosody unter Verwendung eines Prosodymodells, das in einer Prosodyspeichereinheit 276 gespeichert ist. Die phonetische Zeichenfolge und prosodischen Parameter werden dann zu dem Sprachgenerator 278 weitergegeben.
  • Der Sprachgenerator 278 ruft das Sprachmodell und die Pitchmarkierungen für jede phonetische Einheit in der phonetischen Zeichenfolge durch das Zugreifen auf die Speichereinheit 260 und den Pitchspeicher 262 ab. Der Sprachgenerator 278 wandelt dann den Pitch, die Intensität und Dauer der gespeicherten Einheiten um, so dass sie mit dem Pitch, der Intensität und der Dauer, die durch die Prosody-Engine 270 erkannt wurden, übereinstimmen. Dies führt zu einem digitalen Ausgangssprachsignal. Das digitale Ausgangssprachsignal wird dann einer Ausgabe-Engine 280 zur Speicherung oder für die Umwandlung in ein analoges Ausgabesignal bereitgestellt.
  • Der Schritt des Umwandelns des Pitch einer gespeicherten Einheit in den Pitch, der durch die Prosody-Engine 270 gesetzt ist, ist in den 5-1, 5-2, und 5-3 gezeigt. 5-1 ist ein Diagramm einer gespeicherten Spracheinheit 282, die aus Wellenformen 283, 284 und 285 besteht. Um den Pitch der Spracheinheit 282 zu verringern, teilt der Sprachgenerator 278 die einzelnen Wellenformen basierend auf den gespeicherten Pitchmarkierungen in Segmente auf und erhöht die Zeit zwischen den segmentierten Wellenformen. Diese Teilung ist in 5-2 mit den segmentierten Wellenformen 286, 287 und 288 gezeigt, welche den Wellenformen 283, 284 und 285 aus 5-1 entsprechen.
  • Wenn die Pitchmarkierungen für die Spracheinheiten nicht richtig ermittelt wurden, führt diese Segmentierungstechnik nicht zu einem geringeren Pitch. Ein Beispiel dafür kann in 5-3 gesehen werden, wo die gespeicherten Pitchmarkierungen, die verwendet werden, um das Sprachsignal zu segmentieren, die Pitchperiode falsch erkannt haben. Genauer gesagt haben die Pitchmarkierungen eine Pitchperiode erkannt, die zu lang für das Sprachsignal war. Dies führt zu einer Vielzahl von Spitzen 290 und 292, die in einem einzelnen Segment 294 erscheinen, was einen Pitch erzeugt, der größer ist als der Pitch, der durch die Prosody-Engine 270 aufgerufen wurde. Deshalb ist ein korrekter Pitchtracker für die Sprachsynthese essentiell.
  • Pitchtracking wird auch in Sprachkodierung verwendet, um die Menge an Sprachdaten zu reduzieren, die über einen Kanal gesendet wird. Im Wesentlichen komprimiert Sprachkodierung Sprachdaten durch Erkennen, dass in stimmhaften Teilen eines Sprachsignals das Sprachsignal aus sich nahezu wiederholenden Wellenformen besteht. Anstatt die exakten Werte von jedem Teil jeder Wellenform zu senden, senden Sprachkodierer die Werte einer Vorlagewellenform. Jede nachfolgende Wellenform wird dann durch einen Bezug auf die Wellenform beschrieben, die ihr direkt vorausgeht. Ein Beispiel eines solchen Sprachkodierers ist in dem Blockdiagramm von 6 gezeigt.
  • In 6 empfängt ein Sprachkodierer 300 ein Sprachsignal 302, das in ein digitales Signal durch einen Analog-zu-Digital-Konverter 304 umgewandelt wird. Das digitale Signal wird dann durch einen Linear-Predictive-Coding-Filter (LPC) 306 geleitet, welcher das Signal zu einem weißen Signal macht, um das Pitchtracking zu verbessern. Die Funktionen, die zum Weißmachen des Signals verwendet werden, werden durch LPC-Koeffizienten beschrieben, die später verwendet werden können, um das vollständige Signal wiederherzustellen. Das weiße Signal wird dem Pitchtracker 308 bereitgestellt, welcher den Pitch des Sprachsignals erkennt.
  • Das Sprachsignal wird auch einer Subtraktionseinheit 310 bereitgestellt, welche eine verzögerte Variante der Spracheinheit von der Spracheinheit abzieht. Die Größe, durch die die Spracheinheit verzögert wird, wird durch einen Verzögerungsschaltkreis 312 kontrolliert. Der Verzögerungsschaltkreis 312 verzögert Idealerweise das Sprachsignal, so dass die aktuelle Wellenform mit der vorangegangenen Wellenform in dem Sprachsignal abgestimmt wird. Um dieses Ergebnis zu erzielen, verwendet der Verzögerungsschaltkreis 312 den Pitch, der durch den Pitchtracker 308 ermittelt wurde, welcher die zeitweise Trennung zwischen aufeinander folgenden Wellenformen im Sprachsignal kennzeichnet.
  • Die verzögerte Wellenform wird mit einem Zuwachsfaktor "g(n)" in einer Multiplizierungseinheit 314 multipliziert, bevor sie von der aktuellen Wellenform abgezogen wird. Der Zuwachsfaktor wird so gewählt, dass die Differenz, die durch die Subtraktionseinheit 310 erzeugt wird, minimiert ist. Dies wird durch die Verwendung einer negativen Rückführungsschleife 316 erreicht, die den Zuwachsfaktor abgleicht, bis die Differenz minimiert ist.
  • Sobald der Zuwachsfaktor minimiert ist, werden die Differenz aus der Subtraktionseinheit 310 und die LPC-Koeffizienten in Codewörter durch eine Vektorquanitisierungseinheit 318 vektorquantisiert. Der Zuwachs g(n) und die Pitchperiode werden in Codewörter durch eine Skalarquantisierungseinheit 319 skalarquantisiert. Die Codewörter werden dann über den Kanal gesendet.
  • In dem Sprachkodierer aus 6 wird die Performance des Kodierers verbessert, wenn die Differenz aus der Subtraktionseinheit 310 minimiert ist. Weil eine falsche Ausrichtung der Wellenformen größere Differenzen zwischen den Wellenformen zur Folge haben, wird eine schlechte Performance des Pitchtrackers 308 zu einer schlechten Kodierungsperformance führen. Deshalb ist ein genauer Pitchtracker für effiziente Sprachkodierung essentiell.
  • In dem bisherigen Stand der Technik wurde Pitchtracking unter Verwendung von Kreuzkorrelation ausgeführt, welches eine Kennzeichnung des Grades an Ähnlichkeiten zwischen dem aktuellen Samplingfenster und dem vorhergehenden Samplingfenster bereitstellt. Die Kreuzkorrelation kann Werte zwischen –1 und +1 haben. Wenn die Wellenformen in den zwei Fenstern sich wesentlich unterscheiden, wird die Kreuzkorrelation nahe Null sein. Wenn die zwei Wellenformen jedoch ähnlich sind, wird die Kreuzkorrelation nahe +1 sein.
  • In solchen Systemen wird die Kreuzkorrelation für eine Anzahl von verschiedenen Pitchperioden berechnet. Im Allgemeinen wird die Testpitchperiode, die am nächsten zu der tatsächlichen Pitchperiode ist, die höchste Kreuzkorrelation erzeugen, weil die Wellenformen in den Fenstern sehr ähnlich sein werden. Für Testpitchperioden, die sich von den tatsächlichen Pitchperioden unterscheiden, wird die Kreuzkorrelation klein sein, weil die Wellenformen in den zwei Samplefenstern nicht aufeinander abgestimmt sind.
  • Unglücklicherweise identifizieren Pitchtracker nach dem Stand der Technik den Pitch nicht immer korrekt. Zum Beispiel kann mit einem Kreuzkorrelationssystem nach Stand der Technik ein nicht-stimmhafter Teil des Sprachsignals, das zufälligerweise eine sich halb wiederholende Wellenform hat, als ein stimmhafter Teil missinterpretiert werden, der einen Pitch bereitstellt. Dies ist ein erheblicher Fehler, nachdem nicht-stimmhafte Regionen keinen Pitch zu dem Sprachsignal liefern. Durch das Assoziieren eines Pitch mit einer nicht-stimmhaften Region berechnen Pitchtracker nach dem Stand der Technik den Pitch für das Sprachsignal falsch und erkennen fälschlicherweise eine nicht-stimmhafte Region als eine stimmhafte Region.
  • Durch eine Verbesserung des Kreuzkorrelationsverfahrens nach Stand der Technik haben die Erfinder ein Wahrscheinlichkeitsmodell für das Pitchtracking konstruiert. Das Wahrscheinlichkeitsmodell ermittelt die Wahrscheinlichkeit, mit der ein Testpitchtrack P der tatsächliche Pitchtrack für ein Sprachsignal ist. Diese Ermittlung wird zum Teil durch das Prüfen einer Sequenz von Fenstervektoren X gemacht, wobei P und X definiert sind durch: P = {P0, P1, ..., Pi, ..., PM-1} Gleichung 1 X = {x0, x1, ..., xi, ..., xM-1} Gleichung 2wobei Pi den "i"-ten Pitch in dem Pitchtrack darstellt, xi den "i"-ten Fenstervektor in der Reihe von Fenstervektoren darstellt, und M die Gesamtanzahl der Pitches in dem Pitchtrack und die Gesamtanzahl der Fenstervektoren in der Sequenz von Fenstervektoren darstellt.
  • Jeder Fenstervektor xi wird als eine Sammlung von Samples definiert, die innerhalb eines Fensters des Eingangssprachsignals gefunden wurden. In Form einer Gleichung: xi = {x[t – N/2], ....., x[t], ....., x[t + N/2 – 1} Gleichung 3wobei N die Größe des Fensters ist, t eine Zeitmarkierung in dem Zentrum des Fensters ist, und x[t] das Sample des Eingangssignals zur Zeit t ist.
  • In der Diskussion unterhalb wird der in Gleichung 3 definierte Fenstervektor als der aktuelle Fenstervektor xt bezeichnet. Basierend auf dieser Bezeichnung kann der vorherige Fenstervektor xt-P definiert werden als: xt-P = {x[t – P – N/2], ....., x[t – P], ....., x[t – P + N/2 – 1]} Gleichung 4wobei N die Größe des Fensters ist, P die Pitchperiode, die die Zeitperiode zwischen dem Zentrum des aktuellen Fensters und dem Zentrum des vorhergehenden Fensters beschreibt, und t – P das Zentrum des vorhergehenden Fensters ist.
  • Die Wahrscheinlichkeit, dass ein Testpitchtrack P der tatsächliche Pitchtrack angesichts der Sequenz von Fenstervektoren X ist, kann als f(P|X) dargestellt werden. Wenn diese Wahrscheinlichkeit für eine Anzahl von Pitchtracks berechnet wurde, können die Wahrscheinlichkeiten miteinander verglichen werden, um den Pitchtrack zu identifizieren, der am wahrscheinlichsten gleich dem tatsächlichen Pitchtrack ist. Deshalb ist die Maximum-a-posteriori-Schätzung (MAP) eines Pitchtracks: PMAP = argmax Pf(P|X) Gleichung 5unter Verwendung der Bayesregel kann die Wahrscheinlichkeit von Gleichung 5 erweitert werden auf:
    Figure 00140001
    wobei f(P) die Wahrscheinlichkeit des Pitchtracks P ist, der in irgendeinem Sprachsignal auftritt, f(X) die Wahrscheinlichkeit der Sequenz von Fenstervektoren X ist, und f(X|P) die Wahrscheinlichkeit der Sequenz von Fenstervektoren X angesichts des Pitchtracks P ist. Weil Gleichung 6 einen Pitchtrack sucht, der die Gesamtwahrscheinlichkeit maximiert, die durch die Faktoren auf der rechten Seite der Gleichung dargestellt ist, müssen nur Faktoren, die Funktionen des Testpitchtracks sind, in Betracht gezogen werden. Faktoren, die nicht eine Funktion des Testpitchtracks sind, können ignoriert werden. Weil f(X) nicht eine Funktion von P ist, wird die Gleichung 6 vereinfacht zu: PMAP = argmax Pf(P)f(X|P) Gleichung 7
  • Um den wahrscheinlichsten Pitchtrack zu ermitteln, ermittelt die vorliegende Erfindung deshalb zwei Wahrscheinlichkeiten für jeden Testpitchtrack. Zuerst ermittelt die vorliegende Erfindung angesichts eines Testpitchtrack P die Wahrscheinlichkeit, dass eine Sequenz von Fenstervektoren X in einem Sprachsignal auftreten werden. Zweitens ermittelt die vorliegende Erfindung die Wahrscheinlichkeit, dass ein Testpitchtrack P in irgendeinem Sprachsignal vorkommt.
  • Die Wahrscheinlichkeit einer Sequenz von Fenstervektoren X angesichts des Testpitchtrack P wird durch die vorliegende Erfindung als das Produkt einer Gruppe von einzelnen Wahrscheinlichkeiten angenähert, wobei jede Wahrscheinlichkeit in der Gruppe die Wahrscheinlichkeit darstellt, dass ein bestimmter Fenstervektor xi in dem Sprachsignal angesichts eines Pitch Pi für diesen Fenstervektor auftritt. In Form einer Gleichung:
    Figure 00150001
    wobei M die Anzahl der Fenstervektoren in der Sequenz von Fenstervektoren X und die Anzahl der Pitches in dem Pitchtrack P ist.
  • Die Wahrscheinlichkeit f(xi, Pi) eines einzelnen Fenstervektors xi, der in einem Sprachsignal angesichts eines Pitch Pi für dieses Zeitfenster auftritt, kann durch das Modulieren des Sprachsignals ermittelt werden. Die Basis für dieses Modell ist die Beobachtung der Erfinder, dass ein aktueller Fenstervektor als eine Funktion eines vergangenen Fenstervektors beschrieben werden kann gemäß: xt = pxt-P + et Gleichung 9wobei xt der aktuelle Fenstervektor ist, p ein Prognosezuwachs ist, xt-P der vorangegangene Fenstervektor ist, und et ein Fehlervektor ist. Diese Beziehung kann in den zweidimensionalen Vektorraum in 7 gesehen werden, wobei xt als die Hypotenuse 500 eines Dreiecks 502 gezeigt ist, das pxt-P als einen Schenkel 504 und et als einen anderen Schenkel 506 hat. Der Winkel 508 zwischen Hypotenuse 500 und Schenkel 504 ist als θ bezeichnet.
  • Aus 7 kann gesehen werden, dass der minimale Prognosefehler |et|2 definiert ist als: |et|2 = |xt|2 – |xt|2cos2(θ) Gleichung 10 wobei gilt
  • Figure 00150002
  • In Gleichung 11 ist < xt, xt-P > das Skalarprodukt von xt und xt-P, welches definiert ist als:
    Figure 00150003
    wobei x[t + n] ein Sample eines Eingangssignals zur Zeit t + n ist, x[t + n – P] das Sample des Eingangssignals zur Zeit t + n – P ist, und N die Größe des Fensters ist. |xt| aus Gleichung 11 ist die Quadratwurzel des Skalarprodukts aus xt mit xt, und |xt-P| ist die Quadratwurzel aus dem Skalarprodukt von xt-P mit xt-P. In Form einer Gleichung:
  • Figure 00160001
  • Das Kombinieren der Gleichungen 11, 12, 13 und 14 erzeugt:
  • Figure 00160002
  • Die rechte Seite der Gleichung 15 ist gleich der Kreuzkorrelation αt(P) des aktuellen Fenstervektors und des vorherigen Fenstervektors für Pitch P. Die Kreuzkorrelation kann deshalb durch cos(θ) in Gleichung 10 ersetzt werden, was dazu führt, dass: |et|2 = |xt|2 – |xt|2α2t (P) Gleichung 16
  • Gemäß einer Ausführungsform der Erfindung modellieren die Erfinder die Wahrscheinlichkeit für das Auftreten eines minimalen Prognosefehlers |et|2 als einen Null-Mittel-Gaußschen Zufallsvektors (zero-mean Gaussian random vector) mit einer Standardabweichung σ. Die Wahrscheinlichkeit für irgendeinen Wert von |et|2 ist deshalb gegeben durch:
  • Figure 00160003
  • Die logarithmische Wahrscheinlichkeit von |et|2 kann von Gleichung 17 durch das Logarithmieren auf beiden Seiten ermittelt werden, was dazu führt, dass:
    Figure 00170001
    welches vereinfacht werden kann durch das Darstellen der Konstanten als eine einzelne Konstante V, um Folgendes zu erzeugen:
  • Figure 00170002
  • Das Ersetzen von |et|2 unter Verwendung von oben genannter Gleichung 16 resultiert in:
  • Figure 00170003
  • Die Faktoren, die nicht eine Funktion des Pitch sind, können gesammelt werden und durch eine Konstante K dargestellt werden, weil diese Faktoren die Optimierung des Pitch nicht beeinflussen. Diese Vereinfachung erzeugt:
  • Figure 00170004
  • Die Wahrscheinlichkeit, einen bestimmten Prognosefehler angesichts einer Pitchperiode P zu haben, wie es in Gleichung 21 beschrieben ist, ist die gleiche, wie die Wahrscheinlichkeit des aktuellen Fenstervektors angesichts des vorangegangenen Fenstervektors und einer Pitchperiode P. Gleichung 21 kann deshalb umgeschrieben werden als:
    Figure 00170005
    wobei f(xt|Pt) die Wahrscheinlichkeit des aktuellen Fenstervektors angesichts des vorhergehenden Fenstervektors und der Pitchperiode P ist.
  • Wie oben erwähnt, gibt es zwei Wahrscheinlichkeiten, die gemäß der vorliegenden Erfindung kombiniert werden, um den wahrscheinlichsten Pitchtrack zu identifizieren. Die erste ist die Wahrscheinlichkeit eines nachfolgenden Fenstervektors angesichts eines Pitchtrack. Diese Wahrscheinlichkeit kann durch das Kombinieren von Gleichung 22 mit Gleichung 8 von oben berechnet werden. Die zweite Wahrscheinlichkeit ist die Wahrscheinlichkeit, dass der Pitchtrack in dem Sprachsignal auftritt.
  • Die vorliegende Erfindung nähert die Wahrscheinlichkeit, dass der Pitchtrack in dem Sprachsignal vorkommt, durch das Annehmen an, dass die a priori-Wahrscheinlichkeit einer Pitchperiode in einem Frame nur von der Pitchperiode für den vorhergehenden Frame abhängt. Die Wahrscheinlichkeit des Pitchtrack wird deshalb das Produkt der Wahrscheinlichkeiten, dass jeder einzelne Pitch in dem Sprachsignal angesichts des vorhergehenden Pitch in dem Pitchtrack vorkommt. In Form einer Gleichung: f(P) = f(PT-1|PT-2)f(PT-2|PT-3)....f(P1|P0)f(P0) Gleichung 23
  • Eine mögliche Auswahl für die Wahrscheinlichkeit f(PT-1|PT-2) ist eine Gaußsche Verteilung mit einem Mittel, das gleich der vorhergehenden Pitchperiode ist. Dies ergibt eine logarithmische Wahrscheinlichkeit für eine einzelne Pitchperiode von:
    Figure 00180001
    wobei γ die Standardabweichung der Gaußschen Verteilung ist und k' eine Konstante ist.
  • Das Kombinieren der Gleichungen 7, 8 und 23, und das Umgruppieren der Ausdrücke erzeugt:
  • Figure 00180002
  • Weil der Logarithmus monoton ist, maximiert der Wert von P, der Gleichung 25 maximiert, auch den Logarithmus auf der rechten Seite von Gleichung 25:
  • Figure 00180003
  • Das Kombinieren von Gleichung 26 mit Gleichung 22 und 24, und das Ignorieren der Konstanten k und k' erzeugt:
    Figure 00190001
    wobei λ = σ22 gilt. Es ist zu beachten, dass in Gleichung 27 ein 2σ2-Nenner von der rechten Seite der Gleichung entfernt worden ist, weil es für die Ermittlung des wahrscheinlichsten Pitchtracks unerheblich ist.
  • Die Wahrscheinlichkeit, dass ein Testpitchtrack der tatsächliche Pitchtrack ist, besteht deshalb aus drei Ausdrücken. Der erste ist ein Anfangsenergieausdruck α 2 / 0(P0)|χ0|2, der die Energie beschreibt, die in dem ersten Fenster gefunden wurde, das von dem Sprachsignal gesampelt wurde.
  • Der zweite Ausdruck ist ein Prognoseenergieausdruck α 2 / i(Pi)|χi|2, der eine Modifikation des Kreuzkorrelationsausdrucks darstellt, der in den Pitchtrackern nach Stand der Technik gefunden wird. Der Prognoseenergiewert schließt zwei Faktoren ein: |xi|2, die gesamte Energie des aktuellen Fensters und α 2 / i(Pi), die Kreuzkorrelation zwischen dem aktuellen Fenster und dem vorhergehenden Fenster. Wegen der Einrechnung der gesamten Energie ist dieser Ausdruck beim Erkennen des Pitch signifikant genauer als der Kreuzkorrelationsausdruck nach Stand der Technik. Ein Grund dafür ist, dass der Prognoseenergieausdruck die Gewichtung ungewöhnlich großer Kreuzkorrelationen in nicht-stimmhaften Teilen des Sprachsignals reduziert. Diese Gewichtungsreduzierung, welche nicht in dem Stand der Technik gefunden wird, kommt zustande, weil nicht-stimmhafte Teile des Sprachsignals eine geringe Gesamtenergie haben, was kleine Prognoseenergien zur Folge hat.
  • Der dritte Ausdruck in der Wahrscheinlichkeit eines Testpitchtrack ist der Pitchübergangsausdruck λ(Pi – Pi-1)2, der große Übergänge in dem Pitchtrack benachteiligt. Die Einrechnung dieses Konstrukts in Gleichung 27 ist eine weitere Verbesserung gegenüber dem Stand der Technik. In Systemen nach Stand der Technik wurde ein separater Schritt zum Glätten des Pitchtrack ausgeführt, sobald ein wahrscheinlichster Pitch bei jeder einer Reihe von Zeitmarkierungen ermittelt wurde. Gemäß der vorliegenden Erfin dung ist dieser separate Schritt in der einzelnen Wahrscheinlichkeitsberechnung für einen Pitchtrack enthalten.
  • Der Aufsummierungsteil von Gleichung 27 kann als die Summe einer Sequenz von einzelnen Wahrscheinlichkeitsergebnissen angesehen werden, wobei jedes Ergebnis die Wahrscheinlichkeit eines bestimmten Pitchübergangs zu einer bestimmten Zeit angibt. Diese einzelnen Wahrscheinlichkeitsergebnisse werden dargestellt als: Si(Pi, Pi-1) = α2i (Pi)|xi|2 – λ(Pi – Pi-1)2 Gleichung 28wobei Si(Pi, Pi-1) das Wahrscheinlichkeitsergebnis des Überleitens vom Pitch Pi-1 zur Zeit i – 1 zu dem Pi zur Zeit i ist.
  • Das Kombinieren der Gleichung 28 mit Gleichung 27 erzeugt:
  • Figure 00200001
  • Gleichung 29 stellt den wahrscheinlichsten Pitchtrack bereit, der bei Pitch PM-1 endet. Um den wahrscheinlichsten Pitch zu berechnen, der bei einem Pitch PM endet, wird Gleichung 29 erweitert, um zu erzeugen:
  • Figure 00200002
  • Durch das Vergleichen von Gleichung 30 mit Gleichung 29 kann gesehen werden, dass, um einen wahrscheinlichsten Pitchpfad zu berechnen, der bei einem neuen Pitch PM endet, die Pitchergebnisse zugehörig zum Übergang zu dem neuen Pitch SM(PM, PM-1) zu den Wahrscheinlichkeiten hinzugefügt werden, die für die Pitchpfade berechnet wurden, die bei dem vorhergehenden Pitch PM-1 enden.
  • Gemäß einer Ausführungsform der Erfindung werden Pitchtrackergebnisse zu einer Reihe von Zeitmarken t = iT ermittelt, so dass die Pitchtrackergebnisse, die bei Pitch PM-1 enden, zur Zeit t = (M – 1)T ermittelt werden. Durch das Speichern der Pitchtrackergebnisse, die zur Zeit t = (M – 1)T ermittelt wurden und unter Verwendung von Gleichung 30 braucht diese Ausführungsform der Erfindung nur die Pfadergebnisse SM(PM, PM-1) zu der Zeit t = MT zu ermitteln, um die Pitchtrackergebnisse zu berechnen, die bei Pitch PM enden.
  • Basierend auf der Gleichung 30 wird ein Pitchtracker 350 der vorliegenden Erfindung, wie in 8 gezeigt, bereitgestellt. Die Funktion des Pitchtrackers 350 ist in dem Flussdiagramm in 9 beschrieben.
  • Der Pitchtracker 350 empfängt digitale Samples eines Sprachsignals bei einem Eingang 352. In vielen Ausführungsformen wird das Sprachsignal Band-passgefiltert, bevor es in digitale Samples konvertiert wird, so dass hohe und niedrige Frequenzen, die nicht zugehörig zu stimmhafter Sprache sind, entfernt werden. Innerhalb des Pitchtrackers 350 werden die digitalen Samples in einem Speicherbereich 354 gespeichert, um es dem Pitchtracker 350 zu erlauben, auf die Samples mehrmals zuzugreifen.
  • Bei Schritt 520 in 9 bezeichnet ein Pitchbezeichner 360 in 8 einen Testpitch PM für die aktuelle Zeitperiode t = MT. In vielen Ausführungsformen ruft der Pitchbezeichner 360 den Testpitch PM aus einer Pitchtabelle 362 ab, die eine Liste mit beispielhaften Pitches enthält, die in menschlicher Sprache gefunden werden. In vielen Ausführungsformen enthält die Liste mit den Pitches Pitches, die logarithmisch voneinander getrennt sind. Gemäß einer Ausführungsform wurde eine Auflösung von einem Ein-Viertel-Halbton (one-quarter semitone) gefunden, um zufriedenstellende Ergebnisse zu erzielen. Der abgerufene bestimmte Pitch ist willkürlich, weil jeder der aufgelisteten Pitches für diese Zeitperiode, wie unten diskutiert, eventuell abgerufen wird.
  • Der Testpitch PM, der durch den Pitchbezeichner 360 bezeichnet wurde, wird einem Fenstersampler 358 bereitgestellt. Basierend auf dem bezeichneten Testpitch und den Samples, die in dem Samplespeicher 354 gespeichert sind, bildet der Fenstersampler 358 bei einem Schritt 522 in 9 einen aktuellen Fenstervektor xt und einen vorhergehenden Fenstervektor xt-p. Der aktuelle Fenstervektor und der vorhergehende Fenstervektor schließen eine Sammlung von Samples ein, wie oberhalb durch Gleichungen 3 und 4 beschrieben.
  • Beispiele für die Samples, die in dem aktuellen Fenstervektor xt und dem vorgehenden Fenstervektor xt-P gefunden werden, sind in 10 gezeigt, welche ein Diagramm eines Eingangssprachsignals 404 als eine Funktion nach der Zeit ist. In 10 wird ein aktuelles Fenster 402 von dem vorhergehenden Fenster 400 durch die Pitchperiode 406 getrennt, die durch den Pitchbezeichner 260 bezeichnet wurde. Die Samples x[t – p – 4], x[t – P – 3], und x[t – P – 2] des vorhergehenden Fenstervektors xt-P werden als Samples 408, 410 und 412 in dem vorgehenden Fenster 400 gezeigt. Die Samples x[t + n – 4], x[t + n – 3] und x[t + n – 2] des aktuellen Fenstervektors xt werden als Samples 414, 416 und 418 im aktuellen Fenster 402 gezeigt.
  • Der Fenstersampler 358 stellt den aktuellen Fenstervektor xt dem Energieberechner 366 bereit, welcher die Energie |xt|2 des Vektors bei einem Schritt 524 in 9 berechnet. In einer Ausführungsform wird die Energie unter Verwendung der Gleichung 13 von oben berechnet.
  • Der Fenstersampler 358 stellt den aktuellen Fenstervektor xt auch dem Kreuzkorrelationsberechner 364 zusammen mit dem vorhergehenden Fenstervektor xt-P bereit. Unter Verwendung von Gleichung 15 von oben berechnet der Kreuzkorrelationsberechner 364 bei Schritt 526 in 9 eine vorwärtsgerichtete Kreuzkorrelation αt(P). In manchen Ausführungsformen der Erfindung wird die Größe des Fensters N in Gleichung 15 gleich dem Pitch P gesetzt, der getestet wird. Um zu verhindern, dass Fenster verwendet werden, die in diesen Ausführungsformen zu klein sind, benötigen die Erfinder eine minimale Fensterlänge von 5 Millisekunden, ungeachtet des Pitch P, der getestet wird.
  • In manchen Ausführungsformen der Erfindung stellt der Fenstersampler 358 auch einen nächsten Fenstervektor xt+P dem Kreuzkorrelationsberechner 364 bereit. Der nächste Fenstervektor xt+P ist dem aktuellen Fenstervektor xt in der Zeit durch eine Größe gleich dem Pitch voraus, der durch den Pitchbezeichner 360 erzeugt wurde. Der Kreuzkorrelationsberechner 364 verwendet den nächsten Fenstervektor xt+P, um eine zurückgerichtete Kreuzkorrelation αt(–P) bei Schritt 528 in 9 zu berechnen. Die rückwärtsgerichtete Kreuzkorrelation αt(–P) kann unter Verwendung der Gleichung 15 von oben und durch Ersetzen von (+P) durch (–P) berechnet werden.
  • Nach dem Berechnen der rückwärtsgerichteten Kreuzkorrelation bei Schritt 528 vergleichen manche Ausführungsformen der vorliegenden Erfindung bei Schritt 530 die vorwärtsgerichtete Kreuzkorrelation αt(P) mit der rückwärtsgerichteten Kreuzkorrelation αt(–P). Dieser Vergleich wird durchgeführt, um zu ermitteln, ob das Sprachsignal sich plötzlich geändert hat. Wenn die rückwärtsgerichtete Kreuzkorrelation für die gleiche Pitchperiode höher ist als die vorwärtsgerichtete Kreuzkorrelation, hat sich das Eingangssprachsignal wahrscheinlich zwischen dem vorhergehenden Fenster und dem aktuellen Fenster geändert. Solche Veränderungen treten in dem Sprachsignal üblicherweise an den Grenzen zwischen Phonemen auf. Wenn sich das Signal zwischen dem vorhergehenden Fenster und dem aktuellen Fenster geändert hat, wird die rückwärtsgerichtete Kreuzkorrelation eine genauere Ermittlung der Prognoseenergie bei dem aktuellen Fenster bereitstellen als die vorwärtsgerichtete Kreuzkorrelation bereitstellen wird.
  • Wenn die rückwärtsgerichtete Kreuzkorrelation höher ist als die vorwärtsgerichtete Kreuzkorrelation, wird die rückwärtsgerichtete Kreuzkorrelation bei Schritt 532 mit Null verglichen. Wenn die rückwärtsgerichtete Kreuzkorrelation bei Schritt 532 kleiner als null ist, gibt es eine negative Kreuzkorrelation zwischen dem nächsten Fenster und dem aktuellen Fenster. Weil die Kreuzkorrelation quadriert wird, bevor sie zum Berechnen eines Pitchergebnisses in Gleichung 27 verwendet wird, könnte eine negative Kreuzkorrelation fälschlich für eine positive Kreuzkorrelation in Gleichung 27 gehalten werden. Um dies zu verhindern, wird, wenn bei Schritt 532 die rückwärtsgerichtete Kreuzkorrelation kleiner als null ist, eine zweifach modifizierte Kreuzkorrelation αt''(P) bei Schritt 534 auf Null gesetzt. Wenn die rückwärtsgerichtete Kreuzkorrelation bei 532 größer als null ist, wird eine einfach modifizierte Kreuzkorrelation αt'(P) bei Schritt 536 gleich der rückwärtsgerichteten Kreuzkorrelation αt(–P) gesetzt.
  • Wenn die vorwärtsgerichtete Kreuzkorrelation bei Schritt 530 größer als die rückwärtsgerichtete Kreuzkorrelation ist, wird die vorwärtsgerichtete Kreuzkorrelation bei Schritt 538 mit null verglichen. Wenn bei Schritt 538 die vorwärtsgerichtete Kreuzkorrelation kleiner als null ist, wird die zweifach modifizierte Korrelation αt''(P) bei Schritt 534 auf Null gesetzt. Wenn die vorwärtsgerichtete Kreuzkorrelation bei Schritt 538 größer als null ist, wird die einfach modifizierte Kreuzkorrelation αt'(P) bei Schritt 542 gleich der vorwärtsgerichteten Kreuzkorrelation αt(P) gesetzt.
  • In weiteren Ausführungsformen der vorliegenden Erfindung wird die einfach modifizierte Kreuzkorrelation αt'(P) des Weiteren in Schritt 544 modifiziert, um eine zweifach modifizierte Kreuzkorrelation αt''(P) durch das Abziehen eines harmonischen Reduktionswertes von dem einfach modifizierten Kreuzkorrelationswertes αt'(P) zu bilden. Der harmonische Reduktionswert hat zwei Teile. Der erste Teil ist eine Kreuzkorrelation von Fenstervektoren, die durch eine Hälfte der Pitchperiode (P/2) getrennt sind. Der zweite Teil ist ein harmonischer Reduktionsfaktor, der mit dem P/2-Kreuzkorrelationswert multipliziert wird. In Form einer Gleichung wird diese Modifizierung dargestellt durch: α''t (P) = α't (P) – βα't {P/2) Gleichung 31wobei β der Reduktionsfaktor ist, so dass 0 < β < 1 gilt. Gemäß manchen Ausführungsformen ist β (.2).
  • Nach den Schritten 534 und 544 geht der Prozess in 9 bei Schritt 546 weiter, wo aktuelle Pfadergebnisse SM(PM, PM-1) für jeden Pfad berechnet werden, der sich von einem Pitch bei der vorgehenden Zeitmarke zu dem aktuell ausgewählten Pitch bei der aktuellen Zeitmarke t = MT erstreckt. Die aktuellen Pfadergebnisse werden unter Verwendung der oben genannten Gleichung 28 berechnet. Die Prognoseenergie α 2 / t(Pt)|xt|2 wird durch Quadrieren der Ausgabe des Kreuzkorrelationsberechners 364 und Multiplizieren des Quadrats mit dem Ergebnis des Energieberechners 366 berechnet. Diese Funktionen sind durch den Quadrierungsblock 368 und Multiplikationsblock 370 in 8 dargestellt. Es ist zu beachten, dass für manche Ausführungsformen zweifach modifizierte Kreuzkorrelationen αt''(Pt) durch den Kreuzkorrelationsberechner 364 erzeugt werden anstatt αt(Pt). In solchen Ausführungsformen wird die zweifach modifzierte Kreuzkorrelation verwendet, um die Prognoseenergie zu berechnen.
  • Die Pitchübergangsausdrücke λ(PM – PM-1)2 aus Gleichung 28 werden durch den Pitchübergangsberechner 372 in 8 erzeugt. Für jeden Pitch zur Zeit t = (M – 1)T erzeugt der Pitchübergangsberechner 372 einen eigenen Pitchübergangsausdruck λ(PM – PM-1)2. Der Pitchübergangsberechner 372 empfängt den aktuellen Pitch PM von dem Pitchbezeichner 360 und erkennt unter Verwendung der Pitchtabelle 362 die vorhergehenden Pitches PM-1.
  • Die einzelnen Pitchübergangsausdrücke, die durch den Pitchübergangsberechner 372 produziert wurden, werden jeder von der Ausgabe des Multiplizierers 370 durch eine Subtraktionseinheit 374 abgezogen. Dies erzeugt ein Pitchergebnis für jeden der Pfade von den vorhergehenden Pitches PM-1 zur Zeit t = (M – 1)T zu dem aktuellen Testpitch PM zur Zeit t = MT. Diese Pitchergebnisse werden dann einer dynamischen Programmiereinheit 376 bereitgestellt.
  • Bei Schritt 548 in 9 ermittelt der Pitchbezeichner 360, ob Pfadergebnisse für jeden Pitch PM zur Zeit t = MT generiert wurden. Wenn ein Pitch zur Zeit t = MT nicht verwendet worden ist, um Pfadergebnisse zu generieren, wird dieser Pitch durch den Pitchbezeichner 360 bei Schritt 550 ausgewählt. Der Vorgang kehrt dann zu Schritt 522 zurück, um Pfadergebnisse für den Übergang von den vorhergehenden Pitches PM-1 zu dem neu ausgewählten Pitch PM zu generieren. Dieser Vorgang fährt fort, bis Pfadergebnisse für jeden der Pfade von allen vorhergehenden Pitches PM-1 zu jedem möglichen aktuellen Pitch PM berechnet worden sind.
  • Wenn alle der aktuellen Pfadergebnisse bei Schritt 548 berechnet worden sind, fährt der Vorgang bei Schritt 552 fort, wo das dynamische Programmieren 376 die Gleichung 30 verwendet, um die aktuellen Pfadergebnisse SM(PM, PM-1) zu den vergangen Pitchtrackergebnissen hinzuzufügen. Wie oben beschrieben, stellen die vergangenen Pitchtrackergebnisse die Summe der Pfadergebnisse für jeden Track dar, der zu der vorhergehenden Zeitmarke t = (M – 1)T endet. Das Hinzuzählen der aktuellen Pfadergebnisse zu den vergangenen Pitchtrackergebnissen resultiert in Pitchtrackergebnissen für jeden Pitchtrack, der zur aktuellen Zeitmarke t = MT endet.
  • Als Teil dieses Vorgangs eliminieren manche Ausführungsformen der dynamischen Programmierung 376 Pitchtracks, die extrem geringe Pfadergebnisse haben. Dies reduziert die Komplexität der Berechnungen zukünftiger Pfadergebnisse ohne einen signifikanten Einfluss auf die Leistung zu haben. Solches Abschneiden veranlasst die möglichen Pitchtracks für alle Zeiten vor einer Zeit t = (M – S)T sich einem einzelnen wahrscheinlichsten Pitchtrack zu nähern, wobei der Wert von "S" teilweise durch den Schwierigkeitsgrad des Abschneidens und die Stabilität des Pitches in dem Sprachsignal ermittelt wird. Dieser wahrscheinlichste Pitchtrack wird dann bei Schritt 554 ausgegeben.
  • Die Ergebnisse für überlebende Pitchtracks, die zur Zeit t = MT ermittelt werden, werden bei Schritt 556 gespeichert, und die Zeitmarke wird bei Schritt 558 zu t = (M + 1)T erhöht. Der Prozess aus 9 kehrt dann zu Schritt 520 zurück, wo der Pitchbezeichner 360 den ersten Pitch für die neue Zeitmarke auswählt.
  • Zusätzlich zu dem Erkennen eines Pitchtrack stellt die vorliegende Erfindung auch Mittel zum Erkennen stimmhafter und nicht-stimmhafter Teile eines Sprachsignals bereit. Um dies zu tun, definiert die vorliegende Erfindung ein Hidden-Markov-Modell (HMM) mit zwei Zuständen (two-state Hidden Markov Model), das in 11 als Modell 600 gezeigt ist. Modell 600 schließt einen stimmhaften Zustand 602 und einen nicht-stimmhaften Zustand 604 mit Übergangspfaden 606 und 608 ein, die sich zwischen den zwei Zuständen erstrecken. Modell 600 schließt auch Eigenübergangspfade 610 und 612 ein, die die Zustände 602 bzw. 604 mit sich selbst verbinden.
  • Die Wahrscheinlichkeit, entweder in dem stimmhaften Zustand oder dem nicht-stimmhaften Zustand zu irgendeiner Zeitperiode zu sein, ist die Kombination aus zwei Wahrscheinlichkeiten. Die erste Wahrscheinlichkeit ist eine Übergangswahrscheinlichkeit, die die Wahrscheinlichkeit darstellt, dass ein Sprachsignal von einer stimmhaften Region zu einer nicht-stimmhaften Region und umgekehrt übergehen wird, oder dass ein Sprachsignal in einer stimmhaften Region oder nicht-stimmhaften Region bleiben wird. Die erste Wahrscheinlichkeit gibt deshalb die Wahrscheinlichkeit an, dass einer der Übergangspfade 606, 608, 610 oder 612 durch das Sprachsignal überquert wird. In vielen Ausführungsformen sind die Übergangswahrscheinlichkeiten empirisch ermittelt, um sicherzustellen, dass beide, die stimmhaften und nicht-stimmhaften Regionen, nicht zu kurz sind, und um eine Kontinuität einzuführen.
  • Die zweite Wahrscheinlichkeit, die zum Ermitteln, ob das Sprachsignal in einer stimmhaften Region oder einer nicht-stimmhaften Region ist, verwendet wird, basiert auf Charakteristiken des Sprachsignals in der aktuellen Zeitperiode. Insbesondere basiert die zweite Wahrscheinlichkeit auf einer Kombination der Gesamtenergie des aktuellen Samplefensters |xt|2 und der zweifach modifizierten Kreuzkorrelation αt''(PMAP) des aktuellen Samplingfensters, die bei dem Maximum-a-priori-Pitch PMAP ermittelt wurde, der für das Fenster erkannt wurde. Gemäß der vorliegenden Erfindung sind diese Charakteristiken als zu starke Indikatoren für stimmhafte und nicht-stimmhafte Regionen gefunden worden. Dies kann in dem Diagramm in 12 gesehen werden, welches eine relative Gruppierung von stimmhaften Fenstersamples 634 und nicht-stimmhaften Fenstersamples 636 als eine Funktion der Gesamtenergiewerte (horizontale Achse 630) und Kreuzkorrelationswerte (vertikale Achse 632) zeigt. In 12 kann gesehen werden, dass stimmhafte Fenstersamples 634 dazu tendieren, eine hohe Gesamtenergie und hohe Kreuzkorrelation zu haben, während nicht-stimmhafte Fenstersamples 636 dazu tendieren, eine geringe Gesamtenergie und geringe Kreuzkorrelation zu haben.
  • Ein Verfahren gemäß der vorliegenden Erfindung zum Erkennen der stimmhaften und nicht-stimmhaften Regionen eines Sprachsignals ist in dem Flussdiagramm von 13 gezeigt. Das Verfahren beginnt bei Schritt 650, wo eine Kreuzkorrelation unter Verwendung eines aktuellen Fenstervektors xt berechnet wird, der zu einer aktuellen Zeit t zentriert ist, und einem vorgehenden Fenstervektor xt-P, der zu einer vorhergehenden Zeit t – PMAP zentriert ist. In der Kreuzkorrelationsberechnung ist PMAP der Maximum-a-priori-Pitch, der für die aktuelle Zeit t durch den oben beschriebenen Pitchtrackingprozess erkannt wurde. Zusätzlich ist in einigen Ausführungsformen die Länge der Fenstervektoren xt und xt-P gleich dem Maximum-a-priori-Pitch PMAP.
  • Nachdem die Kreuzkorrelation in Schritt 650 berechnet worden ist, wird die Gesamtenergie des Fenstervektors xt bei Schritt 652 ermittelt. Die Kreuzkorrelation und Gesamtenergie werden dann verwendet, um bei Schritt 654 die Wahrscheinlichkeit zu berechnen, dass der Fenstervektor eine stimmhafte Region abdeckt. In einer Ausführungsform basiert diese Berechnung auf einem Gaußschen Modell der Beziehung zwischen stimmhaften Samples und Gesamtenergie und Kreuzkorrelation. Das Mittel und die Standardabweichung der Gaußschen Verteilung werden unter Verwendung des EM (Estimate Maximize)-Algorithmusses berechnet, der das Mittel und die Standardabweichung für beides, die stimmhaften und nicht-stimmhaften Cluster, basierend auf einer Sampleäußerung abschätzt. Der Algorithmus beginnt mit einer Anfangsschätzung des Mittels und der Standardabweichung von beiden, den stimmhaften und nicht-stimmhaften Clustern. Anschließend werden Samples mit der Sampleäußerung darauf basierend klassifiziert, welche Cluster die höchste Wahrscheinlichkeit bieten. Angesichts dieser Zuweisung von Samples zu Clustern werden das Mittel und die Standardabweichung für jedes Cluster erneut abgeschätzt. Dieser Prozess wird ein paar Mal wiederholt, bis eine Konvergenz erreicht wird, so dass sich das Mittel und die Standardabweichung für jedes Cluster zwischen den Wiederholungen nicht viel verändert. Die Anfangswerte sind für diesen Algorithmus einigermaßen wichtig. Gemäß einer Ausführungsform der Erfindung wird das Ausgangsmittel des stimmhaften Zustands gleich dem Sample mit der höchsten logarithmischen Energie (log-energy) gesetzt, und das Mittel des nicht-stimmhaften Zustandes wird gleich dem Sample der geringsten logarithmischen Energie gesetzt. Die Anfangsstandardabweichung von beiden, stimmhaften und nicht-stimmhaften Clustern, werden bei einem Wert gleich der globalen Standardabweichung für alle Samples einander gleichgesetzt.
  • In Schritt 656 berechnet das Verfahren die Wahrscheinlichkeit, dass der aktuelle Fenstervektor xt einen nicht-stimmhaften Teil des Sprachsignals abdeckt. In einer Ausführungsform basiert diese Berechnung auch auf einem Gaußschen Modell der Beziehung zwischen nicht-stimmhaften Samples und Gesamtenergie und Kreuzkorrelation.
  • Bei Schritt 658 wird die passende Übergangswahrscheinlichkeit zu jeder der Wahrscheinlichkeiten hinzugezählt, die in Schritten 654 und 656 berechnet wurden. Die passende Übergangswahrscheinlichkeit ist die Wahrscheinlichkeit zugehörig zum Übergang zu dem entsprechenden Zustand von dem vorhergehenden Zustand des Modells. Wenn zu der vorhergehenden Zeitmarke das Sprachsignal im nicht-stimmhaften Zustand 604 in 11 war, würde deshalb die Übergangswahrscheinlichkeit zugehörig zum stimmhaften Zustand 602 die Wahrscheinlichkeit zugehörig zum Übergangspfad 606 sein. Für den gleichen vorhergehenden Zustand würde die Übergangswahrscheinlichkeit zugehörig zum nicht-stimmhaften Zustand 604 die Wahrscheinlichkeit zugehörig zum Übergangspfad 612 sein.
  • Bei Schritt 660 werden die Summen der Wahrscheinlichkeiten zugehörig zu jedem Zustand zu entsprechenden Ergebnissen für eine Vielzahl von möglichen stimmhaften Tracks hinzugezählt, die den aktuellen Zeitframe bei dem stimmhaften und nicht-stimmhaften Zustand erfassen. Unter Verwendung dynamischer Programmierung kann eine stimmhafte Entscheidung für eine vergangene Zeitperiode von den aktuellen Ergebnissen der stimmhaften Tracks ermittelt werden. Solche dynamischen Programmierungssysteme sind in der Fachwelt gut bekannt.
  • Bei Schritt 661 ermittelt das Stimmtrackingsystem, ob dies der letzte Frame in dem Sprachsignal ist. Wenn dies nicht der letzte Frame ist, wird die nächste Zeitmarke in dem Sprachsignal bei Schritt 662 ausgewählt und der Prozess kehrt zu Schritt 650 zurück. Wenn dies der letzte Frame ist, wird bei Schritt 663 der optimale vollständige stimmhafte Track durch Prüfen des Ergebnisses für alle der möglichen stimmhaften Tracks ermittelt, die bei dem letzten Frame enden.
  • Obwohl die vorliegende Erfindung mit Bezug auf bestimmte Ausführungsformen beschrieben worden ist, werden Fachleute erkennen, dass Veränderungen formal und im Detail gemacht werden können, ohne vom Umfang der Erfindung abzuweichen. Zusätzlich werden Fachleute erkennen, obwohl Blockdiagramme verwendet wurden, um die Erfindung zu beschreiben, dass die Komponenten der Erfindung als Computerinstruktionen implementiert werden können.

Claims (33)

  1. Verfahren zum Pitch-Tracking in einem Sprachsignal, wobei das Verfahren umfasst: Samplen des Sprachsignals über ein erstes Zeitfenster, das auf eine erste Zeitmarke zentriert ist, um einen ersten Fenstervektor zu erzeugen; Samplen des Sprachsignals über ein zweites Zeitfenster, das auf eine zweite Zeitmarke zentriert ist, um einen zweiten Fenstervektor zu erzeugen, wobei die zweite Zeitmarke von der ersten Zeitmarke durch eine Test-Pitch-Periode getrennt ist; Berechnen (524) eines Energiewertes, der die Energie des Teils des Sprachsignals anzeigt, der durch den ersten Fenstervektor dargestellt wird; Berechnen (526, 528) eines Kreuz-Korrelations-Wertes basierend auf dem ersten Fenstervektor und dem zweiten Fenstervektor; Multiplizieren (530546) des Energiewertes und des Kreuz-Korrelations-Wertes, um einen prognostizierbaren Energiefaktor zu erzeugen; Ermitteln (546), teilweise basierend auf dem prognostizierbaren Energiefaktor, eines Pitch-Ergebnisses für die Test-Pitch-Periode; und Identifizieren (552556), teilweise basierend auf dem Pitch-Ergebnis, mindestens eines Teils eines Pitch-Track.
  2. Verfahren aus Anspruch 1, wobei das Samplen des Sprachsignals über ein erstes Zeitfenster das Samplen des Sprachsignals über ein erstes Zeitfenster, das die gleiche Länge wie die Test-Pitch-Periode hat, umfasst.
  3. Verfahren aus Anspruch 2, wobei das Samplen des Sprachsignals über das zweite Zeitfenster das Samplen des Sprachsignals über ein zweites Zeitfenster, das die gleiche Länge wie die Test-Pitch-Periode hat, umfasst.
  4. Verfahren aus Anspruch 1, wobei das Berechnen des Kreuz-Korrelations-Wertes das Dividieren des Skalarprodukts von dem ersten Fenstervektor und dem zweiten Fenstervektor durch Grössen des ersten Fenstervektors und des zweiten Fenstervektors umfasst, um einen anfänglichen Kreuz-Korrelations-Wert zu erzeugen.
  5. Verfahren aus Anspruch 4, wobei das Berechnen des Kreuz-Korrelations-Wertes des Weiteren das Setzen des Kreuz-Korrelations-Wertes gleich dem anfänglichen Kreuz-Korrelations-Wert umfasst.
  6. Verfahren aus Anspruch 4, wobei das Berechnen des Kreuz-Korrelations-Wertes des Weiteren das Setzen des Kreuz-Korrelations-Wertes auf Null umfasst, wenn der anfängliche Kreuz-Korrelations-Wert kleiner als Null ist.
  7. Verfahren aus Anspruch 4, das des Weiteren das Samplen des Sprachsignals über ein drittes Zeitfenster umfasst, das auf eine dritte Zeitmarke zentriert ist, um einen dritten Fenstervektor zu erzeugen, wobei die dritte Zeitmarke von der ersten Zeitmarke durch die Test-Pitch-Periode getrennt ist.
  8. Verfahren aus Anspruch 7, wobei das Berechnen des Kreuz-Korrelations-Wertes des Weiteren umfasst: Berechnen eines zweiten Kreuz-Korrelations-Wertes basierend auf dem ersten Fenstervektor und dem dritten Fenstervektor; Vergleichen des anfänglichen Kreuz-Korrelations-Wertes mit dem zweiten Kreuz-Korrelations-Wert; und Setzen des Kreuz-Korrelations-Wertes gleich dem zweiten Kreuz-Korrelations-Wert, wenn der zweite Kreuz-Korrelations-Wert eine grössere Korrelation als der anfängliche Kreuz-Korrelations-Wert hat und andernfalls Setzen des Kreuz-Korrelations-Wertes gleich dem anfänglichen Kreuz-Korrelations-Wert.
  9. Verfahren aus Anspruch 4, wobei das Berechnen des Kreuz-Korrelations Wertes des Weiteren umfasst: Samplen des Sprachsignals über ein erstes harmonisches Zeitfenster, das auf die erste Zeitmarke zentriert ist, um einen ersten harmonischen Fenstervektor zu erzeugen; Samplen des Sprachsignals über ein zweites harmonisches Zeitfenster, das auf eine zweite harmonische Zeitmarke zentriert ist, um einen zweiten harmonischen Fenstervektor zu erzeugen, wobei die zweite harmonische Zeitmarke von der ersten Zeitmarke durch eine Hälfte der Test-Pitch-Periode getrennt ist; Berechnen eines harmonischen Kreuz-Korrelations-Wertes basierend auf dem ersten harmonischen Fenstervektor und dem zweiten harmonischen Fenstervektor; Multiplizieren des harmonischen Kreuz-Korrelations-Wertes mit einem Reduktionsfaktor, um einen harmonischen Reduktionswert zu erzeugen; und Subtrahieren des harmonischen Reduktionswertes von dem anfänglichen Kreuz-Korrelations-Wert und Setzen des Kreuz-Korrelations-Wertes gleich der Differenz.
  10. Verfahren aus Anspruch 1, wobei das Ermitteln eines Pitch-Ergebnisses das Ermitteln der Wahrscheinlichkeit umfasst, dass die Test-Pitch-Periode eine tatsächliche Pitch-Periode für einen Teil des Sprachsignals ist, das auf die erste Zeitmarke zentriert ist.
  11. Verfahren aus Anspruch 10, wobei das Ermitteln der Wahrscheinlichkeit, dass die Test-Pitch-Periode eine tatsächliche Pitch-Periode ist, das Addieren des prognos tizierbaren Energiefaktors zu einer Übergangswahrscheinlichkeit umfasst, die die Wahrscheinlichkeit für den Übergang von einer vorangehenden Pitch-Periode zu der Test-Pitch-Periode angibt.
  12. Verfahren aus Anspruch 11, das des Weiteren das Ermitteln einer Vielzahl von Pitch-Ergebnissen, mit einem Pitch-Ergebnis für jeden möglichen Übergang von einer Vielzahl von vorangehenden Pitch-Perioden zu der Test-Pitch-Periode, umfasst.
  13. Verfahren aus Anspruch 12, das des Weiteren das Verbinden der Vielzahl von Pitch-Ergebnissen mit vergangenen Pitch-Ergebnissen umfasst, um Pitch-Track-Ergebnisse zu erzeugen, wobei jedes Pitch-Track-Ergebnis die Wahrscheinlichkeit anzeigt, dass ein Test-Pitch-Track gleich einem tatsächlichen Pitch-Track des Sprachsignals ist.
  14. Verfahren aus Anspruch 13, wobei das Identifizieren des Pitch-Track das Identifizieren des Pitch-Track zugehörig zu dem höchsten Pitch-Track-Ergebnis umfasst.
  15. Verfahren aus Anspruch 1, das des Weiteren das Ermitteln umfasst, ob die erste Zeitmarke in einem stimmhaften Bereich des Sprachsignals ist.
  16. Verfahren aus Anspruch 15, wobei das Ermitteln, ob die erste: Zeitmarke in einem stimmhaften Bereich des Sprachsignals ist, das Ermitteln einer Wahrscheinlichkeit, basierend auf dem Energiewert und dem Kreuz-Korrelations-Wert, umfasst, dass die erste Zeitmarke in einem stimmhaften Bereich ist.
  17. Verfahren aus Anspruch 1, das des Weiteren umfasst: Erstellen eines Pitch-Kontourierungsfaktors, der die Ähnlichkeit zwischen der Test-Pitch-Periode und einer vorhergehenden Pitch-Periode anzeigt; und Verbinden des prognostizierbaren Energiefaktors und des Pitch-Kontourierungsfaktors, um ein Pitch-Ergebnis für den Übergang von der vorhergehenden Pitch-Periode zu der Test-Pitch-Periode zu erzeugen.
  18. Verfahren aus Anspruch 17, wobei das Berechnen des Kreuz-Korrelations-Wertes das Erzeugen eines ersten Fenstervektors basierend auf Samples der ersten Wellenform und das Erzeugen eines zweiten Fenstervektors basierend auf Samples der zweiten Wellenform umfasst.
  19. Verfahren aus Anspruch 18, wobei das Berechnen des Kreuz-Korrelations-Wertes des Weiteren das Dividieren eines Skalarprodukts des ersten Fenstervektors und des zweiten Fenstervektors durch Grössen des ersten Fenstervektors und des zweiten Fenstervektors umfasst, um einen anfänglichen Kreuz-Korrelations-Wert zu erzeugen.
  20. Verfahren aus Anspruch 19, wobei das Berechnen des Kreuz-Korrelations-Wertes des Weiteren das Setzen des Kreuz-Korrelations-Wertes gleich dem anfänglichen Kreuz-Korrelations-Wert umfasst.
  21. Verfahren aus Anspruch 19, wobei das Berechnen des Kreuz-Korrelations-Wertes des Weiteren das Setzen des Kreuz-Korrelations-Wertes auf Null umfasst, wenn der anfängliche Kreuz-Korrelations-Wert kleiner als Null ist.
  22. Verfahren aus Anspruch 19, das des Weiteren umfasst: Samplen des Sprachsignals über ein drittes Zeitfenster, das auf eine dritte Zeitmarke zentriert ist, wobei die dritte Zeitmarke von der ersten Zeitmarke durch die Test-Pitch-Periode getrennt ist; und Erstellen eines dritten Fenstervektors basierend auf den Samples der dritten Wellenform.
  23. Verfahren aus Anspruch 22, wobei das Berechnen des Kreuz-Korrelations-Wertes des Weiteren umfasst: Berechnen eines zweiten Kreuz-Korrelations-Wertes basierend auf dem ersten Fenstervektor und dem dritten Fenstervektor; Vergleichen des anfänglichen Kreuz-Korrelations-Wertes mit dem zweiten Kreuz-Korrelations-Wert; und Setzen des Kreuz-Korrelations-Wertes gleich dem zweiten Kreuz-Korrelations-Wert, wenn der zweite Kreuz-Korrelations-Wert grösser ist als der anfängliche Kreuz-Korrelations-Wert und andernfalls Setzen des Kreuz-Korrelations-Wertes gleich dem anfänglichen Kreuz-Korrelations-Wert.
  24. Verfahren aus Anspruch 19, wobei das Berechnen des Kreuz-Korrelations-Wertes des Weiteren umfasst: Samplen einer ersten harmonischen Wellenform und Erzeugen eines ersten harmonischen Fenstervektors basierend auf den Samples der ersten harmonischen Wellenform; Samplen einer zweiten harmonischen Wellenform und Erzeugen eines zweiten harmonischen Fenstervektors basierend auf den Samples der zweiten harmonischen Wellenform, wobei das Zentrum der zweiten harmonischen Wellenform von dem Zentrum der ersten harmonischen Wellenform durch eine Hälfte der Test-Pitch-Periode getrennt ist; Berechnen eines harmonischen Kreuz-Korrelations Wertes basierend auf dem ersten harmonischen Fenstervektor und dem zweiten harmonischen Fenstervektor; Multiplizieren des harmonischen Kreuz-Korrelations-Wertes mit einem Reduktionsfaktor, um einen harmonischen Reduktionswert zu erzeugen; und Subtrahieren des harmonischen Reduktionswertes von dem anfänglichen Kreuz-Korrelations-Wert und Setzen des Kreuz-Korrelations-Wertes gleich der Differenz.
  25. Verfahren aus Anspruch 17, wobei die Länge des ersten Zeitfensters gleich der Test-Pitch-Periode ist.
  26. Verfahren aus Anspruch 17, wobei das Erstellen eines Pitch-Kontourierungsfaktors das Abziehen der Test-Pitch-Periode von der vorhergehenden Pitch-Periode umfasst.
  27. Verfahren aus Anspruch 26, wobei das Verbinden des prognostizierbaren Energiefaktors und des Pitch-Kontourierungsfaktors das Abziehen des Pitch-Kontourierungsfaktors von dem prognostizierbaren Energiefaktor umfasst.
  28. Verfahren aus Anspruch 17, wobei das Identifizieren mindestens eines Teils eines Pitch-Track das Ermitteln einer Vielzahl von Pitch-Ergebnissen für mindestens zwei Test-Pitch-Tracks mit einem Pitch-Ergebnis für jeden Pitch-Übergang in jedem Test-Pitch-Track umfasst.
  29. Verfahren aus Anspruch 28, wobei das Identifizieren mindestens eines Teils eines Pitch-Track des Weiteren das Summieren der Pitch-Ergebnisse jedes Test-Pitch-Tracks und das Auswählen des Test-Pitch-Tracks mit der höchsten Summe als den Pitch-Track für das Sprachsignal umfasst.
  30. Pitch-Tracker für ein Computer-Sprachsystem (240, 300), das ausgebildet ist, um Sprachfunktionen auszuführen, wobei der Pitch-Tracker umfasst: eine Fenster-Sampling-Einheit (358) zum Anlegen eines aktuellen Fenstervektors und eines vorhergehenden Fenstervektors von einem entsprechenden aktuellen Fenster bzw. einem vorhergehenden Fenster eines Sprachsignals, wobei das Zentrum des aktuellen Fensters von dem Zentrum des vorhergehenden Fensters durch eine Test-Pitch-Periode getrennt ist; einen Energie-Rechner (366) zum Berechnen der gesamten Energie des aktuellen Fensters; einen Kreuz-Korrelations-Rechner (364) zum Berechnen eines Kreuz-Korrelations-Wertes basierend auf dem aktuellen Fenstervektor und dem vorhergehenden Fenstervektor; einen Multiplikator (370) zum Multiplizieren der gesamten Energie mit dem Kreuz-Korrelations-Wert, um einen prognostizierbaren Energiefaktor zu erzeugen; einen Pitch-Ergebnis-Generator (360, 362, 372, 374) zum Erzeugen eines Pitch-Ergebnisses basierend auf der prognostizierbaren Energie; und einen Pitch-Track-Identifizierer (376) zum Identifizieren, zumindest teilweise basierend auf dem Pitch-Ergebnis, mindestens eines Teils eines Pitch-Track für das Sprachsignal.
  31. Pitch-Tracker aus Anspruch 30, wobei das Computer-Sprachsystem ein Sprachsynthese-System ist.
  32. Pitch-Tracker aus Anspruch 30, wobei das Computer-Sprachsystem ein Sprachkodierer ist.
  33. Pitch-Tracker aus Anspruch 30, der des Weiteren umfasst: Pitch-Kontour-Rechner zum Berechnen eines Pitch-Kontourierungsfaktors, der die Ähnlichkeit zwischen einer Test-Pitch-Periode und einer vorhergehenden Pitch-Periode anzeigt; und Pitch-Ergebnis-Rechner zum Berechnen eines Pitch-Ergebnisses basierend auf dem prognostizierbaren Energiefaktor und dem Pitch-Kontourierungsfaktor.
DE69931813T 1998-11-24 1999-11-22 Verfahren und vorrichtung zur grundfrequenzermittlung Expired - Lifetime DE69931813T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US198476 1998-11-24
US09/198,476 US6226606B1 (en) 1998-11-24 1998-11-24 Method and apparatus for pitch tracking
PCT/US1999/027662 WO2000031721A1 (en) 1998-11-24 1999-11-22 Method and apparatus for pitch tracking

Publications (2)

Publication Number Publication Date
DE69931813D1 DE69931813D1 (de) 2006-07-20
DE69931813T2 true DE69931813T2 (de) 2006-10-12

Family

ID=22733544

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69931813T Expired - Lifetime DE69931813T2 (de) 1998-11-24 1999-11-22 Verfahren und vorrichtung zur grundfrequenzermittlung

Country Status (8)

Country Link
US (1) US6226606B1 (de)
EP (1) EP1145224B1 (de)
JP (1) JP4354653B2 (de)
CN (1) CN1152365C (de)
AT (1) ATE329345T1 (de)
AU (1) AU1632100A (de)
DE (1) DE69931813T2 (de)
WO (1) WO2000031721A1 (de)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7315815B1 (en) * 1999-09-22 2008-01-01 Microsoft Corporation LPC-harmonic vocoder with superframe structure
US6418407B1 (en) * 1999-09-30 2002-07-09 Motorola, Inc. Method and apparatus for pitch determination of a low bit rate digital voice message
US6510413B1 (en) * 2000-06-29 2003-01-21 Intel Corporation Distributed synthetic speech generation
US6535852B2 (en) * 2001-03-29 2003-03-18 International Business Machines Corporation Training of text-to-speech systems
US6917912B2 (en) * 2001-04-24 2005-07-12 Microsoft Corporation Method and apparatus for tracking pitch in audio analysis
US7366712B2 (en) * 2001-05-31 2008-04-29 Intel Corporation Information retrieval center gateway
US6907367B2 (en) * 2001-08-31 2005-06-14 The United States Of America As Represented By The Secretary Of The Navy Time-series segmentation
JP3750583B2 (ja) * 2001-10-22 2006-03-01 ソニー株式会社 信号処理方法及び装置、並びに信号処理プログラム
JP3823804B2 (ja) * 2001-10-22 2006-09-20 ソニー株式会社 信号処理方法及び装置、信号処理プログラム、並びに記録媒体
JP3997749B2 (ja) * 2001-10-22 2007-10-24 ソニー株式会社 信号処理方法及び装置、信号処理プログラム、並びに記録媒体
US7124075B2 (en) * 2001-10-26 2006-10-17 Dmitry Edward Terez Methods and apparatus for pitch determination
US6721699B2 (en) * 2001-11-12 2004-04-13 Intel Corporation Method and system of Chinese speech pitch extraction
TW589618B (en) * 2001-12-14 2004-06-01 Ind Tech Res Inst Method for determining the pitch mark of speech
US7062444B2 (en) * 2002-01-24 2006-06-13 Intel Corporation Architecture for DSR client and server development platform
US20030139929A1 (en) * 2002-01-24 2003-07-24 Liang He Data transmission system and method for DSR application over GPRS
US7219059B2 (en) * 2002-07-03 2007-05-15 Lucent Technologies Inc. Automatic pronunciation scoring for language learning
US20040049391A1 (en) * 2002-09-09 2004-03-11 Fuji Xerox Co., Ltd. Systems and methods for dynamic reading fluency proficiency assessment
KR100552693B1 (ko) * 2003-10-25 2006-02-20 삼성전자주식회사 피치검출방법 및 장치
US7668712B2 (en) * 2004-03-31 2010-02-23 Microsoft Corporation Audio encoding and decoding with intra frames and adaptive forward error correction
KR100590561B1 (ko) * 2004-10-12 2006-06-19 삼성전자주식회사 신호의 피치를 평가하는 방법 및 장치
US7177804B2 (en) 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding
US7707034B2 (en) * 2005-05-31 2010-04-27 Microsoft Corporation Audio codec post-filter
US7831421B2 (en) * 2005-05-31 2010-11-09 Microsoft Corporation Robust decoder
CN102222498B (zh) * 2005-10-20 2013-05-01 日本电气株式会社 声音判别***、声音判别方法以及声音判别用程序
EP1958341B1 (de) * 2005-12-05 2015-01-21 Telefonaktiebolaget L M Ericsson (PUBL) Echoerkennung
SE528839C2 (sv) * 2006-02-06 2007-02-27 Mats Hillborg Melodigenerator
JPWO2008007616A1 (ja) * 2006-07-13 2009-12-10 日本電気株式会社 無音声発声の入力警告装置と方法並びにプログラム
US8271284B2 (en) * 2006-07-21 2012-09-18 Nec Corporation Speech synthesis device, method, and program
CN101009096B (zh) * 2006-12-15 2011-01-26 清华大学 子带清浊音模糊判决的方法
US7925502B2 (en) * 2007-03-01 2011-04-12 Microsoft Corporation Pitch model for noise estimation
US8107321B2 (en) * 2007-06-01 2012-01-31 Technische Universitat Graz And Forschungsholding Tu Graz Gmbh Joint position-pitch estimation of acoustic sources for their tracking and separation
DE102007030209A1 (de) * 2007-06-27 2009-01-08 Siemens Audiologische Technik Gmbh Glättungsverfahren
JP2009047831A (ja) * 2007-08-17 2009-03-05 Toshiba Corp 特徴量抽出装置、プログラムおよび特徴量抽出方法
JP4599420B2 (ja) * 2008-02-29 2010-12-15 株式会社東芝 特徴量抽出装置
JP5593608B2 (ja) * 2008-12-05 2014-09-24 ソニー株式会社 情報処理装置、メロディーライン抽出方法、ベースライン抽出方法、及びプログラム
GB2466201B (en) * 2008-12-10 2012-07-11 Skype Ltd Regeneration of wideband speech
US9947340B2 (en) 2008-12-10 2018-04-17 Skype Regeneration of wideband speech
GB0822537D0 (en) 2008-12-10 2009-01-14 Skype Ltd Regeneration of wideband speech
US8626497B2 (en) * 2009-04-07 2014-01-07 Wen-Hsin Lin Automatic marking method for karaoke vocal accompaniment
JP5530454B2 (ja) * 2009-10-21 2014-06-25 パナソニック株式会社 オーディオ符号化装置、復号装置、方法、回路およびプログラム
AT509512B1 (de) * 2010-03-01 2012-12-15 Univ Graz Tech Verfahren zur ermittlung von grundfrequenz-verläufen mehrerer signalquellen
US8447596B2 (en) * 2010-07-12 2013-05-21 Audience, Inc. Monaural noise suppression based on computational auditory scene analysis
US9082416B2 (en) * 2010-09-16 2015-07-14 Qualcomm Incorporated Estimating a pitch lag
JP5747562B2 (ja) 2010-10-28 2015-07-15 ヤマハ株式会社 音響処理装置
US8645128B1 (en) * 2012-10-02 2014-02-04 Google Inc. Determining pitch dynamics of an audio signal
JP6131574B2 (ja) * 2012-11-15 2017-05-24 富士通株式会社 音声信号処理装置、方法、及びプログラム
CN107871492B (zh) * 2016-12-26 2020-12-15 珠海市杰理科技股份有限公司 音乐合成方法和***
CN111223491B (zh) * 2020-01-22 2022-11-15 深圳市倍轻松科技股份有限公司 一种提取音乐信号主旋律的方法、装置及终端设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4731846A (en) 1983-04-13 1988-03-15 Texas Instruments Incorporated Voice messaging system with pitch tracking based on adaptively filtered LPC residual signal
US5007093A (en) * 1987-04-03 1991-04-09 At&T Bell Laboratories Adaptive threshold voiced detector
US5680508A (en) 1991-05-03 1997-10-21 Itt Corporation Enhancement of speech coding in background noise for low-rate speech coder
JPH06332492A (ja) 1993-05-19 1994-12-02 Matsushita Electric Ind Co Ltd 音声検出方法および検出装置
US5704000A (en) 1994-11-10 1997-12-30 Hughes Electronics Robust pitch estimation method and device for telephone speech

Also Published As

Publication number Publication date
ATE329345T1 (de) 2006-06-15
WO2000031721A1 (en) 2000-06-02
AU1632100A (en) 2000-06-13
JP4354653B2 (ja) 2009-10-28
EP1145224B1 (de) 2006-06-07
DE69931813D1 (de) 2006-07-20
EP1145224A1 (de) 2001-10-17
US6226606B1 (en) 2001-05-01
CN1338095A (zh) 2002-02-27
CN1152365C (zh) 2004-06-02
JP2003521721A (ja) 2003-07-15

Similar Documents

Publication Publication Date Title
DE69931813T2 (de) Verfahren und vorrichtung zur grundfrequenzermittlung
DE69311303T2 (de) Sprachtrainingshilfe für kinder.
US6505152B1 (en) Method and apparatus for using formant models in speech systems
Rabiner et al. Isolated and connected word recognition-theory and selected applications
DE69513919T2 (de) Sprachanalyse
Zolnay et al. Acoustic feature combination for robust speech recognition
DE69713452T2 (de) Verfahren und System zur Auswahl akustischer Elemente zur Laufzeit für die Sprachsynthese
DE69225371T2 (de) Schlüsselwörtererkennung in einem zusammenhängenden Text mittels zweier &#34;Hidden Markov&#34; Modelle
DE69529356T2 (de) Wellenforminterpolation mittels Zerlegung in Rauschen und periodische Signalanteile
DE69315374T2 (de) Spracherkennungssystem zur naturgetreuen Sprachübersetzung
DE60124842T2 (de) Rauschrobuste Mustererkennung
DE69719236T2 (de) Verfahren und System zur Spracherkennung mittels verborgener Markoff-Modelle mit kontinuierlichen Ausgangswahrscheinlichkeiten
CN101064104B (zh) 基于语音转换的情感语音生成方法
CN103065619B (zh) 一种语音合成方法和语音合成***
US20010010039A1 (en) Method and apparatus for mandarin chinese speech recognition by using initial/final phoneme similarity vector
DE69727046T2 (de) Verfahren, vorrichtung und system zur erzeugung von segmentzeitspannen in einem text-zu-sprache system
DE60036522T2 (de) Verziehung der Frequenzen für Spracherkennung
Erro et al. Iterative MMSE Estimation of Vocal Tract Length Normalization Factors for Voice Transformation.
US20230252971A1 (en) System and method for speech processing
Bazzi et al. An expectation maximization approach for formant tracking using a parameter-free non-linear predictor
DE60208956T2 (de) Verfahren zur Spracherkennung
Banos et al. Flexible harmonic/stochastic modeling for HMM-based speech synthesis
Slaney et al. Pitch-gesture modeling using subband autocorrelation change detection.
Christensen Speaker Adaptation of Hidden Markov Models using Maximum Likelihood Linear Regression.
Suresh et al. Language identification system using MFCC and SDC feature

Legal Events

Date Code Title Description
8364 No opposition during term of opposition