Playing waveforms

Purpose.  Plays waveforms (sine, square, ...).

Usage. 

java OscillatorPlayer [ -t waveformtype ] [ -f signalfrequency ] [ -r samplerate ] [ -a amplitude ]

Parameters. 

-t waveformtype

the waveform to play. One of sine, sqaure, triangle and sawtooth. Default: sine.

-f signalfrequency

the frequency of the signal to create. Default: 1000 Hz.

-r samplerate

the sample rate to use. Default: 44.1 kHz.

-a amplitude

the amplitude of the generated signal. May range from 0.0 to 1.0. 1.0 means a full-scale wave. Default: 0.7.

Bugs, limitations.  Full-scale waves can lead to clipping. It is currently not known which component is responsible for this.

Source code.  OscillatorPlayer.java, Oscillator.java, gnu.getopt.Getopt