Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Mp3, Wav - Dateien langsamer abspielen

  Alt 23. Apr 2004, 02:09
Ne, nicht ganz. Die Samplerate gibt an, wie viele Bytes (bei 8-Bit-Waves, sonst bei 16-Bit Words) pro Sekunde "fließen" sollen. Man kann sich ein solches Sample etwa wie einen Bildschirmpixel vorstellen! Je höher die Samplerate, desto höhere Frequenzen sind möglich. Zwar ist bei ca. 20.000 Hz das menschliche Ohr am Ende, und von daher sollten schon 22kHz ausreichen. Aber das Spektrum darüber (Obertonspektrum), auch dieses, welches man schon nicht mehr hört, ist für einen ungetrübten Höreindruck wichtig. Daher kommen so manche Soundkarten jetzt mit einer Samplerate von 192kHz daher (was aber schon ziemlich Quatsch ist - ist nur sinnvoll, wenn man was aufnehmen will, was man nacher stark verlangsamen möchte (mit Tonvertiefung!))

Was füllt das andere Programm nun? Es wird jetzt nicht nur jedes Sample doppelt abgespielt (wäre gleich einer Halbierung der Samplerate), sondern das Wave wird in Abschnitte unterteilt, die dann wiederholt werden. Im einfachsten Fall sind diese Abschnitte alle gleich lang - was aber u.U. zu einem komisch klingenden Ergebnis führen kann.
Aufwändiger und schöner ist es, wenn man die Stellen findet, an denen in kurzer Zeit ein starker Frequenzsprung passiert, und die Bereiche auslässt. Also bei einem Laut wie "appa" würde man mit der erstem Methode so etwas wie "apappapa" bekommen. Aber wenn man jetzt den Teil im Wave, der das "pp" darstellt NICHT mit verdoppelt, sondern nur den Bereich drum herum, so könnte etwas wie "aappaa" dabei raus kommen. Aber allein diese Analyse ist schon nicht mehr trivial.
Dann könnte man weiter gehen, und darauf achten, dass in einem Wiederholungsblock nicht zu große Dynamik- und Frequenzunterschiede auftauchen. Sonst klingt auch ein "aua" nicht wie "aauuaa", sondern es würde "auaua" ergeben. Tja, jetzt wirds wirklich interessant. Denn bei dem Wort "aua" ändert sich die Grundfrequenz ja kaum... Aber trotzdem ändert sich der Laut von "a" nach "u" und zurück. Um diesen Unterschied zu bemerken, könnte man jetzt anfangen die menschliche Stimmendynamik zu analysieren . Aber das machen auch größrere Firmen schon nicht mehr so nebenbei! Es gibt einen solchen Filter auch bei Programmen von Steinberg - und a) haben die Jungs von sowas mal richtig Ahnung, und b) verdienen die damit auch nicht schlecht Kohle. Was sagt das jetzt? ...Es ist mit einem teuflischen Aufwand, und einem großen theoretischen Unterbau von Dynamik, Wellenverhalten, Algebra etc.pp. verbunden eine solche Funktion SO zu basteln, dass die Ergebnisse halbwegs brauch bar sind. Weiter verfeinern könnte man mit leichtem "Crossfaden" am Anfang und Ende jedes Blockes, um die Übergänge "weicher" zu machen. Dabei könnten aber auch schon wieder Akzente verloren gehen...

Was man also nocht gut selber hinbekommen könnte wäre es zu sagen, man nimmt sich Blöcke von 1-10ms Länge, und doppelt diese (die erste Variante oben). Das kann zuweilen gut gehen, und dein Beispielfile scheint mit einem nicht viel komplexeren Verfahren gemacht zu sein. Von daher wäre das ein Ansatz.
Aber bessere Ergebnisse als in der Testdatei bekommt man fürchte ich nur mit ungleich mehr an Aufwand, der für eine einzelne Person, die das als Hobby betreibt, wohl viel zu hoch wäre (weiss ja net, wie belastbar du bist ).


mfg,
dizzy (der auch Musiker ist )
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat