Zurück zum Portfolio
Audio & MusikProduktunternehmen

AudioMovers ListenTo

3 months

Herausforderung

Erstellung eines professionellen Audio-Streaming-Plugins, das Musikproduzenten und Toningenieuren ermöglicht, hochwertige Audio von ihrer DAW an Kunden überall auf der Welt zu streamen. Unterstützung für bis zu 128 Kanäle verlustfreies Audio mit minimaler Latenz erforderlich.

Lösung

Wir entwickelten ein plattformübergreifendes Plugin (VST, AU, AAX) mit adaptivem Bitrate-Streaming, von komprimiertem AAC bis verlustfreiem 32-Bit PCM bei 192kHz. Empfänger-Apps für Web, iOS und Android erstellt.

Ergebnis

Branchenstandard-Tool, das von Audio-Profis und Studios weltweit genutzt wird.

C++JUCEWebRTCReactiOSAndroid

Hintergrund

AudioMovers musste ein konkretes Problem in der professionellen Audioproduktion lösen: Wie können Musikproduzenten, Mixing-Ingenieure und Mastering-Profis hochauflösendes Audio mit Kunden und Mitarbeitern überall auf der Welt teilen — direkt aus ihrer Digital Audio Workstation (DAW)? Bestehende Lösungen komprimierten den Ton so stark, dass er für kritisches Hören unbrauchbar wurde, oder erforderten komplexe Netzwerk-Setups, die den kreativen Workflow störten.

ListenTo musste als natives Plugin in jeder wichtigen DAW funktionieren: Pro Tools, Logic Pro, Ableton Live, Cubase und anderen. Es musste bis zu 128 Audio-Kanäle bei Abtastraten bis 192kHz unterstützen. Die Empfängerseite musste auf jedem Gerät ohne Softwareinstallation zugänglich sein, weshalb Webbrowser der primäre Abhörpunkt waren. Native iOS- und Android-Apps ergänzten das Ganze mit zusätzlicher Flexibilität für mobiles Monitoring.

Technischer Ansatz

Das Plugin wurde in C++ mit dem JUCE-Framework entwickelt, das plattformübergreifende Kompatibilität für macOS und Windows bot und alle gängigen Plugin-Formate unterstützte: VST3, Audio Unit (AU) und AAX. JUCE übernahm die Low-Level-Audio-Verarbeitung mit minimalem CPU-Overhead.

WebRTC bildete die Echtzeit-Transportschicht, angepasst an professionelle Audio-Anforderungen, die weit über typische Sprach- oder Videokommunikation hinausgehen. Wir implementierten eine benutzerdefinierte Codec-Aushandlung, die zwischen komprimiertem AAC für bandbreitensparendes Monitoring und verlustfreiem 32-Bit-PCM für kritische Hörsessions umschalten konnte. Das adaptive Bitraten-System überwachte kontinuierlich die Netzwerkbedingungen und passte die Qualität ohne hörbare Artefakte an.

React trieb die webbasierte Empfänger-Anwendung an. Der Empfänger verband sich über WebRTC mit dem Stream des Plugins, mit Fallback auf WebSocket-basierten Transport, wenn Peer-to-Peer-Verbindungen nicht möglich waren.

Implementierungsdetails

Die zentrale Herausforderung war ultraniedrige Latenz bei gleichzeitiger Wahrung der Audioqualität. Wir entwickelten einen benutzerdefinierten Jitter-Buffer, der Latenz gegen Aussetzer abwog, mit konfigurierbaren Einstellungen, die es den Nutzern ermöglichten, zwischen minimaler Verzögerung für Echtzeit-Zusammenarbeit und größeren Puffern für stabiles Monitoring über unzuverlässige Verbindungen zu wählen. Das System erreichte konstant unter 200ms Ende-zu-Ende-Latenz über Standard-Breitband.

Mehrkanal-Support erforderte sorgfältiges Speichermanagement im C++-Plugin. Das Streaming von 128 Kanälen 32-Bit-Audio bei 192kHz erzeugt einen erheblichen Datendurchsatz. Wir implementierten effizientes Buffer-Pooling und Zero-Copy-Audio-Routing innerhalb des Plugins, um die CPU-Auslastung selbst bei maximaler Kanalzahl unter 5 % zu halten. Das ist wichtig, weil das Plugin neben anspruchsvollen Audio-Verarbeitungsketten läuft.

Der Web-Empfänger nutzte die Web Audio API für präzises Wiedergabe-Timing und Pegelmessung. Wir bauten einen benutzerdefinierten Audio-Decoder, der nahtloses Codec-Switching handhabte, wenn der Sender die Qualitätseinstellungen während einer Session änderte. Ein Session-Management-System ermöglichte es Sendern, einzigartige Hör-Links zu teilen, mit optionalem Passwortschutz und Hörerlimits für vertrauliches Material.

Für die iOS- und Android-Apps verwendeten wir plattformnative Audio-APIs (Core Audio bzw. AAudio), um die höhere Latenz plattformübergreifender Frameworks zu umgehen. Die Apps unterstützten Hintergrund-Wiedergabe, AirPlay- und Bluetooth-Routing und zeigten Wellenform-Visualisierungen synchron zum eingehenden Audio-Stream an.

Ergebnisse

ListenTo wurde zum Branchenstandard-Tool, eingesetzt von Grammy-preisgekrönten Produzenten, großen Aufnahmestudios und Broadcast-Einrichtungen weltweit. Das Plugin verarbeitet monatlich Millionen Streaming-Minuten. Insbesondere die verlustfreie Streaming-Fähigkeit füllte eine Lücke, die kein Konkurrenzprodukt adressierte.