Goattracker/Tutorial/LostText

Aus C64-Wiki
Zur Navigation springenZur Suche springen

 
HINWEIS:
Dieser Text ist vermutlich inhaltlich identisch mit dem Artikel Goattracker/Tutorial. Bitte dort Änderungen vornehmen! Danke. --Jodigi 21:07, 12. Sep. 2014 (CEST)

 


arpeggios[Bearbeiten | Quelltext bearbeiten]

Wie bereits erwähnt wird die rechte spalte im WAVE TBL für pitch offset (Versatz) verwendet. Der Versatz kann relativ (zum Notenwert addiert/davon subtrahiert) oder absolut (fix definierte Tonhöhe die sich nicht ändert) sein.
$00 - $5F positive relative Noten
$60 - $7F negative relative Noten
$80 - Tonhöhe bleibt unverändert
$81 - $DF - absolute Noten C#0 - B-7
arpeggios - da der sid Chip nur begrenzt polyphon ist wurde das Konzept der arpeggios angewandt. Ein arpeggio ist eine folge von Noten (eine Tonleiter oder ein zerlegter Akkord) die mit schneller Geschwindigkeit abgespielt wird. Ein sehr charakteristischer c64 Sound. Wenn wir z.b. den für e-Gitarren typischen "Powerchord" als arpeggio nachbauen, müssen wir nur die Bünde von der ersten bis zur zweiten Note zählen (den Intervall in halbtonschritten). Die dritte Note im Powerchord ist einfach die Oktave der ersten. Der Powerchord ist sehr praktisch, da er nur dreistimmig und weder Dur noch Moll ist, auch ist er in allen Tonlagen spielbar und somit ein universelles arpeggio.
im wavetable sieht das so aus:
[01:21 00]
[02:21 07] (+7 halbtonschritte =eine Quinte)
[03:21 0C] (+12 halbtonschritte =eine Oktave)
[04:FF 01] (endlosschleife - jump 01)
geh mit F5  in den Pattern Editor und drücke SPACE  um zum [JAM MODE] (wird links unten angezeigt) zu wechseln und das arpeggio auf der Keyboard Klaviatur zu spielen.
hinweis markieren der "schwarzen" klaviertasten am qwertz Keyboard vereinfacht das komponieren anfangs um einiges. Es gibt auch zwei verschiedene Tastaturlayouts: fasttracker und DMC. Dieses tutorial bezieht sich durchwegs auf die fasttracker Belegung (die als Default voreingestellt ist).
hinweis SPACE  schaltet zwischen JAM und EDIT um, so kann man Melodien ausprobieren ohne das derzeitige Pattern zu verunstalten.
hinweis wenn deine rechnerplattform ein Mac ist, kannst du auch ein midi Keyboard anschließen für komfortable Noteneingabe.
Wenn du dein eigenes arpeggio entwickeln willst, such dir ein paar Noten heraus die gut miteinander klingen bzw. Drücke ein paar tasten auf der Keyboard Klaviatur und merke dir diejenigen die gut zusammenpassen. Wenn man jetzt die tiefste Note nimmt kann man die tasten dazwischen abzählen:
beispielsweise:
tiefste Note wäre C  (E-3)
zweite Note sollte sein N  (A-3)
jetzt kann man die tasten nach oben hin abzählen von C  bis N , C  als Grundton wird nicht mitgezählt, die zweite Note N  wird aber sehr wohl mitgezählt.
Das ist dann V  G  B  H  N  = 5 = $05 relativer offset
Deshalb ist es auch hilfreich die halbtonschritte (schwarze tasten) am Keyboard zu markieren, beim abzählen weiß man nicht immer gleich wo ein halbtonschritt liegt.
zur einfacheren -von Hand- Konvertierung von Gitarrentabulatur nach sid arpeggios gibt es auch das simple _Tool "tabtoarp", auf csdb.dk zu finden.

fixed pitch Sounds - Drums[Bearbeiten | Quelltext bearbeiten]

Werte von $81 (C#0) bis $DF (B-7) in der rechten WAVE TBL spalte definieren das der Sound mit einer fix definierten Tonhöhe abgespielt wert, egal welchen wert man im Pattern Editor eingibt. Das ist praktisch für Schlagzeugsounds oder Effekte die immer gleich klingen sollen, man kann dann viel schneller zwischen diesen Sounds umschalten und rhythmische Muster eingeben ohne auf die eigentliche eingegebene Note acht zu geben. Nur die Position des Sounds im Pattern grid (gitter) ist dann wichtig.
schnelles Beispiel für einen oldschool Drumsound:
edit Instrument
[Attack/Decay 32]
[Sustain/Release F9]
[Wavetable Pos 01]
edit WAVE TBL
[01:51 90] (kombiniert pulse & Dreieck ($40 + $10 = $50), gate Bit setzen
($50 +$01=$51) spiele Note mit fixed pitch $90)
[02:21 A0] (wellenform Sägezahn, gate immer noch gesetzt, fixed pitch $A0)
[03:80 DF] (wellenform rauschen, gatebit 0, ausklingen mit fixed pitch $DF)
[04:FF 00] (beende wavetable Ausführung, Sound klingt immer noch aus)
gehe in den Pattern Editor und teste den Sound auf verschiedenen tasten - es wird immer gleich klingen.
hinweis mit goattracker wird ein .pdf von ravenspiral installiert, dort gibt es eine gut gemachte Übersichtstabelle über die Notenwerte.

6581 oder 8580?[Bearbeiten | Quelltext bearbeiten]

gemischte wellenformen am 6581
vom design her sollte es möglich sein pulse, Sägezahn und Dreieck frei miteinander zu kombinieren, durch ein logisches UND sobald das respektive Bit auf 1 gesetzt wird. Die rauschen wellenform kann nicht mit den anderen kombiniert werden. Durch diverse Fehler im 6581 ist es nicht vollständig möglich alle wellenformen zu mischen. Pulse und Dreieck ($50) ergibt ein gut hörbares Ergebnis während Dreieck und Sägezahn ($30) fast nicht hörbar sind. Interessant wird es wenn man eine breite pulse wellenform dazugibt. Generell sollte man aber versuchen nur die gemischten wellenformen zu verwenden die klar hörbar sind, es ist auch möglich das gewisse Mischungen auf einem Chip besser klingen als auf anderen.
gemischte wellenformen am 8580
am 8580 kann man mit allen wellenform Mischungen klar hörbare Resultate erzielen, insgesamt hat man also sieben verschiedene wellenformen. Noch mehr Variation ist möglich wenn man die Pulsweite bei Mischung mit pulse verändert (mehr dazu später).
filter beim 6581
ein großer Unterschied zwischen beiden Chips ist auch der Filter. Generell kann gesagt werden das jeder 6581 anders klingt, egal welche Revision und egal welcher Datecode darauf steht. Die filterkurve im 6581 ist nicht wirklich konform von Chip zu Chip, teilweise können damit sehr organische Sounds erzeugen und auch sowas ähnliches wie eine verzerrte Gitarre hinbekommen (im Titellied von mechanicus hört man das sehr gut). Wenn man im goattracker mit dem 6581 filter arbeiten will muss man sehr genau wissen was man tut, am echten 6581 wird es definitiv anders klingen. Auch ist oft die untere und obere grenze des Filters ein wenig verschoben. Wenn du einen c64 mit 6581 hast kannst du auch mit sid audit die grenzen des Filters testen um einen Anhaltspunkt zu haben (mehr zum filter später).
filter beim 8580
Der filter im 8580 ist hingegen sehr verlässlich und von Chip zu Chip gibt es nur wenig unterschiede, auch der klang ist etwas "elektronischer" als der filter im 6581. In der c64 Demoszene hat sich der 8580 ziemlich durchgesetzt weil der Chip mehr Möglichkeiten bietet und die Ergebnisse viel reproduzierbarer sind. Trotzdem gibt es noch einige die den 6581 wegen seiner charakteristischen Bugs bzw. Features bevorzugen. Trivia: oldschool legende Ben Daglish ging gleich einen anderen weg - er verwendete gleich gar keinen Filter weil er von Anfang an ausschließen wollte das seine tunes überall anders klingen.

pulse wellenform - Automatisierung, Modulation[Bearbeiten | Quelltext bearbeiten]

Einleitung in die PWM Thematik - praktische Beispiele[Bearbeiten | Quelltext bearbeiten]

Die pulse wellenform ($40) ist etwas spezieller da wir das Tastverhältnis frei bestimmen können, das heißt wir können definieren wie lange der pulse high und danach low bleibt (manchmal wird das PWM genannt - Pulsweitenmodulation).
Der Soundchip hat sogar zwei Register für jede stimme um dieses Verhältnis zu definieren, obwohl ein Register zu einem Nibble reduziert wurde, somit haben wir einen Dezimalbereich von 0-4095, oder bessergesagt $000 - $FFF.
Trotzdem werden sich die meisten jetzt noch immer nichts darunter vorstellen können, obwohl PWM auch ein sehr charakteristischer c64 Sound ist.
ein komplett symmetrischer pulse sieht folgendermaßen aus:
high ---- ---- ---- ----
low ---- ---- ---- ----
Wenn wir jetzt die Pulsweite verändern würde es so aussehen:
high ------ ------ ------ ------
low -- -- -- --
klanglich verändern sich die Harmonien des Sounds, gewisse Obertöne werden ausgelöscht während andere verstärkt werden, je nach high zu low Verhältnis.
Wir editieren einen PWM Sound:
editiere die AD SR werte im Instrument Editor nach belieben gib ein:
[Wavetable Pos 01]
[Pulsetable Pos 01] (genauso wie beim wavetable ist das jetzt der Zeiger auf den PULSETBL)
edit WAVE TBL
[01:41 00] (pulse wellenform einstellen und gate on)
[02:FF 00]
Wie bereits erwähnt hören wir nichts, weil im Register immer noch $000 steht. Also müssen wir ein paar werte im PULSETBL eingeben (der PULSETBL wir genauso wie der wavetable frameweise aus- geführt)
edit
[01:98 00]
[02:FF 00]
Drücke SPACE  - was du jetzt hörst ist eine symmetrische pulse wellenform
01:98 00 bedeutet: ein wert im pulsetable wo das am meisten links stehende Nibble im Bereich von $8 bis $F ist (bei uns $9) definiert die aktuelle Pulsweite. Man könnte auch [01:F8 00] eingeben und den selben Effekt erlangen. Das zweite Nibble ($8) ist das high Nibble (MSB) zum einstellen der Pulsweite, also wird dadurch der klang am meisten beeinflusst. Die zwei rechten Nibbles sind das low Byte der Pulsweite und werden für Feinabstimmung verwendet.
edit PULSETBL
[01:9X  00] - versuche verschiedene werte für X  einzugeben, drücke SPACE  um den Sound klingen zu lassen. Vielleicht hast du schon gemerkt das der klang dünner wird desto näher du zu $000 oder $FFF kommst. Das liegt daran das eine Pulsweite mit $000 oder $FFF so weit ist das ein konstantes high oder low entsteht, dadurch entsteht keine Schwingung und man kann nichts hören.
$000 and $FFF sind genau gegenüberliegend bzw. invertiert:
Pulsweite $000
high
low ----------------------------
Pulsweite $FFF
high ----------------------------
low
Deswegen gibt unser Anfangswert $800 eine symmetrische pulse wellenform, weil das genau die Mitte zwischen $000 und $FFF ist. Von $000 nach $800 ergibt den selben klang wie von $FFF nach $800, obwohl es physikalisch nicht das selbe ist. Wenn man mehrere Instrumente mit pulse verwendet sollte man versuchen auch die gegenüberliegende Seite zu nutzen. obwohl es für die einzelsounds klanglich keinen unterschied macht trägt es zum gesamtklang des tunes bei, man bekommt einen volleren Sound.

PWM Automatisierung & Modulation - pulsetable[Bearbeiten | Quelltext bearbeiten]

gehe in den PULSETBL und edit
[01:98 00] (setze Pulsweite auf $800)
[02:6C 13] (erhöhe Pulsweite um $13 für die dauer von $6C Frames)
[03:FF 00] (beende pulse Programm)
Drücke SPACE  und du hörst einen Pulsweiten verlauf von $800 bis $FFF. Das Konzept dieser Automatisierung ist etwas eigenartig für einen Musiker, da es eher aus der Programmierer ecke kommt. Stell dir vor, die PULSETBL Automatisierung ist einfach nur eine Tabelle mit werten und goattracker (oder später die playroutine) addiert oder subtrahiert diese werte im Pulsweiten Register. Wie geht das?
[02:6C 13] werte in der linken spalte die von $01 bis $7F reichen zeigen an das die Pulsweite moduliert bzw. automatisch verändert werden soll. In unserem fall heißt $6C $13 - ADDIERE einen wert von $13 zum Pulsweiten Register für die dauer von $6C Frames. Das rechte Byte, in der rechten spalte, ist ein vorzeichenbehafteter wert!
Wenn wir $6C auf $1F verringern [02:6C 01], dann verändert sich die Pulsweite nur langsam, weil nur ein wert von $01 zum Register addiert wird.
Wenn wir den schritt 02 jetzt verändern:
[02:7F 20] und SPACE  drücken hören wir das der klang über $FFF hinaus geht (über das konstante high, wo man den klang nicht hört) und wieder von vorne anfängt. Das ist deswegen weil auch die Register wieder von vorne anfangen. Wenn man ein Register mit dem wert $FF um $01 erhöht fängt es wieder bei $00 an (für die Programmierer: und das carry flag wird gesetzt).
Wenn also der wert über $FFF hinaus geht und die pulsetable Ausführung nochmal $20 hinzufügt, dann geht es bei $000 weiter so lange bis alle $7F Frames abgearbeitet sind und die Pulsweite bei ca. $800 zu stehen kommt.
viele sehen den klang wenn die Pulsweite bei $FFF zu $000 überschlägt als nicht hörenswert, ideal ist es wenn man also versucht seine Pulsprogramme so zu halten das die Modulation nicht über diesen punkt hinaus geht.
hinweis $7F ist die maximale dauer für die Automation, ab $8x aufwärts ist, wie wir bereits wissen, reserviert für einstellen der Pulsweite.
noch ein Diagramm zur Pulsweite und dem Totpunkt:
$800 __--__--__--__-- (symmetrisch)
$900
$A00
$B00
$C00 -_---_---_---_-- (3 high/1 low)
$D00
$E00
$FFF ---------------- (stille)
$000 ________________ (stille)
$100
$200
$300
$400 _-___-___-___-__ (1 high/3 low)
$500
$600
$700
$800 __--__--__--__-- (symmetrisch)
Tipp: probiere den [FF] befehl im pulsetable aus. Wenn du [03:FF 02] eingibst wird der Sound durch den FF sprungbefehl unendlich lange moduliert. Man kann auch die breite in einer Serie von $8x befehlen direkt einstellen, man muss nicht automatisieren. oder man kann auch einen schnellen modulationsbefehl und danach einen langsamen eingeben, also mehrere befehle in Serie. Der Pulsweiten-Startpunkt für einen befehl ist dann immer dort wo das vorherige Kommando die Pulsweite stehen hat lassen.
Das Byte in der rechten spalte, der wert der subtrahiert oder addiert wird, ist wiegesagt ein vorzeichenbehafteter wert. Wenn man also bei einer gewissen Pulsweite stoppen will und den selben klang nochmal rückwärts haben will muss man einen negativen (vorzeichenbehafteten) wert addieren. Sehr eindrucksvoll ist es wenn man zum Pulsweitenregister dazu addiert und vor dem Totpunkt wieder subtrahiert und diese zwei Vorgänge via FF befehlt endlos durchlaufen lässt.
noch ein hinweis natürlich funktioniert das ganze auch umgekehrt, wenn man von $000 subtrahiert beginnt das Register wieder bei $FFF.

Filter[Bearbeiten | Quelltext bearbeiten]

Verwendung des Filters[Bearbeiten | Quelltext bearbeiten]

einige Leute nennen den sid Chip auch einen subtraktiven synthesizer, und das ist er auch in dem sinn das der filter einen teil des Gesamtklanges abschneidet bzw. eben filtert. filter beim sid werden mittels des Frequenzbereichs in dem sie arbeiten unterschieden, drei verschiedene typen sind es die man frei miteinander kombinieren kann.
lowpass - nur niedrige (Low) Frequenzen dürfen durch (pass)
bandpass - nur mittlere Frequenzen dürfen durch
highpass - nur hohe Frequenzen dürfen durch
zusätzlich dazu kann man das cutoff (grenzfrequenz des Filters) Register einstellen das eben definiert bei welcher Frequenz der filter "greift". Also wenn man lowpass einstellt und cutoff auf den wert $20, dann werden alle Frequenzen unter $30 durchgelassen, der klang wird also sehr dumpf klingen. Genaue angaben wie man diese Frequenzen nach hex berechnet finden sich im Handbuch, in der Praxis probiert man aber ein paar werte und entscheidet mit dem Ohr was gut klingt.
bandpass lässt nur Frequenzen durch die im Bereich des cutoff Werts in der Mitte des Frequenzspektrums liegen, also keine Bässe oder hohen Frequenzen. Manche nennen den bandpass auch "MIDpass"
highpass lässt alle Frequenzen über dem cutoff wert durch, also können keine tiefen oder mittig spektralen Sounds gehört werden.
Des weiteren kann man die Resonanz des Filters einstellen, höhere Resonanz bedeutet die Frequenzen im cutoff Bereich werden angehoben, der filtersound wirkt kräftiger. Am Frequenzspektrum kann man sich es so vorstellen wie das dach eines Zirkuszeltes das im Wirkungsbereich des Filters mittig herausgezogen wird, je nach Einstellung können dadurch erwünschte oder unerwünschte Verzerrungen entstehen.

Filtertable[Bearbeiten | Quelltext bearbeiten]

Durch das bisher angeeignete wissen erstellen wir ein Instrument mit viel sustain, dann geben wir im Instrument Editor ein:
[Filtertable Pos 01]
Springe zu FILT TBL TABULATOR 
edit
[01:90 F7] (linkes Nibble $9x - setze lowpass, rechtes Nibble nicht verwendet, $Fx setze Resonanz auf $F,
$x7 welche stimme/Oszillator gefiltert wird)
[02:00 10] (setze cutoff auf $10)
[03:FF 00] (ende des Filterprogramms)
Drücke jetzt SPACE  um eine per filter gedämpfte Version deines Instruments zu hören.
Weiterführende Erklärung der Byte werte:
Bytes die in der linken spalte geschrieben sind definieren entweder den filtertyp oder sind teil von Automatisierungsbefehlen (das selbe wie bei PWM Automation!). Also wenn das linke Byte im Bereich von $01 bis $7F ist wird eine Automatisierung/Modulation durchgeführt, $01 bis $7F definiert die anzahl der Frames wie lange moduliert wird, der dazugehörige wert in der rechten spalte der selben Zeile definiert die Geschwindigkeit/die menge die pro durchlauf hinzugefügt oder subtrahiert wird (wieder ein vorzeichenbehafteter wert).
Wenn du die werte aus dem pwm automatisierungstutorial hier ausprobierst, wirst du merken das der filter nicht rund läuft bzw. nicht konstant auf und ab geht sondern einen "harten" Anfang hat im vergleich zum PWM Register. Der wert läuft normal von $00 bis $FF, nur ist $FF der maximal- und $00 der Minimalwert, beim PWM Register liegt der Maximalwert in der Mitte bei $7FF. Also wird es langsam wichtig zu verstehen was jetzt eigentlich ein vorzeichenbehafteter wert ist, damit man den filter auch in die andere Richtung fahren kann. Musikalisch kann man sagen, der filter geht "auf" desto höher der cutoff wert ist. Manche behaupten desto mehr Resonanz auf dem filter liegt desto mehr klingt es nach "entengequake", das macht sich vor allem am swinsidX2 bemerkbar.
Wenn der Bytewert in der linken spalte des Filtertables über $7F (also $80 und mehr) liegt dann werden beide Bytes in dieser Zeile wie folgt benutzt:
filter typ (linkes Byte) - da wir nur vier werte haben (kein filter/LOWpass/MIDpass/HIpass), werden nur die oberen vier Bits des linken Nibbles verwendet.
folgende Bitkombinationen wählen den filtertyp aus:
H M L
I I O

D W
: :

% 1 0 0 0 $8 - alles aus, normaler Sound ohne filter
% 1 0 0 1 $9 - LowPass - LP
% 1 0 1 0 $A - MidPass (Bandpass)
% 1 0 1 1 $B - BP & LP
% 1 1 0 0 $C - HighPass - HP
% 1 1 0 1 $D - HP & LP
% 1 1 1 0 $E - HP & BP
% 1 1 1 1 $F - HP & BP & LP
Das rechte Nibble wird nicht verwendet, also $80 oder $1, oder sogar $8F hat die selbe Funktion.
Das rechte Byte, linkes Nibble stellt die Resonanz ein ($0x - $Fx), die drei untersten Bits des ganz rechten Nibbles gibt an welche stimme/channel/Oszillator/voice gefiltert wird ($x0 - $x7):
[stimme/osz.]
3 2 1

: :
: :
: :

% 0 0 0 0 $0 - kein filter
% 0 0 0 1 $1 - stimme 1 gefiltert
% 0 0 1 0 $2 – stimme 2 gefiltert
% 0 0 1 1 $3 - stimme 1 & 2 gefiltert
% 0 1 0 0 $4 - stimme 3 gefiltert
% 0 1 0 1 $5 - stimme 1 & 3 gefiltert
% 0 1 1 0 $6 - stimme 2 & 3 gefiltert
% 0 1 1 1 $7 - alle stimmen gefiltert
nun können wir auch das Beispiel am Anfang des Kapitels verstehen:
[01 90 F7] (linkes Nibble $9x - setze LP, rechtes Nibble ungenutzt,
$Fx setze Resonanz, $x7 setze stimme/Oszillator)
noch ein Spezialfall: wenn das linke Nibble $00 ist, so wie in step 02 unseres Beispiels. [02:00 10] (setze cutoff auf $10) - $00 ist die Anweisung zum direkten setzen von cutoff auf einen gewissen wert, in unserem fall $10.
ein einfacher filterverlauf:
[01:90 F7] ($90 - setze LP, $F setze Resonanz, $7 setze channels)
[02:00 80] (setze cutoff auf $80 = Mitte des gesamten Filterbereichs)
[03:1F FF] (für $1F Frames, subtrahiere $01 vom cutoff Register)
[04:1F 01] (für $1F Frames, addiere $01 zum cutoff Register)
[05:FF 00] (Ende des Ablaufs)
wichtig! in den Filterbeispielen wird der filter immer für alle drei stimmen ausgewählt, und zwar absichtlich - denn das Instrument das du im Instrument Editor bearbeitest wird immer am channel abgespielt in dem du zuletzt im Pattern Editor warst. Das heißt, wenn du Noten auf Pattern/channel 1 eingibst und dann in den Instrument Editor springst und mit SPACE  eine Testnote triggerst, dann wird diese Note von channel 1 / stimme 1 abgespielt, also wären hier nur filter einstellungen hörbar die sich auf Kanal 1 beziehen. Das heißt: wenn du einen filter bearbeitest und nichts hören kannst, kann es sein das du den klang auf dem falschen Kanal bzw. stimme abspielst.
falls es nicht klar aus dem tutorial hervorgeht - der Sidchip hat nur einen Filter - aber drei Oszillatoren. Wenn mehrere Sounds den filter verwenden dann nimmt ein Sound dem anderen den filter weg, das jeweils zuletzt gespielte Instrument hat die Kontrolle darüber.
sehr wichtig beim 6581 hört man beim einschalten und umschalten des Filters ein lautes knacksen, man sollte also taktisch versuchen im lautesten Moment des Songs den filter einzuschalten, oder am beginn des Songs, dann fällt das knacksen nicht so auf. Wer findig ist kann auch versuchen aus dem knacksen neue Sounds zu erstellen, z.b. zwischen verschiedenen filtertypen umschalten um eine Art minimal sample Wiedergabe zu erhalten. Beim 8580 Chip gibt es dieses knacksen nicht.

vibrato[Bearbeiten | Quelltext bearbeiten]

vibrato & speedtable[Bearbeiten | Quelltext bearbeiten]

in der rechten spalte des Instrument Editors haben wir "Vibrato Param" und "Vibrato Delay". [Vibrato Param] zeigt auf eine Position im [SPEEDTBL].
[Vibrato Delay] definiert wie viele Frames abgespielt werden bevor das vibrato beginnt. Aber was ist ein vibrato überhaupt? Ein vibrato ist eine kleine (oder große wenn man es so einstellt) auf und ab vibrierende Änderung der Tonhöhe. Es gibt dem klang mehr leben, macht das der Sound weniger statisch klingt. Geigenspieler und Gitarristen spielen oft vibrato auf ihren Instrument indem sie die Saite am Griffbrett auf und ab bewegen. Wir editieren ein Instrument und machen das folgende um vibrato hinzuzufügen:
edit [Vibrato Param 01] (zeigt auf eine Position im Speed table)
edit [Vibrato Delay 01] (das vibrato fängt sofort an ohne Verzögerung - der wert 00 schaltet das vibrato komplett ab!)
gehe zum speedtable
edit [01:0E 0F] drücke SPACE  für ein weites (zu extremes) vibrato.
edit [01:04 05] für ein mehr unterschwelliges vibrato.
Der speedtable ist etwas anders als üblichen tables. Wenn er für vibrato verwendet wird (andere Verwendungen im nächsten kapitel) ist das linke Byte ($04 in unserem zweiten Beispiel) ein Indikator für wie viele Frames sich die Tonhöhe ändert bevor sie in die andere Richtung geht. Das rechte Byte ($05 im zweiten Beispiel) definiert die menge die zur Tonhöhe addiert oder davon subtrahiert wird. Je kleiner der linke wert ist, desto schneller wird das vibrato, je grösser der rechte wert ist, desto weiter wird die Tonhöhenänderung. Durch dieses Konzept mit den gezählten Frames und Richtungswechsel kann es auch sein das der linke wert die ursprüngliche Tonhöhe ungewollt verändert. Maximalwert des linken Bytes ist $F7 (127 Frames bis Richtungswechsel), rechtes Byte geht bis $FF. Es gibt hier keine signed Byte werte.
Diagramm von [01:0E 0F]
/ \ /\
/ \ / \
/ \ / \
/ \ / \
/ \/ \
Diagramm von [01:04 05]
/\ /\ /\ /\ /\
/ \/ \/ \/ \/ \/
hinweis der Speed table ist der einzige table der nicht "wie ein Programm" funktioniert, er beinhaltet also keine befehle die abgearbeitet werden. jede einzelne Zeile ist ein einzelner Eintrag ohne nachfolge, es ist also auch nicht nötig irgendwo am ende ein $FF Kommando zu setzen.

Patterns & Song aufbau[Bearbeiten | Quelltext bearbeiten]

Patterns editieren[Bearbeiten | Quelltext bearbeiten]

Da wir jetzt wissen wie man ein Instrument erstellt können wir anfangen einen Song zu schreiben.
wichtig zur Tastaturbelegung:
+/- wechselt das Instrument (idealerweise eine Tastatur mit ziffernblock verwenden)
im goattracker fenster sehen wir:
CHN 1 PAT.00 CHN 2 PATT.01 CHN 3 PATT.02
| |
| derzeitiges Pattern
| das geladen ist und
| angezeigt wird
|
Sid Stimme/Channel
00 ... 00000 00 ... 00000 00 ... 00000
01 ... 00000 01 ... 00000 01 ... 00000
02 ... 00000 02 ... 00000 02 ... 00000
Wenn wir in den Pattern Editor gehen und eine Note eingeben (zb N  im fasttracker Layout) dann ändert sich Line 00 zu:
00 A-2 01000
|/| |/\ |
| | | \|
| | | Pattern befehl / Kommando (nichts derzeit)
| | Instrument nummer $01
| Oktave (mit / & * einstellbar)
Notenwert
Du kannst die cursortasten verwenden um auf und ab zu scrollen und die Keyboard Klaviatur zu Noteneingabe verwenden. Des weiteren kann man Einfg  und Entf  verwenden um Noten nach unten oder oben zu schieben. ENTER  setzt ein keyoff, das kann verwendet werden um Instrumente stumm zu schalten die das gatebit permanent ein haben. Mit shift+ENTER  wird ein keyon gesetzt, man kann den klang also auch nach einem keyoff wieder starten. <x  backspace  löscht die Note bei cursorposition oder fügt ansonsten eine pause ein. Bild auf /Bild ab  springt 8 schritte auf einmal im Pattern.
<  und >  wechselt das Pattern im channel den man gerade bearbeitet, Einfg  / Entf  am letzen schritt des Patterns verändert die Pattern länge. Es gibt noch viele weitere Shortcuts die man verwenden kann und die das komponieren einfacher gestalten, mit F12  kann man das Hilfemenü aufrufen und sich ansehen was es noch so gibt.