vorige Seite    Harmony Assistant    nächste Seite 
 

Einleitung
Produkte
Was ist neu ?

Lehrgang
Notation
Wiedergabe
Geräte/Scripts
Virtual Singer
Allgemeines
Schnelles Erstellen
Notenstufen singen
Gregorianischer Gesang
Jazz Scat
MIDI und ABC
Regeln zum Schreiben
Technischer Hintergrund
Einstellungen
SAMPA Notation
Fragen/Antworten
Zusammenfassung der Befehle
Real Singer
Einführung
Stimmen aufnehmen
Phonem Auswahlbereich
Erweiterte Aufnahme
Phoneme justieren
Technischer Hintergrund
Spoken voice
Bibliographie & Grüße
Myriad HQ
Fragen/Antworten
Softwarelizenz
Technische Unterstützung


Das Symbol zeigt die neuen Eigenschaften in dieser Version.

 

RealSinger

Technischer Hintergrund



Anmerkung: Diese Seite ist nur ein kurzer Überblick über die Methoden, die RealSinger für die Stimmerzeugung verwendet.
Sie müssen dieses Kapitel nicht lesen, um RealSinger verwenden zu können.
Es ist dazu gedacht, die technischen Fragen einiger Benutzer über die internen Algorythmen zu beantworten, es ist aber nicht notwendig für das Arbeiten mit RealSinger.

Einführung

Wenn man eine realistische Gesangssynthese herstellen will, kommt dem Programmierer als erste Idee, eine Sammlung aufgenommener Phoneme zu verwenden und diese zu benutzen, um die Stimme zu erzeugen.

Dies führt allerdings sehr schnell zu drei Problemen:

  1. Der Algorythmus muß in der Lage sein, das Phonem in jeder Tonhöhe zu erzeugen (Grundfrequenz). Alle Phoneme in jeder möglichen Tonhöhe aufzunehmen, wäre nicht befriedigend, denn das würde zu einem langwierigen und komplexen Lernprozess führen. Außerdem wären die Stimmdateien sehr groß.
  2. Der Algorythmus muß in der Lage sein, die Phoneme beliebig zu verlängern.
  3. Der Algorythmus muß in der Lage sein, sanfte Übergänge von einem Phonem zum anderen zu erzeugen, um realistische Koartikulation zu simulieren (das nächste Phonem kann schon gehört werden, während das vorherige noch nicht vollkommen beendet ist).
In der Computer-Literatur kann für jedes dieser Probleme eine Lösung gefunden werden.

Für die Probleme 1 und 2 wurden bereits einige effiziente Algorythmen entdeckt. Sie bearbeiten das digitale Signal direkt vom aufgenommenen Beispiel und ermöglichen die Änderung von Frequenz (Pitch) und Dauer. Diese Algorythmen werden in den meisten bekannten Klang-Editoren verwendet, um die Tonhöhe oder die Geschwindigkeit einer Klangdatei unabhängig voneinander zu verändern. Sie werden auch erfolgreich bei der Sprach-Synthese eingesetzt, da die Änderungen der Sprach-Frequenzen ziemlich klein sind.
Wie dem auch sei, im Falle von gesungener Stimme können diese Algorythmen nicht verwendet werden, da sie nicht effizient genug sind, wenn die Tonhöhenänderung sehr groß ist. Das Ergebnis selbst ist nicht falsch, aber die Stimme ist verzerrt, als würde man ein Tonband mit zu großer Geschwindigkeit abspielen (Enten-Stimme).

Für Problem 3 gibt es gewöhnlich folgenden Weg. Man nimmt nicht nur die einzelnen Phoneme einer Sprache auf, sondern alle möglichen Kombinationen von zwei oder drei Phonemen (Diphoneme/Triphoneme). Dieses System speichert den Koartikulationseffekt und macht die synthetisierte Stimme realistischer. Allerdings ist auch hier der Lernprozess sehr lang und hart, und manchmal benötigt der Sprecher mehrere Stunden für die Aufnahmen. Die resultierende Datei ist oft sehr groß (mehrere Megabyte).

RealSinger benutzt eigene Algorythmen, um diese drei Probleme gleichzeitig zu lösen, und zwar durch Manipulation der Frequenz-Spektren.
Einige Sprach-Synthesizer haben schon versucht, Frequenz-Spektren zur Erzeugung von Stimmen zu benutzen.
Es hat sich aber herausgestellt, daß diese Methode schwer zu implementieren ist, denn für die Widerherstellung eines Signals aus einem bearbeiteten Spektrum mit Hilfe der "inverse fast Fourier Transformation" (IFFT), müssen die "Phasen"-Werte entsprechend ausgerichtet werden. Ansonsten passen zusammengehörende Teile eines Signals nicht zusammen und ungewollte Hintergrundgeräusche werden hörbar.

Stimm-Spektrum

Beim Sprechen oder Singen ist die stimmliche Grundwellenform (Klang der von den Stimmbändern erzeugt wird durch den Luftstrom aus den Lungen) eine Kombination von Oberschwingungen (Vielfache der Grundfrequend f0).

In einem Lautstärke/Frequenz-Graph sieht dieser stimmliche Grundklang wie ein Kamm aus. Jeder Zahn des Kammes zeigt eine Frequenz, die ein vielfaches der Grundfrequenz f0 ist:

Wenn die Tonhöhe der Stimme steigt, schiebt sich die Grundfrequenz f0 nach rechts (höhere Frequenz) und der Frequenzabstand zwischen zwei aufeinanderfolgenden Oberschwingungen steigt ebenfalls, um gleich zu f0 zu bleiben.

Beim Passieren des Stimmtraktes werden einige Frequenzen durch kavitative Resonanzen verstärkt, andere werden abgeschwächt. Daraus folgt, daß manche Oberschwingungen laut, andere gedämpfter sind. Dieses Stimmtrakt-Spektrum ist abhängig von dem gesungenen oder gesprochenen Phonem und ist mehr oder weniger unverändert, wenn die Frequenz wechselt.
Die Verschmelzung dieser beiden Spektren (Stimmquelle und Stimm-Trakt) ergibt das resultierende Spektrum, in dem der Hörer das Phonem (was gesagt wird) und die Tonhöhe (gesungene Note) erkennt.

RealSinger Grundlagen

Die Absicht von RealSinger ist es, für jedes Phonem einer gegebenen Sprache das aufgenommene Signal so zu entschlüsseln, daß die Spektren von Stimmquelle und Stimmtrakt getrennt werden können. Nur das Stimmtrakt-Spektrum wird dann gespeichert und eine generierte Stimmquelle wird auf dieses Spektrum angwandt, um das original aufgenommene Phonem in jeder Tonhöhe zu simulieren.

Der Lern-Prozess

  • Der Sprecher wird aufgefordert, für jedes Phonem einer gegebenen Sprache ein Wort auszusprechen.
  • Jedes Wort wird als reguläre Klang-Datei gespeichert.
  • Dann wird das Phonem innerhalb des Wortes isoliert und das Signal wird gestutzt, um nur diesen Teil zu behalten.
  • Ein durchschnittliches Frequenzspektrum des Klanges wird erzeugt.
  • Dieses Spektrum wird aufgeschlüsselt, um den Einflußfaktor der Stimmquelle zu entfernen und nur die Resonanzkurve des Stimmtraktes zu behalten.
  • Dieses Pseudo-Spektrum wird gespeichert (weniger als 100 Fließkomma-Werte für jedes Phonem)
  • Für zeitlich variierende Phoneme, wie Explosivlaute, werden mehrere Pseudo-Spektren gespeichert, um Informationen über die Änderungen im Spektrum zu erhalten.
Dieser Algorythmus benötigt nur wenige Werte für jedes Phonem, was sehr kleine Stimm-Dateien zur Folge hat (weniger als 40 Kb nach der Kompression).

Erzeugung der Stimme

  • Für jedes zu singende Phonem wird das passende Pseudo-Spektrum extrahiert. Für den überlappenden Teil zwischen zwei Phonemen werden beide Pseudo-Spektren verzerrt und dann verschmolzen, um den Koartikulationseffekt zu simulieren.
  • Eine synthetische Stimmquelle wird in der benötigten Tonhöhe erzeugt. Das Spektrum der Stimmquelle kann hier leicht modifiziert werden, um das Stimm-Timbre zu verändern (zur klanglichen Verbesserung oder um verschiedene Vocoder-Effekte anzuwenden).
  • Diese Quelle wird wieder mit dem Pseudo-Spektrum verbunden.
  • Das Spektrum wird dann von einer phasenfreien, inversen Transformation bearbeitet, um eine reguläre Klang-Datei zu erhalten.
Dieser Algorythmus simuliert Koartikulationseffekte. Deshalb ist es nicht nötig, die ganze Gruppe der Diphoneme und Triphoneme aufzunehmen. Nur einfache Phoneme werden benötigt.



(c) Myriad - Alle Rechte vorbehalten.