Hi
zuerst ein wenig Grundlagen zum Zustandekommen einer Audiodatei.
Nicht beleidigt sein, wenn ihr schon alles wisst, aber mir hilfts beim Antworten auch,
weil ich mich bei der Frage unten darauf beziehen kann.
---
a) Ein einzelner Ton besteht ja aus einer Sinusschwingung.
Lautstärke wird durch die Amplitude (Ausschlagshöhe) bestimmt,
Tonhöhe durch die Frequenz.
Zweites Bild ist also lauter und höher als Erstes.
b) Töne in der realen Welt sind so gut wie immer aus mehreren verschiedenen Sinusen zusammengemischt (math. einfach addiert). die dann zB. irgendsowas ergeben:
c) Wenn man die Ausschlagswerte in ein Array speichert (zB. 44100 Werte pro Sekunde, jeder davon ein float mit der dazugehörenden Genauigkeit) hat man rohe, unkomprimierte
PCM-Daten.
d) Das noch komprimiert und zusammen mit den 44100/32-Zahlen etc. abgespeichert
ergibt sowas wie MP3 und alle anderen verbreiteten Formate (nur Midi ist ein Fall für sich)
---
So, Frage: Wie weit wollt ihr zerlegen?
Bis zu b) gehts zB. mit der schon genannten
Bass-Library.
Die Daten bekommt man dann eben als Array von floats
(oder welche Auflösung es eben hatte) (Bass kann es auch umspeichern).
Andere Libs gibts sicher auch noch...
(ffmpeg ist
etwas überdimensioniert für sowas, andere müsste ich auch erst suchen)
Wenn es wiklich bis zu a) zurückgehen soll, um sagen zu können:
"Der Sinus mit 600Hz ist von-bis und von-bis beteiligt":
Das wird dann mathematisch etwas komplexer
Stichwort:
http://de.wikipedia.org/wiki/Fourier-Analysis
Hab (noch) nicht geschaut, was es da an Fertigmöglichkeiten gibt.
Gruß