<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Abmischen zweier WAV Samples?]]></title><description><![CDATA[<p>Hallo,</p>
<p>gibt es eine API Funktion, oder eben eine andere einfache Möglichkeit, zwei WAV Samples mit einander zu mischen?</p>
<p>Ich empfange per Sockets Samples, welche ich mit meinen eigen gesprochenen mischen will um sie demnach weiter zu senden (zum Mediaserver)</p>
<p>Danke im vorraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/190322/abmischen-zweier-wav-samples</link><generator>RSS for Node</generator><lastBuildDate>Wed, 01 Jul 2026 23:57:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/190322.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 21 Aug 2007 14:52:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Abmischen zweier WAV Samples? on Tue, 21 Aug 2007 14:52:52 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>gibt es eine API Funktion, oder eben eine andere einfache Möglichkeit, zwei WAV Samples mit einander zu mischen?</p>
<p>Ich empfange per Sockets Samples, welche ich mit meinen eigen gesprochenen mischen will um sie demnach weiter zu senden (zum Mediaserver)</p>
<p>Danke im vorraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349136</guid><dc:creator><![CDATA[SoundMix]]></dc:creator><pubDate>Tue, 21 Aug 2007 14:52:52 GMT</pubDate></item><item><title><![CDATA[Reply to Abmischen zweier WAV Samples? on Tue, 21 Aug 2007 20:10:20 GMT]]></title><description><![CDATA[<p>Was verstehst Du unter 'mischen'? Meinst Du einfach übereinander legen?<br />
Das geht mit der WinAPI (genauer mit MCI) (IMHO) nicht. DirectX kann das vielleicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349318</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Tue, 21 Aug 2007 20:10:20 GMT</pubDate></item><item><title><![CDATA[Reply to Abmischen zweier WAV Samples? on Tue, 21 Aug 2007 20:39:22 GMT]]></title><description><![CDATA[<p>Sowas wie der Windows eigene &quot;Stereo Mix&quot;, also das eben 2 Quellen zu einer zusammenkommen, so als ob ich über Skype was Empfange (Waveout) und mein Mic mit beigemischt ist, so kann ich den ausgang ja auch so Übertragen, nur ich muß dieses Mischen intern machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349337</guid><dc:creator><![CDATA[SoundMix]]></dc:creator><pubDate>Tue, 21 Aug 2007 20:39:22 GMT</pubDate></item><item><title><![CDATA[Reply to Abmischen zweier WAV Samples? on Tue, 21 Aug 2007 20:41:58 GMT]]></title><description><![CDATA[<p>Oder halt eine eigene Routine, aka SBufA[1] + SBufB[1] / 2, oder so, also selbst zusammenfügen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349338</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349338</guid><dc:creator><![CDATA[SoundMix]]></dc:creator><pubDate>Tue, 21 Aug 2007 20:41:58 GMT</pubDate></item><item><title><![CDATA[Reply to Abmischen zweier WAV Samples? on Tue, 21 Aug 2007 21:58:33 GMT]]></title><description><![CDATA[<p>Sofern die Samplerate und Frequenz dieselbe ist kann man in der Tat ganz simpel die Samplewerte der beiden einfach addieren. Das halbieren bringt dabei glaube ich nicht sonderlich viel.</p>
<p>(Ich würde vermuten das DirectShow da schon was nettes bietet.<br />
Schau dir mal z.B. via graphedit.exe an (liegt im Windows SDK rum) ob es da schon nette DirectShow-Filter gibt.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349374</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349374</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Tue, 21 Aug 2007 21:58:33 GMT</pubDate></item><item><title><![CDATA[Reply to Abmischen zweier WAV Samples? on Tue, 21 Aug 2007 22:45:58 GMT]]></title><description><![CDATA[<p>Das Halbieren verhindert dass man Samplewerte clippen muss.<br />
Wenn das kein Problem sein sollte kann man darauf verzichten, sollte dann aber &quot;manuell&quot; Clippen, da man sonst statt Clipping einen Überlauf bekommt was dann WIRKLICH schrecklich klingt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349397</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349397</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 21 Aug 2007 22:45:58 GMT</pubDate></item><item><title><![CDATA[Reply to Abmischen zweier WAV Samples? on Wed, 22 Aug 2007 00:27:12 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/41">@geeky</a><br />
hab ich schon, das ganze beruht auf DirektX-DirectShow, gibts nichts zu und ich wollte nen eigenen Filter schreiben, was aber tulus ist, da ich dann gleich fest impletieren kann, da ich eh mit dem Samplegrabber die daten bekomme, es geht nicht nur um Ton auch um Bild, wird eine Producersoftware für Web-TV Live Events, mit Bild ist kein Thema, da mach ich faxen mit wo die Augen raus fallen, aber von Audio habe ich null ahnung.</p>
<p>Also dürfte es genügen wenn ich bei 16bit Samples die werte Addiere, und zur Lautstärke anpassung etwas clippe (absetzte) oder gar dividiere durch 2.<br />
Dazu muß ich 2 Chars (Bytes) erfassen, weiß einer wie bei einer Wave diese Bytes die folge haben, Big- oder Little Endian?</p>
<p>Wenn ich das jetzt so sehe, und es stimmt, so beschreiben 16Bit einen Rauschausschlag, welchen ich eben absetzten könnte prozentual, und auch so Mischen.</p>
<pre><code class="language-cpp">/* Pseudocode */
for (...... s+=2) {
char h = buf[s];
char l = buf[s+1];
short samp = (short)h &lt;&lt; 8;
samp = samp | (short)l;
char h2 = buf2[s];
char l2 = buf2[s+1];
short samp2 = (short)h2 &lt;&lt; 8;
samp2 = samp2 | (short)l2;
short sum = (samp + samp2) / 1.5; // clipp ohne check auf 0xFFFF is eh preview
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1349431</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349431</guid><dc:creator><![CDATA[SoundMix]]></dc:creator><pubDate>Wed, 22 Aug 2007 00:27:12 GMT</pubDate></item><item><title><![CDATA[Reply to Abmischen zweier WAV Samples? on Wed, 22 Aug 2007 07:34:49 GMT]]></title><description><![CDATA[<p>Du hast denke ich den Begriff &quot;clippen&quot; falsch verstanden.<br />
Clipping bedeutet dass du zu grosse/kleine Werte oben/unten abschneidest.<br />
Also z.B.</p>
<pre><code class="language-cpp">int sample = source1 + source2; // mischen
sample = min(max(sample, -32768), 32767); // signed 16 bit sample clippen
</code></pre>
<p>Wenn es eine proffessionelle Software werden soll würde ich evtl. für beide Quellen einen unterschiedlichen Multiplikator (&quot;Lautstärkeregler&quot;) vorsehen, am besten Fixkomma (schnell &amp; genau &amp; gut).</p>
<p>Ahja, .WAV Dateien haben normalerweise die gleiche &quot;endiannes&quot; wie Intel x86 CPUs, also Little Endian wenn ich mich nicht irre. Wenn das .WAV File mit &quot;RIFX&quot; statt &quot;RIFF&quot; anfängt ist es allerdings Big Endian, d.h. du musst alle Werte &quot;swappen&quot; (nicht nur die Samples, auch die Länge etc.)</p>
<p>Soundkarten für den PC liefern üblicherweise auch Little Endian. Im Normalfall kann man die Werte also einfach so verwenden.</p>
<p>Wie es mit anderen Formaten aussieht musst du selbst nachgucken.</p>
<blockquote>
<p>Wenn ich das jetzt so sehe, und es stimmt, so beschreiben 16Bit einen Rauschausschlag, welchen ich eben absetzten könnte prozentual, und auch so Mischen.</p>
</blockquote>
<p>Ich kenne mich schon etwas mit Audio-Programmierung aus, aber was du damit meinst (Rauschen? Absetzen? Von der Steuer?) entgeht mir denke ich.</p>
<p>Falls du das meinst: Ein Samplewert bestimmt einfach gesagt die Spannung die am Ausgang der Soundkarte zu einem bestimmten Zeitpunkt anliegt. Die Sample-Frequenz bestimmt dabei wie schnell &quot;von einem Sample zum Nächsten&quot; weitergeschaltet wird. Die Lautstärke kann man dabei regeln indem man diese Werte (und dadurch die Spannung die erzeugt wird) durch einen bestimmten Wert dividiert, bzw. mit einem bestimmten Wert multipliziert. Eine Division durch 2 bewirkt dass das was dann vom Lautsprecher gespielt wird um 6dB leiser ist, eine Division durch 10 macht es um 20dB leiser etc.</p>
<p>Und Mischen erfolgt einfach durch Addition, da ist nix &quot;prozentuelles&quot; dabei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349438</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349438</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 22 Aug 2007 07:34:49 GMT</pubDate></item><item><title><![CDATA[Reply to Abmischen zweier WAV Samples? on Wed, 22 Aug 2007 07:06:15 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13960">@Hustbaer</a><br />
habs mit dem Clippen schon Begriffen, nur schlecht selbst wieder gegeben, und danke für deine Ausfürliche Info.<br />
Also ist das ganze doch einfach zu realisieren und ich brauch mir bei der Umsetzung keine Gedanken machen. Wie gesagt habe ich von Audio keine Ahnung, wichtig ist mir da auch nur, das ich den empfangenen MP3 Stream des &quot;Talkgast&quot; in Wave wandle, mein Capture des Mic in MP3 zum Gast sende und ebenfalls auf Wave ebene mische mit dem des Gast und als MP3 mit Video muxe und zum mediaserver sende. Und mit Lautstärkenanpassung kann ich das ganze auch noch versehen, Super.</p>
<p>Mit Absetzten meinte ich die Lautstärke durch einen Faktor, eben halt ein Fixkoma wert wie in meinem Pseudocode.<br />
Danke dir für die Info.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349498</guid><dc:creator><![CDATA[SoundMix]]></dc:creator><pubDate>Wed, 22 Aug 2007 07:06:15 GMT</pubDate></item><item><title><![CDATA[Reply to Abmischen zweier WAV Samples? on Wed, 22 Aug 2007 08:36:22 GMT]]></title><description><![CDATA[<p>(a+b)/2 ist ziemlich falsch beim Audio mischen. Sollte man nicht tun.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349583</guid><dc:creator><![CDATA[*******]]></dc:creator><pubDate>Wed, 22 Aug 2007 08:36:22 GMT</pubDate></item><item><title><![CDATA[Reply to Abmischen zweier WAV Samples? on Wed, 22 Aug 2007 10:55:57 GMT]]></title><description><![CDATA[<p>******* schrieb:</p>
<blockquote>
<p>(a+b)/2 ist ziemlich falsch beim Audio mischen. Sollte man nicht tun.</p>
</blockquote>
<p>Was für ein tolles Kommentar <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349691</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 22 Aug 2007 10:55:57 GMT</pubDate></item><item><title><![CDATA[Reply to Abmischen zweier WAV Samples? on Wed, 22 Aug 2007 11:53:49 GMT]]></title><description><![CDATA[<p>Zu dem durch 2 teilen gabs mal irgendwann nen Thread im &quot;Rund um die Programmierung&quot; - Ich find ihn allerdings nicht mehr wieder. Wenn ich wenigstens noch den Inhalt wiedergeben könnte ;/</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349731</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Wed, 22 Aug 2007 11:53:49 GMT</pubDate></item><item><title><![CDATA[Reply to Abmischen zweier WAV Samples? on Wed, 22 Aug 2007 12:16:03 GMT]]></title><description><![CDATA[<p>geeky schrieb:</p>
<blockquote>
<p>Zu dem durch 2 teilen gabs mal irgendwann nen Thread im &quot;Rund um die Programmierung&quot; - Ich find ihn allerdings nicht mehr wieder. Wenn ich wenigstens noch den Inhalt wiedergeben könnte ;/</p>
</blockquote>
<p>Ich hatte <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-159671-and-highlight-is-.html" rel="nofollow">hier</a> mal was zum Wave-Verformen gefragt, vielleicht meintest du das. Ist jedenfalls auch Audio-Gewurschtel, im Endeffekt bin ich aber nicht weitergekommen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":-/"
      alt="😕"
    /></p>
<p>edit: Das Suchen von selber erstellten Threads ist ja ziemlich ätzend... Wer dafür ist, dass das einfacher gehen soll, einfach <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-188761.html" rel="nofollow">hier</a> melden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349741</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349741</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Wed, 22 Aug 2007 12:16:03 GMT</pubDate></item><item><title><![CDATA[Reply to Abmischen zweier WAV Samples? on Wed, 22 Aug 2007 17:46:59 GMT]]></title><description><![CDATA[<p>Ich habs bis jetzt nicht getestet, aber da es sich um reine Voices handeln wird in der Praxis, wird die Addition Methode mit vorstehenden Pegel Angleich, bzw. Lautstärke, vollkommen ausreichen, da vertraue ich auf die Ausagen hier.</p>
<p>Was mich aber wundert, bzw. ganz weit tief in meinem Kopf schlumert, ist die Meinung das es eine WinAPI Methode gibt, event. war es auch VfW, aber ich habe die MSDN hoch und runter gewälzt, nichts.<br />
Kann aber auch sein das es nur darum ging, zwei Sounds gleichzeitig zu spielen, ist halt Jahre her.</p>
<p>Vieleicht schreib ich mal Testweise ein DS Filter dazu und teste das mit GraphEdit, mal sehen wie ich die Zeit finde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349942</guid><dc:creator><![CDATA[SoundMix]]></dc:creator><pubDate>Wed, 22 Aug 2007 17:46:59 GMT</pubDate></item></channel></rss>