| 
    | 
  
      
   | 
 
| 
     Beschreibung 
   | 
  
    Die Applets auf dieser Webseite demonstrieren die interaktive
    Audio-Ausgabe über den Jython-Interpreter und die Java Sound-API.
    Der Download des Applets kann einige Sekunden dauern; bitte bestätigen
    Sie die eventuelle Nachfrage nach Ausführung des digital signierten
    Applets.
    
     Hinweis: Bitte das erste Applet auf dieser Seite einmal (durch Doppelklicken) ausführen, um die von den übrigen Applets benötigten Variablen und Funktionen im Interpreter zu definieren. Bitte probieren Sie unbedingt anderen Parameterwerte für die Funktionen aus; gerade bei den Beispielen zur Frequenzmodulation lassen sich verblüffende Ergebnisse erzielen. Anmerkung: Die Applets auf dieser Seite wurden unter Windows 98/2000/XP, Linux und Solaris getestet und sollten problemlos funktionieren. Leider sind die Audiofunktionen auch in neueren Versionen der Java Umgebung (inklusive JDK/JRE 1.4.2) nicht immer fehlerfrei; abhängig von der Java-Version, den Soundkarten-Treibern und der in den Applets eingestellten Abtastrate können Probleme auftreten. Typische Symptome sind eine verzögerte Audioausgabe oder Klickgeräusche beim Abspielen der Audiodaten. 
  | 
 
| 
     Vorbereitung 
   | 
  
    Dieses Master-Applet definiert einige Variablen und Funktionen,
    die von den weiteren Applets benutzt werden, und muss deshalb zu
    Beginn einmal ausgeführt werden. Es lässt sich natürlich auch
    später ausführen, um diese Variablenwerte wiederherzustellen.
     
    
      | 
 
| 
     Sinustöne 
   | 
  
    Das folgende Skript erzeugt reine Sinustöne der angegeben Frequenzen
    und spielt diese dann ab. Achtung: während der Audioausgabe sind die
    JythonConsole und die Applets blockiert, abhängig von der Länge der
    Töne also eventuell für mehrere Sekunden:
     
    
      | 
 
| 
     Akkord 
   | 
  
    Alle obigen Töne zusammen als Akkord:
     
    
      | 
 
| 
     Ausklingender Sinus 
   | 
  
    Durch Multiplikation des Sinustons mit einer abfallenden Funktion
    ergeben sich ausklingende Sinustöne:
     
    
     
    
     
    
      | 
 
| 
     Tonleiter 
   | 
  
Alle Töne der temperierten Oktave, nacheinander abgespielt.
Nach Ablauf der Skripts empfiehlt es sich, die einzelnen Töne interaktiv
in der Console in unterschiedlichen Kombinationen auszuprobieren:
     
    
      | 
 
| 
     Einfache 
  Wellenformen  | 
  
    Die folgenden Beispiele demonstrieren mit elementaren Signalen,
    wie die Klangfarbe durch den Obertongehalt des Audiosignals
    beeinflusst wird.
    Die im folgenden verwendeten Rechteck-, Dreieck- und Sägezahnsignale
    sind einfach zu berechnen und dienen auch als Grundlage für
    viele Synthesizersounds. Natürliche Musikinstrumente verfügen
    über wesentlich komplexere (zeit- und frequenzabhängige) Spektren.
     
    
     
    
     
    
     
    
      | 
 
| 
     Frequenz- 
  modulation  | 
  
    Bei der Frequenzmodulation wird die Frequenz einer Schwingung
    zeitlich verändert. Dies wird in den folgenden Beispielen einfach durch
    Veränderung der Frequenz der 'äußeren' Sinusschwingung durch eine
    'innere' Sinusfunktion realisiert.
    Nach diesem Prinzip lassen sich eine Vielzahl sehr interessanter Klänge
    erzeugen. Zum Beispiel arbeitete der legendäre DX7-Synthesizer (Yamaha)
    nach diesem Prinzip, allerdings unter Kombination von bis zu sieben
    verschiedenen Frequenzen:
    
     
    
     
    
     
    
     
    
     Natürlich ist es auch bei der Frequenzmodulation wieder möglich, zusätzlich die Amplitude des Signals zu verändern. Die folgenden zwei Beispiele verwenden wiederum eine abfallene e-Funktion um ein sanftes Ausklingen des Tones zu erreichen: 
    
     
 
    
     
 
    
    
     
  | 
 
| 
     Xylophon 
   | 
  
    Das folgende Signal setzt sich aus 16 Wiederholungen eines sehr schnell
    ausklingenden Tons mit jeweils der Tonhöhe 'c3' zusammen:
     
    
     
    
      | 
 
| 
     14.07.2004
        Impressum 
   | 
  http://tams-www.informatik.uni-hamburg.de/applets/jython/index.html |