synth
Class Tonegenerator

java.lang.Object
  extended by synth.Tonegenerator

public class Tonegenerator
extends java.lang.Object

Die Klasse Tongenerator ermöglicht die skriptbasierte Generierung von Klängen. Jede Zeile des Skriptes repräsentiert einen Teilton eines Klangs.

Author:
Michael Steppat

Field Summary
private  double[] audioData
           
 
Constructor Summary
Tonegenerator()
           
 
Method Summary
protected  void ADSRWave(double f, ADSRData adsr)
          Erzeugung eines Tons mit allen ADSR-Parametern außer L3
protected  java.util.ArrayList<java.lang.String> GetParameters(java.lang.String commandLine)
          Liest die einzelnen Parameter eines Kommandos aus und schreibt sie in eine Liste
static void main(java.lang.String[] args)
          Hauptfunktion
protected  void PARWave(double f, double phi, ADSRData adsr)
          Erzeugung eines Tons mit Phasenlage und Attack- und Release-Parameter.
 void ReadScript(java.lang.String filename)
          Lesen des Skriptes und Aufruf der Klangerzeugung
 void SaveAudioData(java.lang.String filename)
          Speichert die Audiodaten in einer Datei.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

audioData

private double[] audioData
Constructor Detail

Tonegenerator

public Tonegenerator()
Method Detail

ADSRWave

protected void ADSRWave(double f,
                        ADSRData adsr)
Erzeugung eines Tons mit allen ADSR-Parametern außer L3

Parameters:
f - Frequenz
adsr - Referenz auf ein ADSRData-Objekt, welches die Hüllkurvenparameter enthält

GetParameters

protected java.util.ArrayList<java.lang.String> GetParameters(java.lang.String commandLine)
Liest die einzelnen Parameter eines Kommandos aus und schreibt sie in eine Liste

Parameters:
commandLine - Kommandozeile
Returns:
Liste mit Parametern

main

public static void main(java.lang.String[] args)
Hauptfunktion

Parameters:
args - Dateiname des Skripts, Name der Ausgabedatei

PARWave

protected void PARWave(double f,
                       double phi,
                       ADSRData adsr)
Erzeugung eines Tons mit Phasenlage und Attack- und Release-Parameter. Decay und Hold werden ignoriert.

Parameters:
f - Frequenz
phi - Phasenlage in Grad (0...360)
adsr - Referenz auf ein ADSRData-Objekt, welches die Hüllkurvenparameter enthält

ReadScript

public void ReadScript(java.lang.String filename)
                throws java.io.IOException
Lesen des Skriptes und Aufruf der Klangerzeugung

Parameters:
filename -
Throws:
java.io.IOException

SaveAudioData

public void SaveAudioData(java.lang.String filename)
                   throws java.io.IOException
Speichert die Audiodaten in einer Datei. Die Formatdaten werden in einen Header geschrieben

Parameters:
filename - Name der Zieldatei
Throws:
java.io.IOException - Wird bei Zugriffsproblemen geworfen