Güterzug neu vertont

  • Beitrags-Kategorie:Audio / Code / Videos
  • Beitrags-Kommentare:0 Kommentare
  • Lesedauer:4 min Lesezeit

Auch auf Youtube

Am 31. Januar 2021 ging ich spazieren. Das Wetter war okay, der Wintereinbruch kam erst eine Woche später. Der Wanderweg führte ein Stück entlang der Bahnstrecke Erfurt – Weimar, wo auf bis zu sechs Gleisen Züge aller Art verkehren. Als ich einen sehr langsam nahenden Güterzug sah, positionierte ich mich so, dass die Umgebung zu einer fast grafisch anmutenden Bühne wurde. Mit meinem Smartphone (Samsung S10e) nahm ich den Zug in seiner ganzen Länge mit der Zeitlupenfunktion auf: Die Aufnahme dauerte 30 Sekunden, und bot etwa 5 Minuten Material.

Als ich weiter lief, sinnierte ich darüber, was ich wohl mit der Aufnahme anstellen könnte. Ich stellte mir vor, was wäre, wenn jeder Wagen ein Lautsprecher wäre, der einen Loop abspielt, während sich der Zug bewegt. Je mehr ich darüber nach dachte, desto konkreter waren die dazu nötigen Schritte und ich wollte es als Projekt umsetzen.

Ich bin Anfänger was After Effects angeht, aber auch jahrelang Programmierer. Mir gefällt die Möglichkeit, auf alle animierbaren Parameter ein Script (Expression) legen zu können und damit Berechnungen anzustellen.

Angefangen hatte ich mit der Lok. Die sollte irgendwie so elektrisch klingen. So vorwärts ziehend. Mechanisch. Und ich verbrachte dann doch den Abend damit, in Sound Pi an diesem Sound zu feilen: Der “Lokomovorwärts”-Loop:

Die Lok sollte so klingen. Das heißt, der Sound muss sich mit der Lok bewegen. Im Umkehrschluss bedarf es einer Möglichkeit, stets zu wissen, wo die Lok ist, dann kann man die Lautstärke und die Balance daraus ermitteln. In After Effects gibt es sogenannte Null-Objekte, die selbst nicht sichtbar sind, sondern nur Eigenschaften zur Verfügung stellen, wie X- und Y-Koordinate. Der Zug fährt gleichmäßig, so ergibt sich die X-Koordinate grob aus der Zeit im Video mal die Geschwindigkeit in Pixel pro Sekunde. Nach ein paar Anpassungen lag das Null-Objekt stets mittig auf der Lok. Ist die Lok links ist XPos=0, ist sie rechts ist XPos=1920 (Videogröße = 1920×1080 Pixel, rot dargestellt). Im Bild “klebt” das Null-Objekt mitten auf der Lok, seine X-Koordinate habe ich als XPos eingezeichnet.

 

Für die weitere Berechnung sind Pixel nicht mehr relevant. Zur Vereinfachung soll das sichtbare Stück Schiene einen Zahlenstrahl von -1 … +1 darstellen (Im Bild schwarz). Mit dem Dreisatz wurde der sichtbare X-Pixel-Bereich 0…1920 auf -1…+1 abgebildet.

x_relative = 2 * XPos / 1920 – 1;

In After Effects gibt es thisComp.width welche immer die Breite der Komposition in Pixeln zurück gibt. Hier hat diese Variable auch den Wert 1920.

Bestimmung der Balance

Ich definierte die Variablen left und right. Die sollen Werte von 0 (kein Ton) bis 1 (Maximum) haben. In der Mitte bei x_relative=0 sollen beide 1 sein, also maximale Lautstärke und Ton mittig. Wird x_relative negativ, bleibt left=1 und right wird kleiner. Wird x_relative positiv, bleibt right=1 und left wird kleiner, für beide ist 0 der kleinstmögliche Wert. Die Ermittlung der Formeln dazu war eine Nuss. Aber ich habs geschafft:

left = 1 – ((x_relative < 0) ? 1 : Math.max(0, 1-x_relative));
right = 1 – ((x_relative > 0) ? 1 : Math.max(0,1-Math.abs(x_relative)));

Dämpfung durch Distanz

Die Strecke von Betrachter zu Schiene und die Schiene selbst bilden ein rechtwinkliges T (schwarz). Der Abstand dist des Betrachters von der Lok lässt sich mit dem Phytagoras ermitteln (blau) – ist in der Mitte 1 und wird nach links und rechts größer.

dist = Math.sqrt(x_relative * x_relative + 1);

Aus der Distanz ergibt sich direkt der Dämpfungspegel:

pegel = -20 * Math.log10(dist);

Und da hatte ich alle Zutaten, um den Pegel der Audio-Spur mit Werten für den linken und rechten Kanal zu füttern. After Effects verlangt da Werte in dB: 0 = normal, >0 = Verstärkung, < 0 = Dämpfung, Werte von -192 bis +20 dB sind möglich.

pegel_left = pegel + (left * -40);
pegel_right = pegel + (right * -40);

Damit fährt der Sound mit der Lok durch das Bild. Für die 18 Wagen bin ich dann analog  vorgegangen, hier änderte sich nur jeweils das Zeitfenster der Sichtbarkeit. Natürlich bekamen die eigene Loops, die dann analog zur Lok von links nach rechts zu hören sind. Insgesamt programmierte ich 11 verschiedene Sounds, die ich dann “auf dem Zug” arrangierte. Achja, das Quietschen ist Originalton.

Sicher kann man noch mehr ins Detail gehen und noch die Laufzeitunterschiede zu weiter entfernten Wagons durch die Schallgeschwindigkeit, den Doppler-Effekt und ein gewisses Echo berücksichtigen. So tiefe Modifikationen der Audiodaten kann ich leider nicht in After Effects mit vertretbarem Aufwand abbilden und hätte das “händisch” in einem Audioeditor vornehmen müssen.

Es war eine interessante Bastelei.

Was denkt ihr?

Sven

Sven Wachsmuth wurde 1978 geboren, ist in Emleben bei Gotha aufgewachsen, wohnt seit 2003 in Erfurt. Er experimentiert seit Anfang der 1990er sowohl mit den kreativen Dingen, die man so mit einem Computer anstellen kann als auch mit traditionellen Techniken wie Schreiben, Zeichnen, Fotografie und Modellbau. Inspiration findet er in der Natur und der Geometrie. mehr erfahren

Schreibe einen Kommentar