Portamento

Aus OpenMPT-Wiki
Zur Navigation springenZur Suche springen

Ein Portamento wird angewendet, wenn von einer Tonhöhe auf eine andere fließend übergegangen werden soll. Grundsätzlich wird Portamento auf zwei verschiedene Arten angewendet, deren zum Verständnis zur Berechnung der Portamento-Parameter nötig ist:

  • Normales Portamento wird auf allen Ticks außer dem ersten angewendet. Bei sechs Ticks pro Zeile (Effekt A06 im IT-Format) wird ein normales Portamento auf insgesamt fünf Ticks ausgeführt. Bei einem Tick pro Zeile ist normales Portamento wirkungslos.
  • Feines Portamento wird nur auf dem ersten Tick der Zeile ausgeführt. Eine Abwandllung davon ist extrafeines Portamento, welches auch nur auf dem ersten Tick der Zeile ausgeführt wird, aber die Tonhöhe viermal präziser erhöht oder erniedrigt.

Lineare Frequency Slides[Bearbeiten]

Als das MOD-Format auf dem Amiga entwickelt wurde, musste das Abspielen der Musik so wenig Rechenzeit wie möglich erzeugen. Dies ist ein Grund, warum Portamentos im MOD-Format (und auch noch im S3M-Format, sowie in allen anderen unterstützten Formaten, sofern dort die Option "Linear Frequency Slides" deaktiviert ist) immer die Abspielfrequenz um eine festgelegte Frequenz erhöhen statt um eine festgelegte Halbtonzahl. Dies erschwert die Berechnung des Portamento-Ziels erheblich und wird deswegen nicht weiter betrachtet. Alle weiteren mathematischen Erläuterungen beziehen sich auf Linear Frequency Slides, welche die Abspielfrequenz immer so ändern, dass sie um eine bestimmte Anzahl an Cents (Teile eines Halbtonschritts) erhöhen.

Ein Halbtonschritt wird in 64 Portamento-Schritte unterteilt. Ein normaler oder feiner Portamento-Schritt ändert die Frequenz um vier Portamento-Schritte, ein extrafeiner Portamento-Schritt um genau einen Schritt. Mit 16 normalen Portamento-Schritten erhöht man also die aktuelle Frequenz um einen Halbtonschritt, mit 64 extrafeinen Portamento-Schritten gelingt dies auch bei extrafeinem Portamento.

Als Beispiel nehmen wir an, das Modul wird mit Geschwindigkeit 5 (A05) abgespielt. Dies ergibt also vier Ticks, auf denen Portamento angewendet wird. Möchten wir nun zwei Halbtonschritte in einer Zeile zurücklegen, müssen wir 128 Portamento-Schritte auf diese vier Ticks aufteilen. Bei der Verwendung von normalem Portamento ergiebt dies also 128 Schritte / (4 * 4 Ticks), also einen Portamento-Parameter von 8. Bei Geschwindigkeit 6 würde diese Rechnung nicht mehr aufgehen, da 128 / (4 * 6) keine Ganzzahl ergibt. Möchtest du also präzise Halbton-Portamentos verwenden, solltest du dich auf Geschwindigkeit 3 (2 Portamento-Schritte), 5 (4), 9 (8) oder 17 (16) beschränken.

Tone Portamento[Bearbeiten]

Tone Portamento
Zwischen Tonhöhen gleiten
IT
G
S3M
G
XM
3
MOD
3

Beim Effekt Tone Portamento lässt sich der Fade sowohl nach oben als auch nach unten anwenden. Entscheidend ist hier die Zielnote, auf die sich der Ton mit der hinter G (XM/MOD: 3) angegebenen Geschwindigkeit zubewegt. Das Sample wird beim Abspielen der neuen Note nicht neu angespielt (außer es handelt sich bei der neuen Note um ein anderes Sample - dadurch wird auch der Effekt unwirksam).

Die Benutzung dieses Effektes kann wie folgt aussehen:

|G-501......
|F-501...G10

Hier wird von G-5 auf F-5 übergegangen (gefadet), sobald die Note F-5 gespielt wird. Ist der Parameter hinter G zu niedrig, bleibt der Ton irgendwo zwischen diesen beiden Noten liegen. Ist der Wert dagegen zu hoch, kann es passieren, dass der Übergang zu schnell durchgeführt wurde, was in vielen Fällen nicht erwünscht ist.

Der selbe Effekt lässt sich auch in der Volume Column anwenden (g), hier allerdings mit einer geringeren Genauigkeit.

Tone Portamento und Lautstärke[Bearbeiten]

Tone Portamento und Lautstärke
IT
L
S3M
L
XM
5
MOD
5


Portamento + Volume Fade
ModPlug Tracker  IT
|C-601v00...
|........G10
|D-6.....L1F
|........L1F
|D#6.....L1F
|........L1F
|G-6.....L1F
|........L1F
|A#6.....L1F
|........L1F
|G-6.....L1F
|........L1F
|D#6.....L1F
|........L1F
|C-6.....L1F
|........L1F

Dieser Befehl stellt 2 Funktionen gleichzeitig zur Verfügung. Damit wird ein Tone-Portamento ausgeführt, sowie die Lautstärke verringert oder erhöht. Die Geschwindigkeit des Portamentos muss mit dem Befehl G (IT/MPTM/S3M) oder 3 (XM/MOD) vor dem ersten Fade definiert werden, braucht aber bei den folgenden Noten nicht mehr angegeben werden, solange der Befehl L (bzw.5) ausgeführt wird. Alternativ dazu kann bei Impulse-Tracker-Modulen auch der Befehl g in der linken Effektspalte angewandt werden.

Im Beispiel links wird in der ersten Zeile durch v00 die Startlautstärke und in der Zweiten durch G10 die Geschwindigkeit des Tone-Portamentos bestimmt. Während der Laufzeit wird die Lautstärke kontinuierlich lauter, wofür der Befehl LF1 verantwortlich ist (siehe als Referenz auch die Tabelle unten). Die Instrument-Nummer bzw. Sample-Nummer darf nur bei der ersten Note angegeben werden, da sonst der Fade-In, bzw. Fade-Out bei der Lautstärke nicht funktioniert.

L10-LF0 Fade-In
L01-L0F Fade-Out
L1F-LEF Die Lautstärke wird nur langsam angehoben. Bei 1F am langsamsten. Der hintere Wert muss hier immer F sein!
LF1-LFE Das Gegenteil zu L1F-LEF. Hier wird die Lautstärke langsam abgesenkt. Bei F1 ist der Fade-Out am langsamsten.


Portamento Up und Portamento Down[Bearbeiten]

Portamento Up
Tonhöhe nach oben faden
IT
F
S3M
F
XM
1
MOD
1

Diese Effekte benötigen im Gegensatz zum Tone Portamento keine Zielnote. Sobald der Effektbefehl ausgeführt wird, ändert sich die Tonhöhe nach oben bzw. unten. Auch hier gilt: Je höher der Wert ist, desto schneller ändert sich die Tonhöhe.

Beim IT-Format kann die Tonhöhenveränderung auch in der Volume Column durch e nach unten, sowie durch f nach oben durchgeführt werden.

Beispiel:

Portamento Down
Tonhöhe nach unten faden
IT
E
S3M
E
XM
2
MOD
2


|C-501...E08
|........F08
|........E08
|........F08
|...........

Hier wird in der ersten Zeile die Tonhöhe nach unten geändert, in der zweiten nach oben. Danach wird der Vorgang noch einmal wiederholt. Zum Schluss ist die Tonhöhe wieder C-5. Dieses Beispiel ähnelt einem Vibrato-Effekt.


Angenommen, wir haben ein Modul geöffnet, welches ein längeres Sample abspielt, das ruhig ein ganzer Ausschnitt eines Liedes sein kann. Dann entsteht bei den folgenden Zeilen der Eindruck, es handele sich um einen Schallplattenspieler, dem grad der Saft ausgeht:

|E-601...E08|...........
|........E08|........SB0
|........E08|........SBF

Auf der rechten Seite ist ein anderer Befehl zu sehen. Es handelt sich hierbei um eine Schleife. Die obere Zeile SB0 markiert den Start der Schleife. Das Ende kann an jeder Position im Pattern sein, die nach der Startposition folgt. Hier folgt das Ende unmittelbar danach. Der Wert beim Schleifenende ist F (hexadezimal). Das heißt, die Schleife wird 15 mal durchlaufen. Hier ist aber auch zu beachten, dass auch vor dem ersten Schleifendurchlauf die ganze Strecke einmal durchgespielt wird. Der Bereich wird also insgesamt 16 mal gespielt.

Mehr zu Schleifen steht unter Pattern-Loop.

Weitere Portamentobefehle[Bearbeiten]

Feines Portamento
IT
EFx, FFx
S3M
EFx, FFx
XM
E1x, E2x
MOD
E1x, E2x

FF0-FFF / E10-E1F: Feines (genaueres) Portamento hoch
EF0-EFF / E20-E2F: Feines Portamento runter

Die folgenden Befehle gibt es nicht im MOD-Format:

Extrafeines Portamento
IT
EEx, FEx
S3M
EEx, FEx
XM
X1x, X2x
MOD

FE0-FEF / X10-E1F: Extrafeines Portamento hoch
EE0-EEF / X20-X2F: Extrafeines Portamento runter

Die folgenden Befehle können in der Lautstärkespalte verwendet werden:

Portamento in der Lautstärkespalte
IT
ex, fx, gx
S3M
gx
XM

f0-f9: Portamento hoch
e0-e9: Portamento runter
g0-g9: Tone Portamento
Diese Befehle sind vier mal unpräziser als die entsprechenden Befehle in der Effektspalte. e9 entspricht also E24 (9 * 4 = 36 = 0x24).