RoarAudio/Vortrag/Was ist RoarAudio: Unterschied zwischen den Versionen

Aus UUGRN
Zeile 38: Zeile 38:


=== RoarAudio Projektziele ===
=== RoarAudio Projektziele ===
...
Das RoarAudio Projekt hat sich zum Ziel gesetzt ein Sound System zu entwickeln das folgende Eigenschaften hat:
* Es soll den POSIX Philosophien weitestgehend gerecht werden.
* Besonders hervorzuheben ist die starke Anlehnung an das POSIX Ein-/Ausgabekonzept.
* Auch hervorzuheben ist die Portabilität: RoarAudio ist verfügbar für 8-Bit µ-Controllern bis hin zu Großrechnern mit OpenVMS, GNU/Linux, Alle arten von BSDs und Win32 eingeschlossen.
* Echte Netzwerkstransparenz. Daraus resultiert unmittelbar ein Server-Klient Konzept. Optimierungen für den häufigen Fall das Klient und Server auf dem Selben Rechner sind existieren.
* Funktionalität für die Radio Produktion.
* Funktionalität für den Einsatz im Bühnen und Lautraum Bereich.
 
Aus den obigen Überlegungen wurde klar das es sinnvoll ist keine klassische Software Entwicklung zu betreiben sondern viel mehr ein Protokoll zu entwickeln und eine Referenz Implementierung an zu bieten. Dies gescheit auch in der Praxis auf diesem Wege. Mehr dazu später.


=== Produkte ===
=== Produkte ===

Version vom 9. April 2011, 00:46 Uhr

Was ist RoarAudio?
Ziel
ein Vortrag über das RoarAudio Projekt vor einem Unixpublikum mit keinem oder geringem Vorwissen zum Thema.
RoarAudio Logo

Abstrakt

Der Vortag "Was ist RoarAudio?" soll kurz das RoarAudio Projekt vorstellen. Er bewegt sich auf einer nicht-technischen Ebene und ist für alle Arten von Zuhörern geeignet.

Über den Referent

Philipp 'ph3-der-loewe' Schafft schreibt seit etwa 10 Jahren Software (primär in C und Perl). Im Moment studiert er Elektrotechnik/Automatisierungstechnik.

Besondere Interessen liegen in dem Bereich der Netzwerke und Bus Systeme, Mikrocontrollern, Kryptographie und Digitaler Audio Verarbeitung sowie Entwicklung kreativer Lösungen für Mathematik und Logik Rätseln und Übungen.

In seiner Freizeit beschäftigt er sich außerdem intensiv mit Großkatzen.

Vortrag

Was ist RoarAudio?

RoarAudio ist ein so genanntes Sound System. Es ist die Software welche zwischen einer Applikation des Benutzers, zum Beispiel eine Player, und dem Treiber sich befindet.

Das Sound System, und so auch RoarAudio, sorgt dafür das sich mehre Programme die vorhandene Hardware teilen können. Es sorgt dafür das einzelne Programme nicht gegenseitig sich den Zugang zu den Resourcen der Soundkarte versperren.

Auch fügt das Sound System zusätzliche Funktionalitäten hinzu. Hierzu zählen zum Beispiel getrennte Lautstärke Regelung für verschiedene Programme.

RoarAudio ist besonders auf die Produktion von Radio in Echtzeit ausgelegt. Es ist Netzwerktransparent. Das heißt das Programme auch über das Netzwerk Zugriff nehmen können. Auch kann man mit roard -- Was das ist Später -- direkt beispielsweise Internet Radio senden.

Neben seiner guten Netzwerkfähigkeit hebt sich RoarAudio auch durch die gute Unterstützung von Komprimierten Audio Übertragungen und der Unterstützung für Meta Daten hervor.

Audio Stack unter UNIX und GNU/Linux

Unter UNIX und auch unter GNU/Linux greifen Programme niemals direkt auf Hardware zu. Selbiges gilt auch für die Audio Ausgabe. Im allgemeinen Falle durchlaufen sie drei Schichten:

  • Die Interne Schicht des Programms das etwas abspielen will,
  • Das Sound System,
  • Die Audio Treiber im Kernel.

In einigen fällen sind die Audio Treiber im Kernel und das Sound System das selbe. Dies ist beispielsweise bei OSS, dem Open Sound System, und ALSA, der Advanced Linux Sound Architecture. Oft ist dies aber auch getrennt. Diese beiden Treiber Pakete sind die wohl bekanntesten, auch wenn OSS entgegen landläufiger Meinung auf keinem aktuellen Betriebssystem als Standard Treiber vorkommt. OSS wird heute faktisch nur noch Emuliert.

RoarAudio Projektziele

Das RoarAudio Projekt hat sich zum Ziel gesetzt ein Sound System zu entwickeln das folgende Eigenschaften hat:

  • Es soll den POSIX Philosophien weitestgehend gerecht werden.
  • Besonders hervorzuheben ist die starke Anlehnung an das POSIX Ein-/Ausgabekonzept.
  • Auch hervorzuheben ist die Portabilität: RoarAudio ist verfügbar für 8-Bit µ-Controllern bis hin zu Großrechnern mit OpenVMS, GNU/Linux, Alle arten von BSDs und Win32 eingeschlossen.
  • Echte Netzwerkstransparenz. Daraus resultiert unmittelbar ein Server-Klient Konzept. Optimierungen für den häufigen Fall das Klient und Server auf dem Selben Rechner sind existieren.
  • Funktionalität für die Radio Produktion.
  • Funktionalität für den Einsatz im Bühnen und Lautraum Bereich.

Aus den obigen Überlegungen wurde klar das es sinnvoll ist keine klassische Software Entwicklung zu betreiben sondern viel mehr ein Protokoll zu entwickeln und eine Referenz Implementierung an zu bieten. Dies gescheit auch in der Praxis auf diesem Wege. Mehr dazu später.

Produkte

...

Protokolle

...

Haupt Packet

...

VS API

...

µRoar und µRoarD

...

RoarAudio PlayList Daemon

...

aroarfw und SCRSI

...

Zusammenfassung

...