/*
 * This program generates a sine-wave output file, 16-bit mono
 * This is the SKELETON; the audio data generated is all zeroes!
 * A few musical-note frequencies, to the nearest integer:
	C	523
	B	494
	A	440
	G	392
	F	349
	E	330
	D	294
	C	262
	B	247
	A	220

 * Usage: oscillator
 */

import java.lang.*;
import java.io.*;
import java.lang.Math.*;
import javax.sound.sampled.*;

class oscillator {

    public static void main(String[] args) {



        int duration = 3000;    // in milliseconds
        int frequency = 442;    // in Hertz
        int samplerate = 8000;
        int volumeLevel = 16000;

        if (args.length != 1) {
                System.err.println("usage: oscillator output.wav");
                return;
        }

        String filename = args[0];
        // check that it has .wav extension
        if (! (filename.toLowerCase().endsWith(".wav"))) {
                System.err.println("must use a .wav file!");
                return;
        }
        File outfile = new File(filename);

        int numSamples = (duration*samplerate)/1000;

        short [] samples = new short[numSamples];

        // now fill in samples[i] with values
        int i;
        for (i=0; i< numSamples; i++) samples[i] = 0;
        
        WavReader.writeWav(samples, samplerate, outfile);
    }


}
