# Das Handbuch zu &arts;

Stefan Westerfeld

    stefan@space.twc.de

Jeff Tranter

    tranter@kde.org

Frank Schütte

    F.Schuette@t-online.de

Übersetzung
1999-2001 Stefan Westerfeld & Jeff Tranter
&FDLNotice;
2001-06-10
1.00.09

Dieses Handbuch beschreibt &arts;, den analogen Echtzeit-Synthesizer.

aRts artsbuilder Synthesizer Multimedia Struktur Musik Klänge KDE

## Einleitung

### Was ist &arts;?

Der analoge Echtzeit-Synthesizer (&arts;) ist ein modulares System zur Synthetisierung von Klängen und Musik auf einem Computer. Mit Hilfe von kleinen Bausteinen namens Modulen kann der Benutzer leicht komplexe Audio-Werkzeuge zusammenstellen. Module stellen typische Funktionen wie Hüllkurvengeneratoren, Filter, Audioeffekte, Mixer und Wiedergabe digitaler Klänge in verschiedenen Dateiformaten zur Verfügung.

Der &artsd; Soundserver mixt Klänge aus unterschiedlichen Quellen in Echtzeit. Damit können sich verschiedene Anwendungen transparent die zur Verfügung stehende Hardware teilen.

Durch Verwendung von &MCOP;, dem Multimedia-Kommunikationsprotokoll, können Multimediaprogramme netzwerktransparent (aus Sicherheitsgründen mit Authentifizierung) und plattformübergreifend durch die Verwendung von Schnittstellen programmiert werden, die sprachunabhängig mit Hilfe von &IDL; festgelegt werden können. Es gibt auch eine Unterstützung für sonstige und älter Anwendungen, die nicht &arts; verwenden. &arts; stellt einen Kernbestandteil der &kde; 2-Umgebung dar und ist die Basis der &kde;-Multimedia-Architektur. &arts; wird zukünftig noch weitere Medien unterstützen, unter anderem Video. Wie auch &kde;, kann &arts; auf einigen Betriebssystemen, einschließlich &Linux; und BSD-Varianten eingesetzt werden. &arts; kann auch unabhängig von &kde; verwendet werden.

### Verwendung dieses Dokuments

Dieses Dokument ist eine umfassende Dokumentation für Benutzer unterschiedlicher Vorkenntnisse für &arts;. Falls Sie ein gelegentlicher Nutzer von Multimediaprogrammen sind, sollten Sie einen anderen Weg durch dieses Dokument wählen als ein Entwickler von &arts;-Anwendungen.

Sie sollten zuerst den Abschnitt Herunterladen und Kompilieren von &arts; lesen, falls Sie &arts; installieren möchten. Sollten Sie bereits ein funktionierendes System haben (häufig als Teil ihrer Distribution) können Sie diesen Abschnitt überspringen.

Als nächstes sollten Sie die Abschnitte unter &arts;-Werkzeuge, besonders &artsd;, &artscontrol;, &artsshell; und &artsdsp; lesen. Diese Abschnitte helfen Ihnen bei der optimalen Nutzung von &arts;.

Wenn Sie weitergehende Arbeiten mit &arts; planen, lesen Sie das Kapitel über &arts-builder; und überfliegen Sie die Schritt-für-Schritt-Einführung. Das sollte Ihnen einen Eindruck der großen Möglichkeiten von &arts; und den ohne Programmierung nutzbaren Modulen geben.

Wenn Sie mehr über die internen Details von &arts; wissen möchten, weil Sie Multimedia-Anwendungen programmieren oder &arts; erweitern wollen, lesen Sie einiges oder alles aus dem Kapitel &arts; Details. Das sollte Ihnen ein Verständnis der Konzepte von &arts; ermöglichen, die für eine erfolgreiche Programmentwicklung notwendig sind.

Wenn Sie besonders an den MIDI-Fähigkeiten von &arts; interessiert sind, sollten Sie das Kapitel &MIDI; lesen.

Falls Sie planen &arts;-kompatible Multimedia-Anwendungen zu programmieren, lesen Sie das Kapitel &arts; Anwendungsprogramm-Schnittstellen, das die verschiedenen APIsdetailiert beschreibt.

Wenn Sie &arts; durch neue Module erweitern wollen, lesen Sie das Kapitel &arts;-Module.

Falls Sie eine Anwendung ändern wollen, sodass Sie mit &arts; zusammenarbeitet, lesen Sie das Kapiteln Anwendungen für &arts; portieren.

Wie Sie Beiträge zu &arts; leisten können, erfahren Sie im Kapitel Zu &arts; beitragen. Die zukünftige Planung für &arts; erfahren Sie im Kapitel Zukünftige Arbeiten. Dort finden Sie auch Verknüpfungen zu weiteren Informationen.

Wir haben das Hanbuch mit einigem Zusatzmaterial abgerundet: Das sind im Einzelnen Antworten auf häufig gestellte Fragen, eine Liste der Mitarbeiter, detailierte Informationen zu Copyright und Lizenz von &arts; und einige Hintergrundinformationen zu digitalem Audio und &MIDI;. Weiterhin ist ein Glossar der verwendeten Begriffe enthalten.

Dieses Handbuch ist noch keineswegs vollständig. Falls Sie Teile hinzufügen möchten, sind Sie sehr willkommen. Kontaktieren Sie in diesem Fall zuerstt Jeff Tranter tranter@kde.org oder Stefan Westerfeld stefan@space.twc.de, um Dopplungen zu vermeiden.

### Entwicklungsgeschichte

Spät im Jahre 1997 begann Stefan Westerfeld mit der Arbeit an einem modularen Echtzeit-System zur Klang-Synthese. Das Programm war ursprünglich für einen Power-PC unter &AIX; bestimmt. Die erste Version war einfach, unterstützte aber ein vollständiges Flusssystem, das solche Aufgaben wie die Wiedergabe einer MP3-Datei oder das Durchleiten eines Audio-Datenstroms durch Effektmodule durchführen konnte.

Der nächste Schritt war die Implementation eines &GUI;, so dass die Modules grafisch bearbeitet werden konnten. Stefan hatte einige Erfahrung mit &kde; und diese Umgebung wurde daher als &GUI;-System (in dem Bewußtsein, das eine GNOME/Gtk+-Version ebenfalls erforderlich sein könnte) benutzt. Später führte das dazu, das &Linux; die Hauptentwicklungsplattform wurde. Vom ursprünglichen Namen ksynth wurde das Projekt in &arts; umbenannt und die Entwicklungsgeschwindigkeit nahm zu. Das Projekt war zu dieser Zeit mit einem CORBA-basierten Protokoll, dutzenden von Modulen, einem grafischen Moduleditor, C- und C++-API-Dokumentation, Hilfsprogrammen und einer Mailingsliste und Internetseite mit einer kleinen Entwicklergruppe bereits recht vollständig. Diese ganze Entwicklung fand in der sehr kurzen Zeit von nur einem Jahr statt.

Bei der Planung von &kde; 2.0 wurde es dem &kde;-Team klar, das &kde; eine bessere Klanginfrastruktur und Unterstützung für Klänge und andere Stream-Medien benötigte. Man entschied sich, &arts; für diese Zwecke anzupassen, da bereits eine fundierte Architektur vorhanden war. Es wurde große Mühe in eine neue Version von &arts; investiert, die umfangreichtse Entwicklung war die Ersetzung des CORBA-Protokolls durch ein völlig neues Subsystem mit dem Namen &MCOP;, das für Multimedia optimiert ist. Die Version 0.4 von &arts; wurde Bestandteil der Version 2.0 von &kde;.

Die Arbeit an &arts; geht weiter. Die Arbeitsgeschwindigkeit wird verbessert und neue Funktionen werden hinzugefügt. Obwohl &arts; ein Kernbestandteil von &kde; ist, kann es auch ohne &kde; verwendet werden. Es findet auch Verwendung in Anwendungen, die über das traditionelle Multimedia hinausgehen. Das Projekt hat auch beim GNOME-Team einiges Interesse hervorgerufen, so dass die Möglichkeit besteht, das es eines Tages die Standard-Multimedia-Architektur für &UNIX;-Arbeitsplatzrechner wird.

&tools; &artsbuilder-doc; &detail; &arts-midi; &gui; &mcop-ref; &apis; &modules; &porting; &helping; &future; &references; &arts-faq;

## &arts; Copyright und Lizensierung

&arts; Programm-Copyright 1998-2001 Stefan Westerfeld stefan@space.twc.de

Dokumentation Copyright 1999-2001 Stefan Westerfeld stefan@space.twc.de und Jeff Tranter tranter@kde.org.

Übersetzung: Frank Schütte F.Schuette@t-online.de

&underFDL;

Alle Bibliotheken in &arts; stehen unter der GNU Lesser General Public Lizenz. Die überwiegende Menge des &arts;-Programms befindet sich in den Bibliotheken, einschließlich des gesamten MCOP und ArtsFlow. Damit können die Bibliotheken auch für nicht-freie/nicht-offene Anwendungen verwendet werden, falls gewünscht.

Es gibt einige Programme (wie artsd), die unter der GNU General Public Lizenz stehen. Da es unterschiedliche Einstellungen dazu gibt, ob es erlaubt ist, GPL-Anwendungen mit &Qt; zu linken, habe ich dieses explizit erlaubt, also zusätzlich zur GPL: Es ist auch erlaubt, dieses Programm mit der &Qt;-Bibliothek zu linken; dabei wird &Qt; wie eine Bibliothek benutzt, die normalerweise zu einem Betriebssystem dazugehört, ob das im Einzelfall so ist oder nicht (hier noch der Originaltext: "permission is also granted to link this program with the Qt library, treating Qt like a library that normally accompanies the operating system kernel, whether or not that is in fact the case.")

## &arts; installieren

Um &arts; benutzen zu können, müssen Sie es zuerst installieren und starten. Dazu gibt es zwei Möglichkeiten, die in den nächsten beiden Abschnitten beschrieben werden.

### Ein vorkompiliertes Binärpaket installieren

Der schnellste und einfachste Weg, um &arts; auf Ihrem System zu installieren ist ein vorkompiliertes Binärpaket. Aktuelle Versionen von &Linux;-Distributionen beinhalten &kde;, und wenn es sich um &kde; 2.0 oder später handelt, enthalten Sie &arts;. Wenn &kde; nicht in Ihrer Distribution enthalten ist, können Sie sie vielleicht von Ihrem Händler herunterladen. Alternativ sind manche Binärpakete auch von dritter Seite erhältlich. Achten Sie darauf, das die verwendeten Pakete kompatibel mit Ihrer Betriebssystemversion sind.

Eine grundlegende Installation von &kde; enthält den Soundserver, damit die meisten Anwendungen Klänge abspielen können. Wenn Sie das gesamte Paket der Multimedia-Werkzeuge und -Anwendungen haben wollen, müssen Sie vermutlich noch einige optionale Pakete installieren.

Der Nachteil an vorkompilierten Binärpaketen ist, das sie vermutlich nicht die aktuellste Version von &arts; enthalten. Das ist noch wahrscheinlicher, wenn Sie auf &CD-ROM; bereitstehen, da die Entwicklungsgeschwindigkeit von &arts; und &kde; so groß ist, das Medien wie die &CD-ROM; in der Regel nicht mithalten können. Sie werden auch feststellen, das, wenn Sie eine ungebräuchliche Distribution oder eine ungewöhnliche Konfiguration haben, Binärpakete nicht verfügbar sind. In solchen Fällen sind Sie auf die zweite Methode angewiesen.

### Erstellen aus den Quelltexten

Der zeitaufwendigste aber flexibelste Weg ist, &arts; aus den Quelltexten selbst zu kompilieren. Das sichert, dass die kompilierte Version optimal für Ihre Systemeinrichtung geeignet ist und erlaubt Ihnen, die jeweils aktuelle Version zu verwenden.

Sie haben zwei Möglichkeiten -- entweder Sie installieren die letzte stabile Version, die zu &kde; gehört, oder Sie nehmen die aktuellste (aber vielleicht instabile) Version direkt aus dem CVS-Repository des &kde;-Projektes. Die meisten Benutzer, die nicht für &arts; entwickeln, sollten die stabile Version verwenden. Sie können sie von ftp://ftp.kde.org oder von einem der vielen Mirrors herunterladen. Wenn Sie für &arts; entwickeln, sollten Sie die CVS-Version verwenden. Wenn Sie aRts ohne KDE verwenden wollen, können Sie einen selbstständigen Entwicklugsschnappschuß (Snapshot) von http://space.twc.de/~stefan/kde/arts-snapshot-doc.html herunterladen.

Weiterhin gilt, wenn Sie aus dem CVS kompilieren, es befinden sich einige Komponenten von &arts; (&dh; die grundlegenden Komponenten einschließlich des Soundservers) in dem CVS-Modul tdelibs, während weitere Komponenten (&zb; artsbuilder) sich im Modul tdemultimedia befinden. Das kann sich in Zukunft ändern. Im Modul kmusic finden Sie ebenfalls ein Version; es handelt sich dabei um die alte (vor-&kde; 2.0) Version, die jetzt überholt ist.

Die Vorbedingungen für die Kompilierung von &arts; sind die gleichen wie für den Rest von &kde;. Die configure-Skripte sollten Ihr Sytem identifizieren und anzeigen, falls benötigte Komponenten fehlen. Vergewissern Sie sich, das Ihr Sound-Treiber funktioniert (entweder der OSS/Free Kerneltreiber, der OSS-Treiber von 4Front Technologies oder der ALSA-Treiber mit OSS-Emulation).

Weitere Informationen zum Herunterladen und installieren von &kde; (einschließlich &arts;) finden Sie in der &kde; &FAQ;.

&digitalaudio; &midiintro; &arts-glossary;