Nicht-Physiker hier.
Nach dem, was ich an der Universität gelernt habe und was der gesunde Menschenverstand sagt, führt eine Frequenzverschiebung eines Signals zu einer Änderung seiner zeitlichen Länge. Wenn beispielsweise ein sinusförmiges Signal der Frequenz und Länge wird in den Frequenzbereich übertragen, es ist geteilt durch , dann zurück in den Zeitbereich umgerechnet, wäre die Länge des Signals .
Korrigiere mich, wenn ich falsch liege! Aber das ist ziemlich intuitiv. Wenn Sie ein Signal langsamer machen, würde es länger dauern, bis es fertig ist und umgekehrt.
Aus diesem Grund wurde mir gesagt, dass es unmöglich ist, die Frequenz eines Streaming-Signals zu ändern und es mit derselben Geschwindigkeit auszugeben. Zum Beispiel wäre es unmöglich, die Sprache eines Mannes so zu ändern, dass sie wie eine Frau klingt, ohne sie schneller zu machen.
Jetzt habe ich verschiedene Beobachtungen gemacht:
Es scheint, dass es einigermaßen möglich ist, die Frequenz eines Signals zu ändern, ohne seine Länge zu beeinflussen. Ein (theoretischer) Weg, den ich mir vorstellen kann, wäre, die aktuellen "Noten" zu verstehen, die in sehr kleinen Intervallen gespielt werden (dh die verschiedenen Frequenzen, die das Signal erzeugen), die Note zu ändern und sie für die Dauer dieses Intervalls wiederzugeben.
Meine Frage ist zunächst, ob mein Verständnis überhaupt richtig ist. Wie auch immer, gibt es einen mathematischen Weg, um die Tonhöhe eines Signals zu ändern, ohne seine zeitliche Länge zu beeinflussen? Wenn nicht, wie können sie es in der Praxis tun?
Sie haben Recht, dass es unmöglich ist, die Frequenz jeder Komponente einer Wellenform zu ändern, während (a) alle Phasenbeziehungen zwischen den Frequenzen und (b) die Länge der Wellenform beibehalten werden. Obwohl es mathematisch unmöglich ist, dies genau zu tun, ist es möglich, Dinge zu tun, die für das menschliche Ohr ziemlich ähnlich klingen. Die grundlegendsten Algorithmen dafür sind ziemlich einfach, aber es gut zu machen, ist ziemlich schwierig, und die Algorithmen werden ständig verbessert. Es wird als "Tonhöhenverschiebung" bezeichnet, wenn das Ziel darin besteht, die Tonhöhe, aber nicht die Zeit zu ändern, und "Zeitdehnung", wenn Sie die Zeit ändern möchten, während Sie die Tonhöhe beibehalten.
Der Grund dafür ist, dass das Ohr Rhythmus und Tonhöhe als ganz unterschiedliche Dinge unterscheidet. Eine Folge von Klicks klingt wie eine Folge von Klicks, bis ihre Frequenz etwa 20-30 Hz überschreitet, an welchem Punkt sie in ein summendes Geräusch übergeht, das als eine Tonhöhe wahrgenommen wird. Aus diesem Grund können Sie, wie DumpsterDoofus sagte, den Sound in kleine Segmente von kurzer Dauer zerhacken, die Tonhöhe jedes einzelnen ändern und sie dann wieder zusammenfügen, Dinge wiederholen oder Lücken lassen, wo nötig.
An sich klingt das nicht so gut, weil Sie am Ende jedes Segments ein Klicken hören, wo die Wellenformen nicht ausgerichtet sind. Es kann stark verbessert werden, indem "Fenster" des Sounds überlappt werden, die jeweils ein Fade-In und Fade-Out haben. Auf diese Weise hören Sie die Klicks an den Enden der Segmente nicht, aber Sie hören tendenziell Phasenauslöschungseffekte, bei denen die Fenster wieder zusammengefügt werden. Aus diesem Grund erfordert diese Technik einiges an Abstimmung, damit sie bei jedem gegebenen Eingangston gut klingt.
Es gibt auch Techniken im Fourier-Bereich, wie Brandon Enright sagte. Diese verwenden normalerweise auch überlappende Fenster; Ich denke, der Vorteil der Verwendung der Fourier-Domäne besteht darin, dass Sie mehr Kontrolle über die Phasenbeziehungen haben. (Ich weiß nicht viel über diese Techniken.)
Eine ziemlich neue Entwicklung ist der Algorithmus "Pitch Synchronous Overlap-Add" (PSOLA). Dies verwendet ebenfalls überlappende Fenster, synchronisiert jedoch die Länge der Fenster mit der Tonhöhe des Eingangstons. Dadurch wird es für das Ohr deutlich schwieriger, die einzelnen Fenster wahrzunehmen. Ich nenne es „den Algorithmus, der die Musik ruiniert hat“, weil es für diesen fiesen „Autotune“-Effekt verantwortlich ist, der in den letzten zehn Jahren für die Vocals jeder Pop-Platte überbeansprucht wurde. Es hat jedoch auch friedliche Anwendungen, und der Tonhöhenregler Ihres Verstärkers verwendet wahrscheinlich eine Version davon.
Weitere Details zu diesen Algorithmen finden Sie auf Wikipedia .
MüllcontainerDoofus
Brandon Enright
Rajesh D
N. Jungfrau
Rajesh D
N. Jungfrau
MüllcontainerDoofus
Shahbaz
Rajesh D
Shahbaz