Posts Tagged java

Sound in Java

Here’s a simple java program that should generate A440.

tonegenerator.java

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

public class tonegenerator{
    public static void main (String args[]){
	float sampleRate = 44100;
	int sampleSizeInBits = 8;
	int channels = 1;
	boolean signed = true;
	boolean bigEndian = true;
	int offset = 0;
	int bufferSize = 44100*1;
	byte[] data = new byte[bufferSize];
	byte ci = 0;
	for (int ni = 0; ni < bufferSize; ni ++)
		   data[ni] = (byte)(127*Math.sin(2*Math.PI*ni*440/44100));
	try{
	    Clip clip = AudioSystem.getClip();
	    clip.open(new AudioFormat(sampleRate,
				  sampleSizeInBits,
					    channels,
					    signed,
				 bigEndian), data, offset, bufferSize );
		clip.start( );
	}
	catch(Exception e){
	}
    }
}

No Comments