<?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[Kann man mit C++ eine Tonleiter ausgeben?]]></title><description><![CDATA[<p>Kann man mit C++ eine Tonleiter ausgeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/152739/kann-man-mit-c-eine-tonleiter-ausgeben</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 02:50:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/152739.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 09 Jul 2006 12:51:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kann man mit C++ eine Tonleiter ausgeben? on Sun, 09 Jul 2006 12:51:10 GMT]]></title><description><![CDATA[<p>Kann man mit C++ eine Tonleiter ausgeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1094402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1094402</guid><dc:creator><![CDATA[happig_pappig]]></dc:creator><pubDate>Sun, 09 Jul 2006 12:51:10 GMT</pubDate></item><item><title><![CDATA[Reply to Kann man mit C++ eine Tonleiter ausgeben? on Sun, 09 Jul 2006 13:05:17 GMT]]></title><description><![CDATA[<p>Ja, das ist unter Einbindung einer Bibliothek, die Sounds ausgibt möglich. Halbtöne liegen jeweils um den Faktor 2 ^ 1/12 auseinander, unter Windows erfüllt dies folgender Soourcecode:</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt; //Beep(...) ab Win NT, es gibt auch ein Beep98
#include &lt;cmath&gt; //pow
#include &lt;iostream&gt; // cout, endl
#include &lt;conio.h&gt; // getch

int main()
{
  for(int i=1; i&lt;20; ++i)
  {  
    static double j = 440.0; //Kammerton a
    std::cout &lt;&lt; j &lt;&lt; &quot; Hz&quot; &lt;&lt; std::endl; 
    j *= pow(2.0,1.0/12.0);      
    Beep(j,200);
  }
  getch();
}
</code></pre>
<p>Für eine Tonleiter musst Du eben je nach Dur oder Moll Halbtöne auslassen und die Basis-Frequenz auswählbar machen.</p>
<p>Hiermit könnt ihr einen Hörtest machen:</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;cmath&gt;
#include &lt;iostream&gt;
#include &lt;conio.h&gt;

int main()
{
  for(int i=0; i&lt;=80; ++i)
  {  
    static double j = 1000.0;
    std::cout &lt;&lt; j &lt;&lt; &quot; Hz&quot; &lt;&lt; std::endl; 
    Beep(j,500);
    //j *= pow(2.0,1.0/12.0);      
    j += 200;
  }
  getch();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1094407</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1094407</guid><dc:creator><![CDATA[Erhard Henkes]]></dc:creator><pubDate>Sun, 09 Jul 2006 13:05:17 GMT</pubDate></item><item><title><![CDATA[Reply to Kann man mit C++ eine Tonleiter ausgeben? on Sun, 09 Jul 2006 12:56:27 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<pre><code class="language-cpp">/* beep.c - for Linux and DOS/Windows */

#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#ifdef __DJGPP__
#include &lt;dos.h&gt;
#include &lt;pc.h&gt;
#endif
#define ESC 27

void beep (int frequency, int duration)
{
#ifdef __DJGPP__
  sound (frequency);
  delay (duration);
  nosound ();
#else  /* Linux */
  FILE *tty;
  if ( NULL == (tty = fopen (&quot;/dev/console&quot;, &quot;w&quot;)) ) {
    fprintf (stderr, &quot;Cannot write to /dev/console!\n&quot; );
    exit (1);
  }
  fprintf(tty, &quot;%c[10;%d]%c[11;%d]\a&quot;, ESC, frequency, ESC, duration);
#endif
}

int main (int argc, char *argv[])
{
  int frequency, duration;
  if (argc != 3) {
    fprintf (stderr, &quot;Usage: beep &lt;frequency&gt; &lt;duration&gt;\n&quot; );
    exit (1);
  }
  frequency = atoi (argv [1]);
  duration = atoi (argv [2]);
  beep (frequency, duration);
  return (0);
}

/* end of beep.c */
</code></pre>
<p>MFG winexec*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1094408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1094408</guid><dc:creator><![CDATA[winexec*]]></dc:creator><pubDate>Sun, 09 Jul 2006 12:56:27 GMT</pubDate></item><item><title><![CDATA[Reply to Kann man mit C++ eine Tonleiter ausgeben? on Sun, 09 Jul 2006 13:12:00 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>@Erhard Henkes:</p>
<p>Man unterteilt Moll nochmal in 3 Arten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>MFG winexec*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1094415</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1094415</guid><dc:creator><![CDATA[winexec*]]></dc:creator><pubDate>Sun, 09 Jul 2006 13:12:00 GMT</pubDate></item><item><title><![CDATA[Reply to Kann man mit C++ eine Tonleiter ausgeben? on Sun, 09 Jul 2006 17:07:43 GMT]]></title><description><![CDATA[<p>Ja, das ist richtig:<br />
<strong>Reines Moll</strong> (Halbtonschritte zwischen der zweiten und dritten sowie der fünften und sechsten Stufe)<br />
<strong>Harmonisches Moll</strong> (Halbtonschritte zwischen der zweiten und dritten sowie der fünften und sechsten Stufe, siebte Stufe um Halbton erhöht (Leitton), dadurch 3-Halbtonsschritt)<br />
<strong>Melodisches Moll</strong> (aufsteigend im hinteren Teil wie Dur, absteigend wie reines Moll, dadurch Leitton aber kein 3-Halbtonsschritt)</p>
<p>Darüber hinaus gibt es noch mehr ältere Tonarten. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1094549</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1094549</guid><dc:creator><![CDATA[Erhard Henkes]]></dc:creator><pubDate>Sun, 09 Jul 2006 17:07:43 GMT</pubDate></item><item><title><![CDATA[Reply to Kann man mit C++ eine Tonleiter ausgeben? on Sun, 09 Jul 2006 18:13:33 GMT]]></title><description><![CDATA[<p>dorisch find ich toll..<br />
Aaalso der Kammerton a1 hat 440 Hz.<br />
Der Unterschied zwischen einem Ton und dem nächst höheren Halbtonschritt ist die zwölfte Wurzel aus zwei. Daraus ergibt sich übrigens, dass ein Oktavsprung von der Frequenz her immer genau das Doppelte ist.</p>
<p>Soooviel zur Theorie.. Leider klingt das sehr mechanisch. Die Akkorde sind etwas schief.</p>
<p>Ich würd mir die Frequenzen der 7 Oktaven in eine Liste oder Datei speichern und damit arbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1094592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1094592</guid><dc:creator><![CDATA[DocJunioR]]></dc:creator><pubDate>Sun, 09 Jul 2006 18:13:33 GMT</pubDate></item><item><title><![CDATA[Reply to Kann man mit C++ eine Tonleiter ausgeben? on Sun, 09 Jul 2006 19:38:53 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>will nicht kleinlich sein, aber es gibt neben Dur, 3*moll und dorisch auch<br />
noch phrygisch, lydisch und mixolydisch.<br />
Darauf sollte kein PC-Beeper verzichten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>meint</p>
<p>so'n Hobbyprogrammierer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1094642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1094642</guid><dc:creator><![CDATA[Hobbyprogrammierer]]></dc:creator><pubDate>Sun, 09 Jul 2006 19:38:53 GMT</pubDate></item></channel></rss>