Zunächst mußt Du eine reine Binärdatei haben, dann kannst Du
aber praktisch jede beliebige Manipulation vornehmen. Die
Mathematik dazu ist aber nicht ganz trivial. Die bekanntesten
Methoden dazu dürften sein:
Nun, daran solls nicht scheitern, ich habe mal den Header rausgesucht:
00h-03h 4 Bytes String "RIFF"
04h-07h 4 Dateilänge
08h-0Bh 4 String "WAVE"
0Ch-0Fh 4 String "FMT "
10h-13h 4 Datenlänge
13h-15h 2 Format: 1=Mono; 2=Stereo
16h-17h 2 Anzahl der Kanäle
18h-1Bh 4 Samplerate in Hz
1Ch-1Fh 4 Anzahl Bytes je Sekunde
20h-21h 2 Bytes je Sample --\> 1=8Bit Mono
2=8Bit Stereo oder 16Bit Mono
4=16Bit Stereo
22h-23h 2 Bit je Sample
24h-27h 4 String "DATA"
28h-... ... An hier kommen die Daten
Ich hoffe, mit diesen Infos kann ich einige interessierte noch dazu bewegen, ein wenig mit den Sounddateien zu experimentieren.
- Digitale Filter. Damit lassen sich alle bekannten
Filterfunktionen mathematisch simulieren. Sie werden gerne in
Echtzeitanwendungen eingesetzt.
redest Du hier von Hardwarelösungen?
- Fourier-Transformation. Das Sample wird zunächst in den
Frequenzbereich transformiert, also in sein komplexes
Frequenzpektrum. Im Frequenzbereich lassen sich die einzelnen
Frequenzbereiche gut bearbeiten. Anschließend wird das
komplexe Spektrum wieder in eine reale Zeitfunktion
rücktransformiert.
Moment, da durchschießt es mich! Das ist doch auch ein Teil der mp3 Kompression, oder? Also ist es nicht so einfach möglich, eine Trägerfreguenz mit bekannter Hertzzahl einfach durch lgische Operationen mit meiner Wave-Datei zu verknüpfen?
Zu beiden Verfahren sollte es Unmengen an Literatur geben,
insbesondere im Zusammenhang mit der Programmierung von
Signalprozessoren.
Oder kennst Du auch gute Links (irgendwelche Universitäten, Fraunhofer, Working Papers im Netz,…
Das ist das Prinzip des Harmonizers. Das kann man natürlich
auch simulieren. Du legst die Daten in einem Ringpuffer von
z.B. 20 ms Länge ab, in den die Daten zyklisch reingeschrieben
werden. Aus diesem Puffer werden die Daten dann ebenfalls
zyklisch, jedoch mit einer anderen Abtastrate ausgelesen. Ggf.
muß anschließend die Abtastrate wieder auf den ursprünglichen
Wert zurückgerechnet werden. Kritisch ist noch der Moment,
wenn sich Lese- und Schreibpointer gegenseitig „überholen“.
Diese Unstetigkeitsstelle im Lesesignal macht sich durch einen
Knack bemerkbar.
Nicht ganz so elegent aber vom Prinzip her hab’ ichs ja mal probiert. Ich les’ mal weiter, jetzt scheint es spannend zu werden
Das kann man ausbügeln, indem man den Puffer
nicht einfach überschreibt, sondern eine weiche Übergangszone
schafft, in der neue und alte Werte vermischt sind und der
Anteil der alten Werte langsam auf null sinkt.
Das hab’ ich jetzt nicht gleich zu 100% verstanden, aber ich lasse mir mal Deine Ausführungen durch den Kopf gehen, prinzipiell ist mir klar, was Du meinst . Ich danke Dir für Deine Tipps
reale dreidimensionale akustische Filterfunktionen simulieren
willst, z.B. das Klangverhalten eines Konzertsaales, kann es
beliebig kompliziert werden.
Herr im Himmel, jetzt wird es richtig professionel
Ich dank Dir für die sehr guten Anregungen, du kannst hier gern noch mehr darüber schreiben. Das sind genau die Denkanstöße, die ich gesucht habe.
Tschüß
Ralph / Ebenezer Scrooge