sampled
Class SineGenerator

java.lang.Object
  extended by sampled.Synthesizer
      extended by sampled.SineGenerator
All Implemented Interfaces:
AudioSource

public final class SineGenerator
extends Synthesizer

Use the SineGenerator to generate (combinations of) sine waves using specific Hz numbers. Default is endless 440Hz. Pay attention to the multiple constructors, there are long and int variants!

Author:
sikoried

Field Summary
 
Fields inherited from class sampled.Synthesizer
DEFAULT_SAMPLE_RATE
 
Constructor Summary
SineGenerator()
          Default Sine generator: 440Hz at Synthesizer.DEFAULT_SAMPLE_RATE = 16000Hz
SineGenerator(double frequency)
          Endless Sine generator at 16kHz
SineGenerator(double[] frequencies)
          Endless Sine generator
SineGenerator(int sampleRate)
          Generate 440Hz at given sample rate
SineGenerator(int sampleRate, double frequency)
          Endless Sine generator
SineGenerator(int sampleRate, double[] frequencies)
          Endless Sine generator
SineGenerator(int sampleRate, long duration)
          Generate 440Hz at specific sample rate
SineGenerator(int sampleRate, long duration, double[] frequencies)
          Specific Sine generator
SineGenerator(long duration)
          Generate 440Hz at Synthesizer.DEFAULT_SAMPLE_RATE = 16000Hz
SineGenerator(long duration, double frequency)
          Specific Sine generator
SineGenerator(long duration, double[] frequencies)
          Specific Sine generator
 
Method Summary
static SineGenerator create(java.lang.String parameterString)
          Generate a new SineGenerator according to the parameter string.
 double[] getFrequency()
           
 void setFrequency(double frequency)
           
 void setFrequency(double[] frequencies)
           
 void tearDown()
          Tear down the AudioSource (i.e.
 java.lang.String toString()
          String representation of the actual synthesizer
 
Methods inherited from class sampled.Synthesizer
getPreEmphasis, getSampleRate, getSleepTime, isBlockingSource, main, read, setBlocking, setPreEmphasis, setSleepTime
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SineGenerator

public SineGenerator()
Default Sine generator: 440Hz at Synthesizer.DEFAULT_SAMPLE_RATE = 16000Hz


SineGenerator

public SineGenerator(double frequency)
Endless Sine generator at 16kHz

Parameters:
frequency - target frequency in Hz

SineGenerator

public SineGenerator(double[] frequencies)
Endless Sine generator

Parameters:
frequencies - array of frequencies to combine

SineGenerator

public SineGenerator(int sampleRate)
Generate 440Hz at given sample rate

Parameters:
sampleRate - length in Hz

SineGenerator

public SineGenerator(int sampleRate,
                     double frequency)
Endless Sine generator

Parameters:
frequency - frequency in Hz

SineGenerator

public SineGenerator(int sampleRate,
                     double[] frequencies)
Endless Sine generator

Parameters:
sampleRate - sample rate in Hz
frequencies - array of frequencies to combine

SineGenerator

public SineGenerator(int sampleRate,
                     long duration)
Generate 440Hz at specific sample rate

Parameters:
sampleRate - in Hz
duration - in ms

SineGenerator

public SineGenerator(int sampleRate,
                     long duration,
                     double[] frequencies)
Specific Sine generator

Parameters:
duration - time in ms
frequencies - array of frequencies to combine

SineGenerator

public SineGenerator(long duration)
Generate 440Hz at Synthesizer.DEFAULT_SAMPLE_RATE = 16000Hz

Parameters:
duration - length in ms

SineGenerator

public SineGenerator(long duration,
                     double frequency)
Specific Sine generator

Parameters:
duration - time in ms
frequency - single frequency

SineGenerator

public SineGenerator(long duration,
                     double[] frequencies)
Specific Sine generator

Parameters:
duration - time in ms
frequencies - array of frequencies to combine
Method Detail

create

public static SineGenerator create(java.lang.String parameterString)
                            throws MalformedParameterStringException
Generate a new SineGenerator according to the parameter string.

Parameters:
parameterString - "sample-rate,duration,freq1[,freq2,...]
Returns:
Throws:
MalformedParameterStringException

getFrequency

public double[] getFrequency()

setFrequency

public void setFrequency(double frequency)

setFrequency

public void setFrequency(double[] frequencies)

tearDown

public void tearDown()
              throws java.io.IOException
Description copied from interface: AudioSource
Tear down the AudioSource (i.e. release file handlers, etc)

Throws:
java.io.IOException

toString

public java.lang.String toString()
Description copied from class: Synthesizer
String representation of the actual synthesizer

Specified by:
toString in interface AudioSource
Specified by:
toString in class Synthesizer