/*
 * 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
        double 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++) {
		double amplitude;
		amplitude = 0;		// change this
		samples[i] = (short) (volumeLevel*amplitude);     // all-important (cast)
        }
        WavReader.writeWav(samples, samplerate, outfile);
    }


}
