Liebe DPler,
nach längerer Pause mal wieder eine Frage.
Ich würde gerne Folgendes „Effektgerät“ realisieren:
a) Beschreibung in „musikelektronischer“ Terminologie
Eine sehr lange Delayline (etwa 60 Sekunden), die an verschiedenen Stellen abgegriffen werden kann, ohne den Inhalt zu verändern. Eine Art variables Multi-Tap-Delay
b) Beschreibung des historischen/physischen Vorbilds
Bei der ursprünglichen Realisierung wurde ein Tonband über eine recht lange Strecke gespannt (die etwa den 60 Sekunden entspricht). Am Anfang des Bandes wird das Band mit einem Aufnahmetonkopf bespielt, das Aufgenommene wandert das gesamte Band entlang. „Unterwegs“ sind an verschiedenen Stellen 6 Abspieltonköpfe installiert, die das Aufgenommene verzögert wiedergeben (es ist immer nur einer davon aktiv). Die „Wanderung“ des Aufgenommenen wird vom Abspielen nicht beeinflusst; dies macht sich dann bemerkbar, wenn der Abspielkopf umgeschaltet wird (wenn man auf einen „späteren“ Kopf schaltet, hört man Teile des Materials nochmal.
c)So könnte ich mir die Programmierung in Grundzügen vorstellen:
- Aufnahme (Soundkarten-Eingang)
- Die Delayline ist eigentlich ein FIFO-Puffer.
Für den gegebenen Zweck würde ich mehrere kürzere Puffer nehmen. Der Ausgang des Puffers wird auf jeden Fall in den Eingang des nächsten Puffers eingespeist und _kann_ bei Bedarf an die Soundkarte ausgegeben werden
- Die verschiedenen möglichen Ausgänge aus dem Puffer können entweder über einen Mixer laufen oder mit einem Umschalter ausgewählt werden (möglichst ohne Klickgeräusche)
Leider habe ich keine Vorstellung davon, wie das konkret funktionieren könnte (daher auch, ob ich der Aufgabe gewachsen wäre).
Wie das Programm genau funktionieren soll, kann ich so schnell noch nicht sagen, mir wäre nur erstmal daran gelegen, eine Vorstellung davon zu bekommen, wie ich das ganze überhaupt angehen muss. Leider habe ich noch nie mit Audio gearbeitet (das heißt natürlich aus Programmierer-Perspektive).
Ach ja, das Ganze müsste von mir aus keiner speziellen (Plugin-)Architektur (VST,
DirectX...) entsprechen. Es würde auch als völlig autarke Anwendung gehen.
Vielen Dank für jeden Hinweis
Urs