// PCM 8000 KHz, 8 bits, 1 channel (mono), unsigned, little endian AudioFormat format = new AudioFormat(8000, 8, 1, false, false); // Create a 20 seconds buffer int playTime = 20; int bufferSize = format.sampleRate * (format.bitsPerSample / 8) * playTime; ByteArrayOutputStream bos = new ByteArrayOutputStream(bufferSize); // Create the WAV file AudioFormatWriter writer = new PCMWavWriter(); writer.initialize(bos, format, format.sampleRate, bufferSize); writer.writeHeader(); // Get/Generate audio buffer with corresponding size. outbuf = generator.generate(bufferSize); writer.writeAudioData(outbuf, 0, outBuf.length); // Now play audio. ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray()); Player player = Manager.createPlayer(bis, "audio/x-wav"); player.start();