Browser-based Engine Prototype for a Digital Audio Workstation - Sascha Knapp (2024)
Diese Abschlussarbeit befasst sich mit der Entwicklung eines browserbasierten Engine-Prototyps für eine Digital Audio Workstation (DAW), die dieselben Qualitätsziele verfolgt wie native DAWs. Die Engine nutzt modernste Webtechnologien, darunter AudioWorklet, SharedArrayBuffer, und Web Worker, um ein effizientes Disk-Streaming zu erreichen. Der Prototyp bietet Plugin-Unterstützung durch die Verwendung vom Web Audio Modules-Standard zusammen mit WebAssembly für die Audioverarbeitung. Ein umfassender Überblick über bestehende browserbasierte DAWs, aktuelle Veröffentlichungen und Evaluationen der Audioverarbeitung im Webbrowser bieten eine Basis für die Entwicklung und die Auswertung des Prototyps. Ein automatisierter Evaluationsprozess mit dem Firefox Profiler wird entwickelt und angewendet, um den entwickelten Disk-Streaming-Ansatz mit einem zweiten Ansatz zu vergleichen, der das AudioBuffer-SourceNode interface verwendet. Außerdem wird die Performanz der Audioverarbeitung mit WebAssembly und JavaScript verglichen. Die Ergebnisse demonstrieren das Potenzial browserbasierter DAWs, eine brauchbare Alternative zu nativen DAWs zu bieten, da das Web die notwendigen Technologien zur Implementierung ähnlicher Paradigmen zur Audioverarbeitung bereitstellt, die auch schon in nativen DAWs zu finden sind.
Keywords: Web Audio API; AudioWorklet; SharedArrayBuffer; Web Audio Modules; JavaScript; WebAssembly; Digital Audio Workstation; DAW