Musikproduktion am Computer (14) - PPQ, BPM, und Samplerate

(Themenanfang)

Es gibt zwei grundlegende Konzepte, mit denen zeitliche Verläufe in einem Sequenzer dargestellt werden können: das eine ist PPQ-, das andere Time-basiert. PPQ oder „Pulses per Quarter” sind dabei die „musikalische” Art und Weise: man denkt in relativen Abständen zwischen den Viertelnoten, deren konkrete zeitliche Platzierung sich erst durch einen weiteren Parameter ergibt, dem Tempo, bzw. BPM, „Beats per Minute”. Im Gegensatz dazu begründet sich eine Time-basierte Darstellung auf einem vom Tempo unabhängigen Raster: dort kann man die zeitliche Ebene konkret in Minuten und Sekunden ablesen.

Die PPQ-Welt ist die ältere, und geht einher mit der Verarbeitung und Darstellung von MIDI-Events. Diese sind ja nur punktuelle Ereignisse, die externe Geräte steuern, wodurch es ein leichtes ist, das Tempo zu verändern, in dem sie abgespielt werden. Deshalb setzt man lediglich relative „Time-Stamps” (Zeitmarken), und verrechnet das mit einem vom User jederzeit veränderbaren Tempo. Dann wird es nicht nur möglich, schwierige Passagen langsam aufzunehmen, um sie deutlich schneller abzuspielen - man kann auch am zeitlichen Verlauf Einfluß nehmen, um etwa einer Performance nachträglich agogischen Ausdruck zu verleihen.

Das ist in der Welt von Audio zunächst noch ganz anders: eine einmal aufgenommene Audiodatei wird in einem fixierten Tempo abgespielt - man hat es hier letztlich nicht mit einzelnen Events zu tun (es sei denn, man definiert eine komplette Audiodatei als Event), sondern mit einem Datenstrom aus zahlreichen Samples, die in einem fixen Abstand aufeinander folgen. Die „Samplerate” (also die Anzahl von Samples pro Sekunde) ist zwar eine Größe, die man verändern kann - dies dann aber nicht nur in Bezug auf das Tempo, sondern gleichzeitig auch auf die Tonhöhe. Wenn man eine Audiodatei schneller abspielt, als sie aufgenommen wurde, kommt es zum „Mickey-Maus-Effekt”, den man von einer schnell drehenden Schallplatte oder einem zu rasch abgespielten Tonband her kennt. Es sind aufwendige Verfahren nötig, um diesem Effekt entgegen zu arbeiten, und auch die besseren von ihnen verursachen selbst heute noch Artefakte, die man zumindest bei extremeren Tempoänderungen sofort hören kann.

Es gibt eine ganze Anzahl von Problemen, wenn man versucht, diese beiden Welten in einem einzigen Programm zu vereinen - und genau dies tun heutige Sequenzer[1].

Die ersten Versuche der Integration von Audio und MIDI unternahm man in rein PPQ-orientierten Programmen: die Audiodateien wurden an einem bestimmten PPQ-Wert gestartet (z.B. auf der »1« des fünften Takts), wodurch dieser Startpunkt abhängig vom Tempo war. Danach spielten sie in ihrer eigenen Welt weiter - ohne Rücksicht auf spätere Tempoänderungen. Abgesehen davon, daß es keinerlei Möglichkeit zur Synchronisierung mit den parallel spielenden MIDI-Events gibt (dies ist selbst heute letztlich nicht anders), wird es auch schwierig, geschnittenes Material so einzustarten, daß es keine Artefakte zwischen den Schnitten gibt - mit einer PPQ-Auflösung kommt man selbst dann nicht zu einer akkuraten zeitlichen Adressierung jedes einzelnen Samples in jedem beliebigen Tempo, wenn sie sehr hoch ist[2].

Das ist ein entscheidender Punkt: Sample-genaues Schneiden von Audio-Events (und das ist die Grundlage für jedes Editing in diesem Bereich) ist nur dann möglich, wenn man sich von der PPQ-Welt verabschiedet, und mit einem „Lineal” arbeitet, das Time-basiert funktioniert.

  1. [1] Auch ein drittes Medium - Video - wird mittlerweile vielfach unterstützt. Das ist in diesem Rahmen unerheblich, weil sich Audio und Video bezüglich ihrer „Time-Domain” nicht unterscheiden: beide sind im Tempo nicht (ohne weiteres) veränderbar, und gehören deshalb zur Time-basierten Sphäre.
  2. [2] Frühe (Hardware-)Sequenzer hatten eine Auflösung von 48 PPQ. Cubase ist mit 96 PPQ gestartet, und brachte es in »VST 5.0« Ende der 90er auf stolze 1920 PPQ. Damit kommt man zwar nah heran an die Auflösung von Samples, hat es aber immer mit Rundungsfehlern zu tun.

(Teil 2)