RoarAudio/Vortrag/Irgendwas rund um RoarAudio: Unterschied zwischen den Versionen

Aus UUGRN
K (ziehl update...)
K (→‎Weitere Projekte: added links)
 
(24 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 10: Zeile 10:
  
 
== Abstrakt ==
 
== Abstrakt ==
RoarAudio ist ein Sound-Server für POSIX konformen Betriebssysteme (GNU/Linux, *BSD, Mac OS X und andere) unter aktiver Entwicklung. Er bietet gegenüber anderen Sound-Servern zusätzliche Funktionen für den Betrieb in kleinen Radio und TV Studios, aber auch für den Heimgebrauch. Dieser Vortrag soll einen Einblick in RoarAudio, seine Funktionalität und Funktionsweise sowie damit verbunden Problemstellungen auf einfachem Niveau bieten. Den Abschluss bildet eine Demonstration.
+
RoarAudio ist ein Sound-Server für POSIX konformen Betriebssysteme (GNU/Linux, *BSD, Mac OS X und andere) unter aktiver Entwicklung. Er bietet gegenüber anderen Sound-Servern zusätzliche Funktionen für den Betrieb in kleinen Radio und TV Studios, aber auch für den Heimgebrauch. Dieser Nightning-Talk soll einen Einblick in RoarAudio und seine Funktionalität auf einfachem Niveau bieten. Den Abschluss bildet eine offene Runde mit Fragen, Diskussion und bei Wunsch auch der einen oder anderen Demonstration.
  
 
== Vortrag ==
 
== Vortrag ==
Zeile 26: Zeile 26:
  
 
=== Projekt Ziele ===
 
=== Projekt Ziele ===
{{Vortrags Zeit|10}}
+
{{Vortrags Zeit|5}}
  
 
Das Projekt verfolgt im Prinzip das Ziel, eine leistungsfähige Mischsoftware für den Studio Betrieb zur Verfügung zu stellen, aber dennoch ein Produkt zu liefern das auch für den Heim-Anwender angemessen ist.
 
Das Projekt verfolgt im Prinzip das Ziel, eine leistungsfähige Mischsoftware für den Studio Betrieb zur Verfügung zu stellen, aber dennoch ein Produkt zu liefern das auch für den Heim-Anwender angemessen ist.
Zeile 37: Zeile 37:
 
==== Im Studio Betrieb ====
 
==== Im Studio Betrieb ====
 
Wie oben schon angedeutet ist RoarAudio aber im Studio-Einsatz wesentlich interessanter: in einem klassischen Studio steht meist ein großes analoges Mischpult. Dies ist eine wundervolle Sache solange man primär analoge Eingänge braucht: beispielsweise von einer Band. In heutigen Radio- und Fernsehstudios kommen aber die meisten Kanäle aus dem Rechner oder anderen digitalen Geräten wie CD Spielern.
 
Wie oben schon angedeutet ist RoarAudio aber im Studio-Einsatz wesentlich interessanter: in einem klassischen Studio steht meist ein großes analoges Mischpult. Dies ist eine wundervolle Sache solange man primär analoge Eingänge braucht: beispielsweise von einer Band. In heutigen Radio- und Fernsehstudios kommen aber die meisten Kanäle aus dem Rechner oder anderen digitalen Geräten wie CD Spielern.
 
Ein analoges Mischen hat hier nun mehre Nachteile, die wichtigsten sind wohl:
 
* Analoges Rauschen
 
* Verzerrungen im Frequenzgang
 
* Klirren
 
* (Quantisierungsrauchen (DAC->ADC))
 
 
Eine Alternative wäre in einigen Fällen sicherlich ein Digital-Mischpult. Diese sind aber meist sehr teuer.
 
 
RoarAudio kommt hier als erst einmal reine Software-basierende Lösung. Natürlich ist es möglich über die Steuerschnittstellen auch externe Hardware anzuschließen. Hier gibt es auch Planungen, ein Hardware Frontend zu entwerfen das dann kostengünstig zu haben ist.
 
  
 
=== Was hebt RoarAudio hervor? ===
 
=== Was hebt RoarAudio hervor? ===
Zeile 65: Zeile 55:
 
RoarAudio ist Netzwerks-transparent, das heißt das Applikationen keinen Unterschied sehen zwischen Verbindungen mit einer lokalen Instanz oder einer auf einem anderen Rechner.
 
RoarAudio ist Netzwerks-transparent, das heißt das Applikationen keinen Unterschied sehen zwischen Verbindungen mit einer lokalen Instanz oder einer auf einem anderen Rechner.
  
Zu diesem Zweck werden mehre Protokolle unterstützt: [[UNIX Domain Sockets]] für lokale Verbindungen sowie TCP/[[IP]] und [[DECnet]] für Verbindungen mit entfernten Rechnern. Auch existiert Support für verschiedene [[Proxy]] Typen. Des weiteren besteht die Möglichkeit Server im Lokalen Netzwerk mittels [[OpenSLP]] automatisch zu finden (so genanntes [[ZeroConf]]).
+
Zu diesem Zweck werden mehre Protokolle unterstützt: [[UNIX Domain Sockets]] für lokale Verbindungen sowie TCP/[[IP]] und [[DECnet]] für Verbindungen mit entfernten Rechnern. Des weiteren besteht die Möglichkeit Server im Lokalen Netzwerk mittels [[OpenSLP]] automatisch zu finden (so genanntes [[ZeroConf]]).
  
 
==== Meta Daten ====
 
==== Meta Daten ====
 
{{Vortrags Zeit|2}}
 
{{Vortrags Zeit|2}}
  
RoarAudio hat die Fähigkeit auf per Stream Basis Metadaten ab zu legen. Die Mechanismen sind denen von [[Vorbis Comments]] nachempfunden können aber prinzipiell mehr. Einiges davon ist allerdings noch nicht vollständig implementiert.
+
RoarAudio hat die Fähigkeit auf per Stream Basis Metadaten ab zu legen.
  
 
Es besteht neben dem manuellen Setzen die Möglichkeit daß ein Player sie setzt und das ''roard'' sie selbstständig setzt. Im letzteren Falle werden diese von verschiedenen anderen Streams zusammen gesetzt. Dies kann nützlich sein um automatisch beim Streaming die Metadaten von einem Player zu übernehmen um die Titel-Informationen weiter zu führen. Manuelles setzen mag als Beispiel interessant sein um den Sendernamen zu setzen.
 
Es besteht neben dem manuellen Setzen die Möglichkeit daß ein Player sie setzt und das ''roard'' sie selbstständig setzt. Im letzteren Falle werden diese von verschiedenen anderen Streams zusammen gesetzt. Dies kann nützlich sein um automatisch beim Streaming die Metadaten von einem Player zu übernehmen um die Titel-Informationen weiter zu führen. Manuelles setzen mag als Beispiel interessant sein um den Sendernamen zu setzen.
Zeile 79: Zeile 69:
 
''Viele Programme haben keine Unterstützung für RoarAudio, was nun?''
 
''Viele Programme haben keine Unterstützung für RoarAudio, was nun?''
  
Um dieses Problem zu lösen gibt es diverse Kompatibilitäts-Bibliotheken und Kompatibilitäts-[[Binary]]s.
+
Um dieses Problem zu lösen gibt es diverse Kompatibilitäts-Bibliotheken, Kompatibilitäts-[[Binary]]s und Server seitige Protokoll Emulation.
 +
 
 
Kompatibilitäts-Bibliotheken stellen Bibliotheken dar welche binär-kompatibel andere Audio Systeme emulieren.
 
Kompatibilitäts-Bibliotheken stellen Bibliotheken dar welche binär-kompatibel andere Audio Systeme emulieren.
Dazu müssen sie schlichtweg einfach anstelle der Bibliothek des entsprechen Systems installiert werden und leiten dann alle Anfragen an RoarAudio weiter. Dies geschieht natürlich nur im Rahmen des Funktionsumfang der entsprechenden Bibliothek.
+
Dazu müssen sie schlichtweg einfach anstelle der Bibliothek des entsprechen Systems installiert werden und leiten dann alle Anfragen an RoarAudio weiter.
  
Die mit Abstand wohl wichtigste ist '''libroaresd''', welche das [[EsounD]] Interface emuliert. Das EsounD Interface wird von den allermeisten Applikationen unterstützt da es das wohl älteste Soundserver Interface ist. Es existiert seit 1998.
+
Kompatibilitäts Bibliotheken gibt es für das [[YIFF Sound System]], [[EsounD]], [[aRts|KDEs aRtsc]], [[RSound]], [[PulseAudio]], [[sndio|OpenBSD sndio]] und [[OSS]. Zusammen mit den existierenden Plugins deckt dies nahezu den vollständigen Player Markt für GNU/Linux und BSD ab.
 
 
Weitere Kompatibilitäts Bibliotheken gibt es für das [[YIFF Sound System]], [[aRts|KDEs aRtsc]], [[PulseAudio]] und [[sndio|OpenBSD sndio]]. Zusammen mit den existierenden Plugins deckt dies nahezu den vollständigen Player Markt für GNU/Linux und BSD ab.
 
  
 
Die Kompatibilitäts-Binarys funktionieren im Grunde gleich wie die Bibliotheken: Sie werden anstatt der Orginale installiert und leiten alle Anfragen weiter. Sie werden vorallem für Kompatibilität mit (Shell-)[[Skript]]en benötigt.
 
Die Kompatibilitäts-Binarys funktionieren im Grunde gleich wie die Bibliotheken: Sie werden anstatt der Orginale installiert und leiten alle Anfragen weiter. Sie werden vorallem für Kompatibilität mit (Shell-)[[Skript]]en benötigt.
Zeile 95: Zeile 84:
 
Aktuelle liste hier entnehmen: [[RoarAudio/Installation_und_Einrichtung#Kompatibilit.C3.A4ts_Layer|RoarAudio/Installation und Einrichtung Sektion Kompatibilitäts Layer]].
 
Aktuelle liste hier entnehmen: [[RoarAudio/Installation_und_Einrichtung#Kompatibilit.C3.A4ts_Layer|RoarAudio/Installation und Einrichtung Sektion Kompatibilitäts Layer]].
  
=== Konzepte und Architektur ===
+
=== Was gibt es Neues? ===
{{Vortrags Zeit|1}}
 
 
 
RoarAudio ist zwar in C geschrieben aber größtenteils Objekt-orientiert. Er umfasst im Moment etwa <<<aktueller wert hier einsetzen>>> tausend Zeilen C. (EsounD kommt auf rund 15 tausend, PulseAudio 74 tausend und aRts auf 130 tausend).
 
 
 
==== Clients und Streams ====
 
{{Vortrags Zeit|5}}
 
  
Vor allem wichtig und nach Außen hin sichtbar sind die Client und Stream Objekte.
+
==== Tabelle ====
Ein Client Objekt verkörpert einen (Netzwerk) Client, zum Beispiel einen Player oder ein Steuerprogramm wie roarctl. Es kann auch Stream Objekte assoziiert haben (Beispielsweise im Falle von Abspielen von Musik).
 
  
Ein Stream Objekt stellt einen eigentlichen Audio Datenstrom dar. Dieses Objekt beinhaltet diverse Informationen über den Datenstrom: Informationen wie roard ihn auslesen kann, Sample Rate/Bits/Channels, Meta Daten und vieles mehr. Ein Stream gehört immer zu einem Client, wobei der Client auch roard selbst sein kann. Er lässt sich durch ''attachen'' wechseln. Dies kommt zum Einsatz um Hintergrund-Streams zu ermöglichen.
+
{| class="wikitable"
 +
! Gebiet
 +
! Neuerungen
 +
|-
 +
! Protokolle
 +
| RPlay, RSound, PulseAudio Simple, EsounD
 +
|-
 +
! complibs
 +
| libroarrsound, libroaross: {OSS, DMX4Linux}, libroarpulse
 +
|-
 +
! compbins
 +
| esddsp, artsdsp, audiooss, padsp,
 +
|-
 +
! Treiber
 +
| ALSA, RSound, PortAudio, WMM
 +
|-
 +
! Tools
 +
| roarinterconnect, roarphone, roardtmf
 +
|-
 +
|}
  
Bei jedem Audio Datenstrom der in den roard hinein oder heraus fließt handelt es sich um einen Stream. Dies schließt Datenströme zu Geräten wie Soundcards mit ein. Viele andere Soundserver behandeln Soundcards getrennt von den Streams der Clients. Hier unterscheidet sich RoarAudio deutlich. Die strickte Gleichbehandlung aller Datenströme in RoarAudio sorgt für eine maximale Flexibilität.
+
==== Pre ====
  
==== Driver ====
+
TODO: in sinvollere liste ueberfueren:
{{Vortrags Zeit|2}}
+
<pre>
 +
v. 0.3beta7 - ?
  
Ein Driver ist ein Objekt das eine Schnittstelle zur Verfügung stellt um externe Ressourcen anzusprechen, die sich nicht der UNIX IO Philosophie entsprechend verhalten (Erweiterte Handshake zum Beispiel). Dies können Soundcards oder auch Streaming Server sein. Hierzu zählen als Beispiel der OSS (Open Sound System) und der libshout (Icecast) Treiber.
+
v. 0.3beta6 - Thu Jun 24 2010 20:47 CEST
 +
        Prereleases: 0: Fri Jun 11 2010 10:47 CEST;
 +
                    1: Sat Jun 12 2010 11:07 CEST;
 +
                    2: Wed Jun 16 2010 12:52 CEST
  
==== Codecfilter ====
+
v. 0.3beta5 - Sun May 02 2010 12:41 CEST
{{Vortrags Zeit|2}}
+
        * Support to store server address in X11's root window propertys
 +
        * wrote a lot more libroarpulse code, some async API clients work now
 +
        * added support for notify beeps
 +
        * Added support for OSS to roarinterconnect(1)
  
Bei den Codecfiltern handelt es sich um ein Abstraktions Layer welches roard die Möglichkeit gibt höhere Codecs zu sprechen wie etwa Ogg Vorbis. Einige Codecfilter können nur Lesen andere auch Schreiben. Wird ein Stream mit einem unterstützen Codec aufgebaut so wird automatisch eine Instanz eines passenden Codecfilters erzeugt. Sie verhalten sich somit weitgehend transparent.
+
v. 0.3beta4 - Sat Feb 06 2010 26:02 CET
 +
        * support for dynamic lib loading, plugin interface
  
=== Sonstiges ===
+
v. 0.3beta3 - Fri Jan 22 2010 22:17 CET
{{Vortrags Zeit|0}}
+
        * write much better support for config, including codec config
 +
        * added protocol support for icy
  
==== Win32 Port ====
+
v. 0.3beta2 - Mon Oct 05 2009 19:48 CEST
Es existiert ein experimenteller [[Win32]] Nativ-[[Port]] der RoarAudio Bibliotheken, des roards sowie einiger weiterer grundlegender Hilfsprogramme. Die Funktionalität ist hier aber recht eingeschenkt.
+
        * added support for compatibility binarys
  
RoarAudio ist des weiteren in [[Cygwin]] lauffähig. Unter Cygwin können deutlich mehr funktionen als nativ genutzt werden. Allerdings sind hier auch einige Einschränkungen vorhanden.
+
v. 0.3beta1 - Sat Sep 26 2009 25:50 CEST
 +
        * added 'subsystem' complex: multi subsystem data on single streams
 +
        * added basic /Radio Data and Trasmitter Control System/.
  
Beide Optionen lassen sich nahezu beliebig kombinieren.
+
v. 0.3beta0 - Sun Sep 06 2009 22:42 CEST
 +
        * added basic light control subsystem
 +
        * wrote basic MIDI subsystem
 +
        * added OpenSLP support
 +
        * added simple raw data subsystem
 +
        * added working support for THRU streams
 +
        * added multi homed support to server
 +
</pre>
  
Neben einigen Nativen Plugins besteht auch die Möglichkeit einige Win32 Applikationen mittels pseudo Web Radio Streams anzubinden.
+
=== Weitere Projekte ===
 
+
{| class="wikitable" border="1"
==== MP3 ====
+
! Projekt
* Kein Streaming
+
! H/S
* Keine Meta Daten
+
! S/C
* Schlechte Qualität
+
! Lizenz
* Patente
+
! Beschreibung
 +
|-
 +
! [[RoarAudio]]
 +
| S
 +
| S/C
 +
| GPL, LGPL
 +
| Haupt Projekt
 +
|-
 +
! [[RoarAudio PlayList Daemon]]
 +
| S
 +
| S/C
 +
| GPLv3
 +
| Playlisten Verwaltung
 +
|-
 +
! [[µRoar]]
 +
| S
 +
| C
 +
| LGPLv3
 +
| Minimalistiche Klient Bibliothek
 +
|-
 +
! [[µRoarD]]
 +
| S
 +
| S
 +
| GPLv3
 +
| Kleiner RoarAudio Sound Server
 +
|-
 +
! [[Romie]]
 +
| S
 +
| C
 +
| ???
 +
| Web Klient für den RoarAudio PlayList Daemon (rpld)
 +
|-
 +
! [[RoaringBox]]
 +
| S/H
 +
| ?
 +
| ???
 +
| RoarAudio basierendes Radio
 +
|-
 +
! [[nrd]]
 +
| S
 +
| S
 +
| GPLv3
 +
| RoarAudio Sound Server in 192 Zeilen C!
 +
|-
 +
! [[aroarfw]]
 +
| S/H?
 +
| S/C
 +
| GPLv3
 +
| Framework um RoarAudio basierende Software/Firmware zu entwikeln
 +
|-
 +
! [[Tantalos]]
 +
| S
 +
| S/C
 +
| ?/GPLv3
 +
| Automatisches finden von Musik (u.ae.) im Netz
 +
|-
 +
! [[RoarPannel]]
 +
| H
 +
| C
 +
| ???
 +
| HW Mixer frontend
 +
|-
 +
! [[RAUM]]
 +
| S
 +
|
 +
| GPL?
 +
| Media Container
 +
|-
 +
! [[RAUM Disc]]
 +
| S/H
 +
|
 +
| ???
 +
| Profile fuer RAUM
 +
|-
 +
|}
  
 
=== Querverweise ===
 
=== Querverweise ===
{{Vortrags Zeit|5}}
+
''Nicht im Vortrag, Wiki Only''
  
 
; [http://raum.keep-cool.org/ RAUM Media Container]
 
; [http://raum.keep-cool.org/ RAUM Media Container]
Zeile 151: Zeile 244:
  
 
=== Vorführung ===
 
=== Vorführung ===
{{Vortrags Zeit|15}}
+
''Nach bedarf.''
 
 
* Allgemeiner Betrieb
 
** roard
 
** roarvorbis/roarcatplay?
 
** roarctl
 
** [[XMMS]] / [[Audacious]]
 
* Kompatibilitäts Bibliotheken
 
** libroaresd:
 
*** [[Amarok]]
 
  
 
== Fragen ==
 
== Fragen ==

Aktuelle Version vom 5. Juli 2010, 13:34 Uhr

Was ist RoarAudio?
Ziel
ein Nightning-Talk über RoarAudio vor einem Unixpublikum mit kaum Vorwissen zum Thema.
RoarAudio Logo

Der Autor[Bearbeiten]

Philipp ph3-der-loewe Schafft, Software Entwickler und Projekt Urheber.

Abstrakt[Bearbeiten]

RoarAudio ist ein Sound-Server für POSIX konformen Betriebssysteme (GNU/Linux, *BSD, Mac OS X und andere) unter aktiver Entwicklung. Er bietet gegenüber anderen Sound-Servern zusätzliche Funktionen für den Betrieb in kleinen Radio und TV Studios, aber auch für den Heimgebrauch. Dieser Nightning-Talk soll einen Einblick in RoarAudio und seine Funktionalität auf einfachem Niveau bieten. Den Abschluss bildet eine offene Runde mit Fragen, Diskussion und bei Wunsch auch der einen oder anderen Demonstration.

Vortrag[Bearbeiten]

Was ist RoarAudio?[Bearbeiten]

(Geplante Zeit: 5 Minuten)


RoarAudio ist ein Soundserver.

Was ist ein Soundserver[Bearbeiten]

Ein Soundserver ist eine Programm dass im Hintergrund Audio Daten mischt und das Ergebnis weiter leitet, meist an eine Soundcard.

Soundserver werden benötigt wenn wenn das unterliegende Audio-Ausgabegerät nur einen einzigen Datenstrom zu einer Zeit verarbeiten kann (Single Stream Soundcards). Sie stellen eine Art virtuelle Soundcard dar zu der Programme wie Player ihre Daten schicken können um eine simultane Ausgabe mit zum Beispiel Notify-Sounds von Chat Clients oder ähnlichem zu ermöglichen.

Sie bieten meist weitere Funktionen wie das Mischen unter Berücksichtigung von verschiedenen Pegeln. Einige Soundserver ermöglichen auch die Benutzung von Netzwerken zur Übertragung von Audio Daten für die Wiedergabe auf einer anderen Maschine. Dies beides kann auch RoarAudio.

Projekt Ziele[Bearbeiten]

(Geplante Zeit: 5 Minuten)


Das Projekt verfolgt im Prinzip das Ziel, eine leistungsfähige Mischsoftware für den Studio Betrieb zur Verfügung zu stellen, aber dennoch ein Produkt zu liefern das auch für den Heim-Anwender angemessen ist.

für Heim-Anwender[Bearbeiten]

Heim-Anwender Teilen sich in zwei Gruppen auf: Die größere Menge interessiert es nicht wieso Musik aus den Lautsprechern kommt, Hauptsache sie tut es. Für diese Gruppe muss RoarAudio einfach out of the box funktionieren. Die andere Gruppe sind Anwender die mehr machen wollen. Hier soll RoarAudio ein leistungsstarkes Backend sein das möglichst Ressourcen schonend alle gewünschten Funktionen anbietet.

Im Studio Betrieb[Bearbeiten]

Wie oben schon angedeutet ist RoarAudio aber im Studio-Einsatz wesentlich interessanter: in einem klassischen Studio steht meist ein großes analoges Mischpult. Dies ist eine wundervolle Sache solange man primär analoge Eingänge braucht: beispielsweise von einer Band. In heutigen Radio- und Fernsehstudios kommen aber die meisten Kanäle aus dem Rechner oder anderen digitalen Geräten wie CD Spielern.

Was hebt RoarAudio hervor?[Bearbeiten]

Hier Sollen einige der besonderen Fähigkeiten von RoarAudio erläutert werden.

Codecs[Bearbeiten]

(Geplante Zeit: 4 Minuten)


RoarAudio zeichnet sich dadurch aus daß er zusätzlich zu PCM Rohdaten auch höher Codecs versteht. Dies hat mehre Vorteile:

  • Der Server kann Streams in höheren Codecs selbstständig verarbeiten. Dies ist zum Beispiel wichtig um Webradio als Background Stream abzuspielen.
  • Es ist dem Server möglich direkt Streaming-Server wie icecast zu bedienen. Es ist keine weitere lange pipe nötig um Webradio zu senden. Dies verringert die Störanfälligkeit erheblich und verringert die Latenz, da pipe-Puffer entfallen.
  • Auch ist es nur mit stark komprimierenden Codecs möglich über die dem Heim-Anwender zur Verfügung stehenden Schmalband-Anschlüsse Audio entweder von Client zu Server oder zwischen zwei Servern auszutauschen. Auch eine Kopplung über ISDN Kanäle ist so möglich.

Netzwerk-Transparenz[Bearbeiten]

(Geplante Zeit: 2 Minuten)


RoarAudio ist Netzwerks-transparent, das heißt das Applikationen keinen Unterschied sehen zwischen Verbindungen mit einer lokalen Instanz oder einer auf einem anderen Rechner.

Zu diesem Zweck werden mehre Protokolle unterstützt: UNIX Domain Sockets für lokale Verbindungen sowie TCP/IP und DECnet für Verbindungen mit entfernten Rechnern. Des weiteren besteht die Möglichkeit Server im Lokalen Netzwerk mittels OpenSLP automatisch zu finden (so genanntes ZeroConf).

Meta Daten[Bearbeiten]

(Geplante Zeit: 2 Minuten)


RoarAudio hat die Fähigkeit auf per Stream Basis Metadaten ab zu legen.

Es besteht neben dem manuellen Setzen die Möglichkeit daß ein Player sie setzt und das roard sie selbstständig setzt. Im letzteren Falle werden diese von verschiedenen anderen Streams zusammen gesetzt. Dies kann nützlich sein um automatisch beim Streaming die Metadaten von einem Player zu übernehmen um die Titel-Informationen weiter zu führen. Manuelles setzen mag als Beispiel interessant sein um den Sendernamen zu setzen.

Kompatibilitäts Bibliotheken und Binarys[Bearbeiten]

(Geplante Zeit: 4 Minuten)


Viele Programme haben keine Unterstützung für RoarAudio, was nun?

Um dieses Problem zu lösen gibt es diverse Kompatibilitäts-Bibliotheken, Kompatibilitäts-Binarys und Server seitige Protokoll Emulation.

Kompatibilitäts-Bibliotheken stellen Bibliotheken dar welche binär-kompatibel andere Audio Systeme emulieren. Dazu müssen sie schlichtweg einfach anstelle der Bibliothek des entsprechen Systems installiert werden und leiten dann alle Anfragen an RoarAudio weiter.

Kompatibilitäts Bibliotheken gibt es für das YIFF Sound System, EsounD, KDEs aRtsc, RSound, PulseAudio, OpenBSD sndio und [[OSS]. Zusammen mit den existierenden Plugins deckt dies nahezu den vollständigen Player Markt für GNU/Linux und BSD ab.

Die Kompatibilitäts-Binarys funktionieren im Grunde gleich wie die Bibliotheken: Sie werden anstatt der Orginale installiert und leiten alle Anfragen weiter. Sie werden vorallem für Kompatibilität mit (Shell-)Skripten benötigt.

Neben dem direktem Installieren dieser Kompatibilitäts Layer lassen sie sich auch getrennt installieren und bei bedarf mittels des Programms roarify aktivieren:

$ roarify myapp ...
Welche Schnittstelle für was?[Bearbeiten]

Aktuelle liste hier entnehmen: RoarAudio/Installation und Einrichtung Sektion Kompatibilitäts Layer.

Was gibt es Neues?[Bearbeiten]

Tabelle[Bearbeiten]

Gebiet Neuerungen
Protokolle RPlay, RSound, PulseAudio Simple, EsounD
complibs libroarrsound, libroaross: {OSS, DMX4Linux}, libroarpulse
compbins esddsp, artsdsp, audiooss, padsp,
Treiber ALSA, RSound, PortAudio, WMM
Tools roarinterconnect, roarphone, roardtmf

Pre[Bearbeiten]

TODO: in sinvollere liste ueberfueren:

v. 0.3beta7 - ?

v. 0.3beta6 - Thu Jun 24 2010 20:47 CEST
        Prereleases: 0: Fri Jun 11 2010 10:47 CEST;
                     1: Sat Jun 12 2010 11:07 CEST;
                     2: Wed Jun 16 2010 12:52 CEST

v. 0.3beta5 - Sun May 02 2010 12:41 CEST
        * Support to store server address in X11's root window propertys
        * wrote a lot more libroarpulse code, some async API clients work now
        * added support for notify beeps
        * Added support for OSS to roarinterconnect(1)

v. 0.3beta4 - Sat Feb 06 2010 26:02 CET
        * support for dynamic lib loading, plugin interface

v. 0.3beta3 - Fri Jan 22 2010 22:17 CET
        * write much better support for config, including codec config
        * added protocol support for icy

v. 0.3beta2 - Mon Oct 05 2009 19:48 CEST
        * added support for compatibility binarys

v. 0.3beta1 - Sat Sep 26 2009 25:50 CEST
        * added 'subsystem' complex: multi subsystem data on single streams
        * added basic /Radio Data and Trasmitter Control System/.

v. 0.3beta0 - Sun Sep 06 2009 22:42 CEST
        * added basic light control subsystem
        * wrote basic MIDI subsystem
        * added OpenSLP support
        * added simple raw data subsystem
        * added working support for THRU streams
        * added multi homed support to server

Weitere Projekte[Bearbeiten]

Projekt H/S S/C Lizenz Beschreibung
RoarAudio S S/C GPL, LGPL Haupt Projekt
RoarAudio PlayList Daemon S S/C GPLv3 Playlisten Verwaltung
µRoar S C LGPLv3 Minimalistiche Klient Bibliothek
µRoarD S S GPLv3 Kleiner RoarAudio Sound Server
Romie S C ??? Web Klient für den RoarAudio PlayList Daemon (rpld)
RoaringBox S/H ? ??? RoarAudio basierendes Radio
nrd S S GPLv3 RoarAudio Sound Server in 192 Zeilen C!
aroarfw S/H? S/C GPLv3 Framework um RoarAudio basierende Software/Firmware zu entwikeln
Tantalos S S/C ?/GPLv3 Automatisches finden von Musik (u.ae.) im Netz
RoarPannel H C ??? HW Mixer frontend
RAUM S GPL? Media Container
RAUM Disc S/H ??? Profile fuer RAUM

Querverweise[Bearbeiten]

Nicht im Vortrag, Wiki Only

RAUM Media Container
Für RoarAudio entwickelter Container, vor allem für Speex und CELT.
Icecast - Multimedia streaming server
Software für Webradio und WebTV streaming.
Xiph.Org Foundation
Organisation zur Entwicklung von freien Codecs.
SIP
Standard für VoIP - Internet-Telephonie.

Vorführung[Bearbeiten]

Nach bedarf.

Fragen[Bearbeiten]

  • immer gerne