Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Mp3, Wav - Dateien langsamer abspielen (https://www.delphipraxis.net/20272-mp3-wav-dateien-langsamer-abspielen.html)

mumu 15. Apr 2004 12:30


Mp3, Wav - Dateien langsamer abspielen
 
weiß jemand wie ich Musik Dateien langsamer abspielen kann?

Sammy 16. Apr 2004 21:56

Re: Mp3, Wav - Dateien langsamer abspielen
 
Also außer mit einem Programm weiß ich nicht.
Aber als Programm kann ich dir empfehle dir Audacity

Jörn 16. Apr 2004 22:46

Re: Mp3, Wav - Dateien langsamer abspielen
 
Kann man mit OpenAL durch rumspielen mit den Parametern wenn man eine .wav oder ähnliches lädt. Tutorials dazu auf www.noeska.com bzw die Übersetzung die bald auf http://micha.p2board.de/forum/ gepostet wird.

MfG

Gandalfus 17. Apr 2004 10:13

Re: Mp3, Wav - Dateien langsamer abspielen
 
oder mit der bass.dll

SirThornberry 17. Apr 2004 10:43

Re: Mp3, Wav - Dateien langsamer abspielen
 
das einfachste dürfte sein eine niedrigere Samplerate anzugeben als die datei wirklich hat

mumu 17. Apr 2004 12:45

Re: Mp3, Wav - Dateien langsamer abspielen
 
Liste der Anhänge anzeigen (Anzahl: 1)
ok, das mit der samplerate funktioniert ja schon mal nicht schlecht! danke schonmal

ich möchte aber jetzt, dass man noch versteht, was eine Person spricht. Es hört sich nachdem ich die Samplerate runterstell alles zu dumpf an. (siehe anhang: gutentag_andere_samplerate.wav)

ich hab jetzt das ganze schon mit einem programm gemacht, welches statt die samplerate zu verändern, die datei aufpumpt, also mit zusätzlichen daten füllt. dadurch hört sich die datei nicht zu dumpf an. (siehe anhang: gutentag_langsamer(umgewandelt).wav)

kann mir jemand sagen, welche daten das programm hinzufügt? möchte sowas nämlich nachprogrammieren!

zudem habe ich auch das orginal (gutentag_normal.wav) zum vergleich mit angehängt!

vielen dank schonmal! wäre spitze wenn einer mir das erklären könnte...

mumu 19. Apr 2004 13:07

Re: Mp3, Wav - Dateien langsamer abspielen
 
keiner ne idee??? bzw. einen tip?

Jörn 19. Apr 2004 14:34

Re: Mp3, Wav - Dateien langsamer abspielen
 
Das der Sound dann dumpf klingt ist klar, weil die Frequenz dann ja niedriger ist --> der Ton ist tiefer. Aber ich hab keine Ahnung wie das funktioniert wie du es gemacht hast. Ich weiss aber auch nicht wie eine Wavedatei aufgebaut ist.

The-X 19. Apr 2004 15:07

Re: Mp3, Wav - Dateien langsamer abspielen
 
Ich vermute mal, das wenn eine Wave-Datei in sog. Frames geteilt ist (SampleRate = Anzahl Frames) das dann jeder Frame z.B. doppelt gespielt wird wenn die Datei halb so schnell abgespielt wird ... dadurch werden die Frequenzen nicht verändert -> also hört sich das ganze auch nicht Dumpf an

dizzy 23. Apr 2004 02:09

Re: Mp3, Wav - Dateien langsamer abspielen
 
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 :mrgreen:. 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 :zwinker: ).


mfg,
dizzy (der auch Musiker ist :angle: )

The-X 23. Apr 2004 15:29

Re: Mp3, Wav - Dateien langsamer abspielen
 
Das mit den Abschnitten meinte ich doch
hab mich nur mit den Begriffen vertan, da mir grade ein riesiges MPEG-File durch den Kopf sauste :mrgreen:

aber im Prinzip ist es doch wie bei einem Video wenn du jeden Frame zweimal hintereinander zeigst, oder ?

dizzy 23. Apr 2004 15:56

Re: Mp3, Wav - Dateien langsamer abspielen
 
Jau, guter Vergleich! Bei einem Video sind quasi die Bildpixel die Samples, und ein Bild ist ein 1/25s langer Abschnitt aus dem Strom der Pixel, der als eine Einheit betrachtet wird. Wenn du nun also nur die Samplerate verringerst, so ist das vergleichbar mit einem Bild, dass du streckst.


mfg,
dizzy

mumu 23. Apr 2004 16:45

Re: Mp3, Wav - Dateien langsamer abspielen
 
danke!!! für alle Beiträge! Ich werd dann demnächst, wenn ich dazu komm, das ganze mal umsetzen und euch zeigen was dabei rauskommt. nochmal vielen dank für die spitzen Beiträge!!! :thuimb:

OregonGhost 23. Apr 2004 19:00

Re: Mp3, Wav - Dateien langsamer abspielen
 
Dazu kann ich vielleicht ein ganz klein wenig beisteuern...
Die SoundBlaster Audigy 2 zum Beispiel kann sowas per Hardware, und die benutzt so weit ich weiß keine Tricks - ich hab' dann einfach mal meinen Nachrichtentechnikdozenten gefragt, und der meinte, dass man sozusagen die Frequenzen mit demselben Faktor multipliziert, um den man sie langsamer abspielen möchte, und dann spielt man das ganze (was jetzt quasi höher wäre) einfach langsamer ab -> Frequenzen bleiben gleich.
Ich hab' zwar nicht mehr im Kopf wie das geht, aber wenn du willst, kann ich ihn nochmal fragen, ich sehe ihn Montag wieder.
Das Thema war damals Laplace-Transformationen bzw. das Heavyside-Kalkül und so, ich glaube, das hatte letztlich damit was zu tun. Problem ist halt, dass Laplace und Heavyside nicht so einfach auf diskrete und vor allem nicht-triviale Funktionen (wie Audiosignale (c; ) anzuwenden sind...

Nachtrag:
Vielleicht hilft dir die Seite http://www.dspdimension.com/html/timepitch.html weiter, da werden sowohl Time Shifting (das was du willst) als auch Pitch Shifting (das, was man bräuchte, wenn man es wie ich beschrieben habe machen wollte) ansatzweise erklärt (aber mit Links), eventuell blickste da ja durch...
Eine Googlesuche nach [google]"Short Time Fourier Transform"[/google] fördert einiges zu Tage, aber ohne ein wenig Wissen um Fourier und Konsorten (oder halt Laplace (c; ) ist das nicht so einfach...


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz