Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Wave Dateien in eine mixen (https://www.delphipraxis.net/89570-wave-dateien-eine-mixen.html)

Boz 2. Apr 2007 16:34


Wave Dateien in eine mixen
 
Erstmal hallo allerseits!

Ist echt ein nettes Forum hier :thumb:

Ich bin gerade dabei Delphi zu lernen. Bin dabei auf WAV-Dateien gestoßen und hätte gerne gewusst, wie man eigentlich mehrere WAV-Dateien zusammenmixt d.h. das output file hat dann die Länge des größten source-files. Also nicht ein Aneinanderreihen der einzelnen files zu einem. Weiss vielleicht einer wie man das machen könnte? Ich gehe mal von normalen Stereo-Waves in 44.1 kHz und 16 Bit aus.
Da ich in Delphi ja noch nicht so fit bin, wäre es echt nett, wenn ihr auch die Deklarationen und was da so dazugehört mit angeben könntet. :gruebel: Das würde mir sehr weiterhelfen! :coder2:

Vielen Dank!

Grüße,
Boz :hi:

mkinzler 2. Apr 2007 16:36

Re: Wave Dateien in eine mixen
 
http://lbsneu.schule-bw.de/unterrich...audiomixer.htm
http://www.vclcomponents.com/catalog/Mixer

Boz 2. Apr 2007 17:47

Re: Wave Dateien in eine mixen
 
Oh danke!
Sehe ich das richtig dass ich TAudioMixer benutzen muss? Ist das nur zum recorden direkt von der Soundkarte oder kann ich damit auch z.b. zwei Audiodateien zusammen mixen und in eine schreiben?

Danke!
Grüße,

Boz

Boz 3. Apr 2007 13:32

Re: Wave Dateien in eine mixen
 
Moin, konnte mit den Links leider nichts anfangen. Kann mir einer einen Quellcode geben, welcher zwei Wave Dateien in eine mixt (nicht aneinander reiht, sondern ineinander mixt) ?

Danke!

Wishmaster 5. Apr 2007 04:18

Re: Wave Dateien in eine mixen
 
Hi

Es ist nicht so einfach wie du denkst!

Versuche es mal mit der Bass.dll/Fmod.dll, wen du dich einwenig einarbeitest kannst du alles machen was du willst. Zbw. Programme wie CD-Ripper, Audio Recorder, Net-Radio oder wie in deinem fall en Mixer. Ich Empfehle dir die Bass.dll + Bassmix.dll + Bassenc.dll und al deine Problehme sind gelöst.

http://www.un4seen.com/
http://www.fmod.org/

Flocke 5. Apr 2007 08:24

Re: Wave Dateien in eine mixen
 
Zitat:

Zitat von Boz
Ich gehe mal von normalen Stereo-Waves in 44.1 kHz und 16 Bit aus.

Dann ist es eigentlich doch recht einfach.


1. WAV-Dateien liegen im sog. RIFF-Format vor - Daniel hat in diesem Beitrag einen RIFF-Parser vorgestellt. Damit kannst du die zusätzlichen Informationen von den eigentlichen Sample-Daten trennen.

2. Mit den reinen Samples (Sample = Messwert) kannst du mehr oder weniger einfach rechnen: die Sample-Werte sind vorzeichenbehaftete 16-Bit Integer-Werte (SmallInt). Wenn du dir einmal die normale Anzeige in Audio-Programmen vorstellst (z.B. Wellenform: /\_/\_/\_/), dann entsprechen die Werte der Samples der Y-Koordinate dieser Darstellung. Die Werte für Links und Rechts stehen immer abwechselnd in den Daten.

Das heißt
a) du kannst die Lautstärke verändern, indem du alle Sample-Werte mit einem festen Wert multiplizierst;
b) du kannst zwei Aufnahmen mischen (= überlagern), indem du die entsprechenden Sample-Werte addierst.

Beim Rechnen solltest du nur aufpassen, dass es nicht zu Überläufen kommt (Endwert >32767 bzw. <-32768), sonst verzerrt das Ganze und du bekommst sog. "Digital Distortion".


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 Uhr.

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