# Echtzeit Audio Übertragung



## _gecko (30. Jun 2022)

Ich möchte einen Audiokanal (Mono) mit 44,1 Khz, 16 Bit bzw. 88,2 KB/Sec in weniger als 100 ms an einen entfernten Ort übertragen. Die Anwendung ist für ein Fernkonzert. Meine Software ist auf Windows 10 mit Max (cycling74), Java, Unity und C# gebaut. Ich möchte auch Daten zwischen den Anwendungen senden, insbesondere von Max zu Java und Unity z.B. 3.3 MB in weniger als 46 ms. Ich würde mich freuen, wenn ich ein paar Tipps bekäme, welche Tools verwendet werden könnten. Bisher bin ich u.a. auf ZeroMQ und Apache Kafka als mögliche Frameworks gefunden. Ich benötige nicht unbedingt Datenpersistenz, die Daten werden nur zum Anhören bzw. direkten Verarbeiten gebraucht.


----------



## yfons123 (30. Jun 2022)

ich versteh nicht was du gemacht hast... 

java unity c#  ? ja wie was...


----------



## _gecko (30. Jun 2022)

Sorry wenn meine Anfrage Rätsel aufgibt. Es gibt von der Architektur her gesehen zunächst 2 Komponenten, die miteinander kommunizieren sollen: eine Java App (Audio-Steuerung und Visualisierung) und eine Max App (Audio Ausführung). Bisher wurden beide Komponenten am selben Ort betrieben und ich habe die Kommunikation über OSC (oscP5) geregelt um Steuerungsdaten zu senden. Nun soll zwischen der AudioAusführung und der Steuerung/Visualisierung ein remote Datenaustausch ermöglicht werden. Da ich nun größere Datenmengen (audio) von der AudioAusführung zur Steuerung senden muß, stoße ich mit OSC an Grenzen. Das Hauptproblem ist die Audiodaten von Max (cycling74) an den entfernten Rechner zu senden um das Audio mit der Visualisierung und Steuerung synchron betreiben zu können. Die Steuerung sendet dabei weiterhin Steuerungsdaten an die KlangAusfürhung. Damit das funktioniert darf die Latenz der Audioübertragung nicht zu groß sein. Das ganze Projekt ist so verteilt auf verschiedene Sprachen angelegt weil ich auf bestimmte Bibliotheken zugreifen möchte, die es jeweils nur in den jeweiligen Sprachen gibt. Für die Zukunft ist geplant die Visualisierung in eine Unity App (mit C# Skripten) auszulagern.


----------

