diff options
Diffstat (limited to 'vorbis/lib/tone.c')
-rw-r--r-- | vorbis/lib/tone.c | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/vorbis/lib/tone.c b/vorbis/lib/tone.c deleted file mode 100644 index 5b8b020..0000000 --- a/vorbis/lib/tone.c +++ /dev/null @@ -1,54 +0,0 @@ -#include <stdlib.h> -#include <stdio.h> -#include <math.h> -#include <string.h> - -void usage(){ - fprintf(stderr,"tone <frequency_Hz>,[<amplitude>] [<frequency_Hz>,[<amplitude>]...]\n"); - exit(1); -} - -int main (int argc,char *argv[]){ - int i,j; - double *f; - double *amp; - - if(argc<2)usage(); - - f=alloca(sizeof(*f)*(argc-1)); - amp=alloca(sizeof(*amp)*(argc-1)); - - i=0; - while(argv[i+1]){ - char *pos=strchr(argv[i+1],','); - - f[i]=atof(argv[i+1]); - if(pos) - amp[i]=atof(pos+1)*32767.f; - else - amp[i]=32767.f; - - fprintf(stderr,"%g Hz, %g amp\n",f[i],amp[i]); - - i++; - } - - for(i=0;i<44100*10;i++){ - float val=0; - int ival; - for(j=0;j<argc-1;j++) - val+=amp[j]*sin(i/44100.f*f[j]*2*M_PI); - ival=rint(val); - - if(ival>32767.f)ival=32767.f; - if(ival<-32768.f)ival=-32768.f; - - fprintf(stdout,"%c%c%c%c", - (char)(ival&0xff), - (char)((ival>>8)&0xff), - (char)(ival&0xff), - (char)((ival>>8)&0xff)); - } - return(0); -} - |