====== Instrument Synthesizer in C++ ====== **status**:suspend Diese Software ist erst in der Beta Phase und besitzt noch einige Bugs. Die grundlegenden Sachen funktionieren jedoch bereits. Im folgenden eine kurze Anleitung zur Benutzung: Folgende Header sollten inkludiert werden: #include "Sound.h"\\ #include "Metalanguage.h" Die eigentliche Sound Programmierung erfolgt in einer Metasprache. METALANGUAGE(,,) - **** hat dabei einen der folgenden Werte: None,Guitar,Trump, Drums Je nach Wert werden zu den entsprechenden Tönen die passenden Obertöne hinzugemischt. - **** hat folgende Werte: BMP60, BMP90, BMP120, BMP150, BMP180, BMP210, BMP240 - **** gibt die abzuspielenden Töne an. Die meisten Töne sind dabei vordefiniert: * ListenpunktDie Grundtöne sind C, Db, D, Eb, E, F, Gb, G, Ab, A, Hb, H * Eine nachgestellte 1 oder 2 entspricht der jeweiligen Oktave des Grundtons, so ist z.B C2 die 2 Oktave von C, eine nachgestellte 0 ergibt dagegen den Grundton eine Oktave tiefer. * Die Länge des Grundtons lässt sich über folgende Präfixe ändern: H für einen Halbton,V für einen Viertelton, E für einen Achtelton. ===== Operatoren ===== - Um Töne nacheinander auszugeben hängt man sie mithilfe des < < Operators hintereinander. - Sollen diese dagegen zusammenerklingen (z.B. als Akkord) so benutzt man den + Operator. - Ganz Tonfolgen können mehrfach ausgegeben werden mithilfe des * Operators z.B. ( C + E + A) * 3 < < (VC1 << VE1 < < VA1) * 2 - Über die Operatoren ^x und |x kann eine ganze Tonspur/Tonfolge um eine Oktave erhöht bzw. erniedrigt werden - Über die Operatoren * und / kann eine ganze Tonspur/Tonfolge verlängert oder verkürzt werden - Der Operator % verändert die Lautstärke des Tons/ der Tonspur/Tonfolge, x>1 ist dabei lauter x<1 leiser ===== Tonspuren aka Chunks ===== Ganze Tonspuren kann man erzeugen und abspeichern mithilfe des Makros: METALANGUAGE_CREATE_CHUNK(,,,) Abgespielt werden diese dann später mittels: METALANGUAGE_PLAY_CHUNK( < < + ) In der METALANGUAGE_PLAY_CHUNK stehen die vordefinierten Töne nicht mehr zur Verfügung, die Tonspuren können jedoch weiterhin mit den bereits bekannten Operatoren manipuliert werden.