<?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[Wave datei einlesen in C++]]></title><description><![CDATA[<p>Hallo, hat jemand ein C-Programm um eine Wav-Datei einzulesen. Ich habe ein Programm geschrieben, in dem ich AWGN (weißes Rauschen) erzeugt habe, dieses möchte ich jetzt dem Audiosignal additiv hinzufügen. Daher benötige ich ein kleines C-Prog um eine Wavedatei einzulesen und die Daten in einem Array (double) und die Abtastfrequenz in einer Variable (int) zu Speichern. Kann mir da vlt. jemand helfen. Hab schon überall geschaut, aber im Netz und in Büchern werde ih nicht so recht fündig!<br />
Danke</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;malloc.h&gt;

double* mersene_twister(double pointer[],int len);

int main(void)
{
	double *u;
	double *v;
	double *r;

	int i,ii;
	int len;
	int lenr=50;				//Zur Laufzeit zu ermitteln!							

	len=2*lenr;

	u=(double*)malloc(len*sizeof(double));
	if(u==NULL)
	{
		printf(&quot;Es konnte kein Speicher fuer u reserviert werden!&quot;);
		return(0);
	}

	v=(double*)malloc(len*sizeof(double));
	if(v==NULL)
	{
		printf(&quot;Es konnte kein Speicher fuer v reserviert werden!&quot;);
		return(0);
	}

	r=(double*)malloc(lenr*sizeof(double));
	if(r==NULL)
	{
		printf(&quot;Es konnte kein Speicher fuer r reserviert werden!&quot;);
		return(0);
	}

	u=mersene_twister(u,len);
	v=mersene_twister(v,len);

	for (i=0,ii=0;i&lt;len,ii&lt;lenr;i++,ii++)
	{
		r[ii]=(u[i]*u[i])+(v[i]*v[i]);
		if(r[ii]&gt;1){ii--;}
	}

	for (ii=0;ii&lt;lenr;ii++)
	{
		printf(&quot;\n%d %lf&quot;,ii,r[ii]);
	}

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/254115/wave-datei-einlesen-in-c</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 03:38:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/254115.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 11 Nov 2009 19:06:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wave datei einlesen in C++ on Wed, 11 Nov 2009 19:06:48 GMT]]></title><description><![CDATA[<p>Hallo, hat jemand ein C-Programm um eine Wav-Datei einzulesen. Ich habe ein Programm geschrieben, in dem ich AWGN (weißes Rauschen) erzeugt habe, dieses möchte ich jetzt dem Audiosignal additiv hinzufügen. Daher benötige ich ein kleines C-Prog um eine Wavedatei einzulesen und die Daten in einem Array (double) und die Abtastfrequenz in einer Variable (int) zu Speichern. Kann mir da vlt. jemand helfen. Hab schon überall geschaut, aber im Netz und in Büchern werde ih nicht so recht fündig!<br />
Danke</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;malloc.h&gt;

double* mersene_twister(double pointer[],int len);

int main(void)
{
	double *u;
	double *v;
	double *r;

	int i,ii;
	int len;
	int lenr=50;				//Zur Laufzeit zu ermitteln!							

	len=2*lenr;

	u=(double*)malloc(len*sizeof(double));
	if(u==NULL)
	{
		printf(&quot;Es konnte kein Speicher fuer u reserviert werden!&quot;);
		return(0);
	}

	v=(double*)malloc(len*sizeof(double));
	if(v==NULL)
	{
		printf(&quot;Es konnte kein Speicher fuer v reserviert werden!&quot;);
		return(0);
	}

	r=(double*)malloc(lenr*sizeof(double));
	if(r==NULL)
	{
		printf(&quot;Es konnte kein Speicher fuer r reserviert werden!&quot;);
		return(0);
	}

	u=mersene_twister(u,len);
	v=mersene_twister(v,len);

	for (i=0,ii=0;i&lt;len,ii&lt;lenr;i++,ii++)
	{
		r[ii]=(u[i]*u[i])+(v[i]*v[i]);
		if(r[ii]&gt;1){ii--;}
	}

	for (ii=0;ii&lt;lenr;ii++)
	{
		printf(&quot;\n%d %lf&quot;,ii,r[ii]);
	}

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1806686</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1806686</guid><dc:creator><![CDATA[Freak!]]></dc:creator><pubDate>Wed, 11 Nov 2009 19:06:48 GMT</pubDate></item><item><title><![CDATA[Reply to Wave datei einlesen in C++ on Wed, 11 Nov 2009 19:55:41 GMT]]></title><description><![CDATA[<p>Wenn du an der genauen Spezifikation interessiert bist (was du offensichtlich bist, wenn du das Format selbst einlesen willst), dann kannst du mal hier starten:<br />
<a href="http://de.wikipedia.org/wiki/RIFF_WAVE" rel="nofollow">http://de.wikipedia.org/wiki/RIFF_WAVE</a></p>
<p>Weiter unten findest du dann auch noch die genaue Spezifikation (als Link).</p>
<p>Du könntest auch eine Library verwenden, die das für dich macht.</p>
<p>So auf die schnelle habe ich das hier gefunden:<br />
<a href="http://www.mega-nerd.com/libsndfile/" rel="nofollow">http://www.mega-nerd.com/libsndfile/</a></p>
<p>Über Qualität und Benutzbarkeit kann ich aber nichts sagen. Vielleicht musst du eine andere suchen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1806708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1806708</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 11 Nov 2009 19:55:41 GMT</pubDate></item><item><title><![CDATA[Reply to Wave datei einlesen in C++ on Wed, 11 Nov 2009 19:57:13 GMT]]></title><description><![CDATA[<p>Das zählt dann wohl zu den speziellen Fragen, die du, wie ich in deinem anderen Thread angemerkt habe, besser im C Unterforum stellen solltest. Ansonsten kann ich dir nur den (wahrscheinlich ziemlich nutzlosen) Rat geben, dass C von Haus aus das wave Format nicht kennt. Daher kannst du:</p>
<p>a) Das wave Format irgendwo nachlesen und deine eigene Importfunktion schreiben (nicht empfohlen)<br />
b) Jemanden suchen, der a) schon gemacht hat und eine passende C Bibliothek veröffentlicht hat (empfohlen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1806710</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1806710</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 11 Nov 2009 19:57:13 GMT</pubDate></item></channel></rss>