Hallo, ich möchte demnächst Audio via Netzwerk an einen µC übertragen. Kennt ihr ein schon vorhandenes Protokoll zum übertragen von Audiodaten in der Bühnentechnik über TCP oder UDP in RAW? MfG Tobi
Gugst du hier: http://en.wikipedia.org/wiki/Audio_over_Ethernet und http://en.wikipedia.org/wiki/Audio_over_IP
Das wohl meistbenutzte Protokoll (da Teil von SIP) zur Audioübertragung via IP(UDP) dürfte RTP sein. TCP wird zur Audioübertragung nur benutzt, wenn die Latency groß sein darf (z.B. Streamen über HTTP) - für Echtzeitanwendungen eher ungeeignet. Was in der Bühnentechnik z.Zt. benutzt wird? Keine Ahnung.
Die entscheidende Frage ist, ob das mit irgendeinem Zeug kompatibel sein soll oder nicht unbedingt...
Tobi schrieb: > Kennt ihr ein schon vorhandenes Protokoll zum übertragen von Audiodaten > in der Bühnentechnik Da nimmt man MADI (bzw. MADI TP). Das geht auch mit Twisted-Pair Netzwerkkabeln, hat aber mit TCP oder UDP nichts zu tun. Die Leitung ist nur für MADI da. http://de.wikipedia.org/wiki/Multi_Channel_Audio_Digital_Interface
Nimm RTP und ignoriere einfach die Header, sprich füll die sinnvoll aus wo Du kannst. Dann kannst Du einige Werkzeuge für RTP verwenden. In der Anwendung sollte es egal sein, wenn Du nicht 100%ig kompatibel bist. Übrigens RTP ist kein Teil von SIP, es wird aber für VoIP zusammen mit SIP verwendet.
Du hast eine entscheidende Frage nicht beantwortet: Muss es zu irgendwas "offiziellem" kompatibel sein oder nur innerhalb deines eigenen Projektes? Ich habe mal ein Experiment mit einem Arduino gemacht: Von einer PC-Software aus eine Wave-Datei blockweise eingelesen und diese in 512-Byte-Blöcken per UDP an den Arduino gesendet. Dieser hat sie gepuffert und per PWM auf einen Lautsprecher gegeben. War zwar kein HiFi, aber besser als erwartet. Musik einigermaßen erträglich und Sprache gut verständlich ...
Da gibt es dann noch CobraNet, AES50 (Layer 1) oder AES51 (Layer 2). Alternativ gibt es noch PulseAudio (iirc UDP), was genau sowas macht Allerdings ist das etwas overengineered und eher für den Weg PC->Netzwerk->Ausgabe gedacht. Was Prinzipiell immer gleich ist: Man geht von zuverlässigen Verbindungen aus und sendet darüber (nicht zu) kleine Pakete mit jeweils ein paar hundert Samples sowie Timestamp. Der Empfänger setzt die wieder zu einem datenstrom zusammen und man ist versucht, möglichst wenig delay zu haben. Die Layer-1-Protokolle nutzen dabei die Phy von Ethernet, die Layer 2 immerhin Ethernet-Pakete und MAC-Adressen. Von daher würde ich da wohl auf Layer 2 setzen. Grüße Andreas
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.