Hallo zusammen,
ich benötige eine Equalizer-Funktion, die ich "offline", also ohne den Sound wiederzugeben, an WAVE-Daten (also. z.B. einer WAVE-Datei bzw. in den Speicher eingelesenen WAVE-Daten) anwenden kann. Nach einigem Suchen im Internet und in der
DP stieß ich immer wieder auf die Bass.dll (
http://www.un4seen.com/). Allerdings scheint diese die EQ-Funktion ausschließlich bei der Wiedergabe zu unterstützen?! Verwendet werden dafür wohl
DirectX-Funktionen. (vgl. BASS-Beispiel "FxTest" -> BASS_ChannelSetFX(chan, BASS_FX_PARAMEQ, 1) )
Besteht evtl. auch die Möglichkeit diese Funktion der Bass.dll ohne Wiedergabe zu nutzen? Ich habe u.a. mit BASS_ChannelGetData experimentiert, allerdings liefert diese Funktion scheinbar nur Daten, wenn auch eine Wiedergabe läuft. (Mit den Daten selber konnte ich nicht viel anfangen, da die zurückgelieferten Werte (z.B. 267980326) sich für mich (derzeit) in keinen Zusammenhang mit einer 16 Bit Wave Datei (Range: -32767 bis 32768) bringen lassen.)
Hintergrund: Ich möchte jeweils einen bestimmten Teil einer WAVE-Datei (z.B. 100 Samples / 2x 200 Bytes) einlesen, mit dem Equalizer bearbeiten und in einer neuen Datei abspeichern. Anschließend mit dem nächsten Teil (also z.B. den nächsten 100 Samples) fortfahren, allerdings ggf. mit anderen EQ-Einstellungen.
Hat jemand eine Idee, wie ich mit der Bass.dll [
oder gerne auch anders] einen Parametric Equalizer verwirklichen kann, mit dem ich eine bestehende WAVE-Datei (bzw. Teile davon) entsprechend verändern und abspeichern kann?
Hilfreich wäre bereits, wenn jemand weiß, wie man mit der Bass.dll Daten verändern kann, ohne sie wiederzugeben, bzw. direkt die
DirectX-EQ-Funktionen ohne Wiedergabe nutzen kann.
Vielen Dank schon mal!
Grüsse
...Doc