Sine wave: Difference between revisions

Content added Content deleted
(→‎{{header|Phix}}: add Python)
Line 15: Line 15:
=={{header|BASIC256}}==
=={{header|BASIC256}}==
<lang BASIC256>sound 440, 5000</lang>
<lang BASIC256>sound 440, 5000</lang>

=={{header|C}}==
{{trans|Python}}
<lang c>#include <stdio.h>
#include <math.h>
#include <stdlib.h>

// AU header (CD-quality audio)
int header[] = {46, 115, 110, 100, 0, 0, 0, 24,
255, 255, 255, 255, 0, 0, 0, 3,
0, 0, 172, 68, 0, 0, 0, 1};

int main(int argc, char *argv[]){
float freq, dur;
long i, v;

if (argc < 2) {
printf("Usage:\n");
printf(" csine <frequency> <duration>\n");
exit(1);
}
freq = atof(argv[1]);
dur = atof(argv[2]);
for (i = 0; i < 24; i++)
putchar(header[i]);
for (i = 0; i < dur * 44100; i++) {
v = (long) round(32000. * sin(2. * M_PI * freq * i / 44100.));
v = v % 65536;
putchar(v >> 8);
putchar(v % 256);
}
}</lang>
Test:
<pre>
gcc -o csine csine.c -lm
./csine 440 5 | play - # Now either pipe output into SoX to play
./csine 440 5 > test.au # or redirect output to a file.
</pre>


=={{header|Delphi}}==
=={{header|Delphi}}==