Phasenvocoder
Der Phasen-Vocoder als Werkzeug zur zeitlichen Dehnung bzw. Stauchung eines Signals,
ohne dabei dessen spektrale Zusammensetzung zu ändern, wurde zum ersten Mal von
Flanagan in den sechziger Jahren des zwanzigsten Jahrhunderts vorgeschlagen.
Dabei wird angenommen, dass jeder Klang aus Sinuskomponenenten mit relativ konstanter
Frequenz und Amplitude zusammengesetzt ist.
Sind diese Komponenten bekannt, so ist es ein Leichtes, die zeitliche Abfolge dieser
Komponenten zu modifizieren, ohne die spektrale Struktur zu verändern. Ebenso einfach ist es,
Eingriffe in das Spektrum zu tätigen, ohne die Zeitachse zu berühren.
Zur Analyse eines beliebigen Eingangssignals kann man die DiskreteFourierTransformation
verwenden.
Wird das Signal gefenstert, so erhält man
Wenn man annimmt, dass sich in jedem Kanal k der DFT nur eine Sinuskomponente befindet,
so erhält man als Ergebnis ein komplexes Spektrum und somit Betrag und Phase der Komponenten
in den einzelnen Kanälen bzw. bins.
Nimmt man weiters an, dass sich die Frequenz einer Komponente nicht ändert, so erhält man
diese als Änderung der Phase mit der Zeit, also
.
Δφ erhält man durch Berechnung zweier Spektren, die zeitlich um die Hopsize
H = Δt getrennt sind.
Da die Phase nur Werte zwischen
-π und
+π annehmen kann, ist
Δφ
bis auf ein Vielfaches von
2π bestimmt.
Um bei der Resynthese eine kontinuierlichen Phasenänderung einer Sinuskomponente zwischen
zwei Zeitpunkten
u(i-1) und
u(i) zu erhalten, errechnet sich die Resynthese-Phase aus:
Der Betrag einer Sinuskomponente ist bei Analyse und Resynthese gleich:
Wählt man nun aber
so bleibt der nicht-determinierte Anteil der Phase immer ein ganzzahliges Vielfaches von
2π, dies allerdings auf Kosten einer zweiten DFT :
Da sich gleichzeitig die umständliche Berechnung aller Phasen-Argumente durch die
arctan-Funktion vermeiden läßt, ist dieser Ansatz trotz der zusätzlichen DFT recheneffizienter.
phase-locking
Aufgrund der Eigenschaften der gefensterten DFT ist jede Sinuskomponente eines Signals nicht
nur im zugehörigen Kanal sichtbar, sondern, in Abhängigkeit vom verwendeten Fenster, auch
in anderen Kanälen.
Verwendet man, zum Beispiel, ein nicht-nullphasiges Hanning-Fenster, so ist die Hauptkeule
der DFT im Allgemeinen 4 bins breit.
Liegt die analysierte Sinuskomponente genau zwischen zwei Kanälen, so wird die Amplitude in
diesen beiden Kanälen fünfmal so groß sein, wie in den beiden Außenkanälen.
Liegt die Komponente jedoch genau in der Mitte eines Kanals, so ist die
Hauptkeule nur 3 bins breit, wobei die Amplitude des mittleren Kanals doppelt
so groß ist, wie die der beiden Nachbarkanäle.
Bei der Resynthese tragen nun alle Kanäle, in denen Anteile ≠ 0 vorhanden sind, zu
einer Komponente bei. Da im Allgemeinen die Resynthese-Phasen in den Kanälen nicht
übereinstimmen, kommt es zu Phasenüberlagerungen und Auslöschungen.
Ändert sich nun die Frequenz mit der Zeit, so ändert sich auch der so entstehende Fehler.
Dadurch kommt es zu Amplitudenmodulationen, die sich in der für den Phasen-Vocoder typischen
Reverberance, also einer gewissen Halligkeit, äußern.
Es empfiehlt sich daher, die Phasen von benachbarten Kanälen einander anzugleichen, also
phase locking einzusetzen.
Puckette schlägt hierfür eine sehr einfache und dennoch effektive Vorgehensweise vor:
Anstatt die Resynthese-Phase nur durch Betrachtung des zugehörigen Kanales zu errechnen, läßt er
auch die Phasen der Nachbarkanäle einfließen, und zwar durch simple gewichtete Addition.
Da die Nachbarkanäle im Idealfall genau gegenphasig sind, werden deren Negative verwendet.
Die Phase einer Summe von komplexen Zahlen wird größtenteils vom Summanden mit dem größten
Betrag bestimmt. Da der Kanal, in dem die Sinuskomponente "wirklich" liegt, immer den
größten Betrag aufweist, gleichen die Nachbarkanäle ihre Phasen derjenigen der
Hauptkomponente an.
Damit ist das Resynthese-Signal im
k-ten Kanal :
In der Praxis ergibt sich interessanterweise für μ > 1 kein allzu großer
Einfluß dieses Gewichtes μ auf das hörbare Ergebnis.
Whether using phase locking between adjacent channels of the phase vocoder is truly the best
solution to the problems cited here cannot be answered yet. We lack an effective measure of
the quality of the resynthesized sound. However, at least the question of fidelity of
resynthesis has now been raised, and it has been established here that the phase vocoder is
built upon assumptions whose ramifications are not completely understood. If we can put the
phase vocoder on a steadier foundation, we might have more control over what comes out of it.