# &arts;-håndbogen

Stefan
Westerfeld

    stefan@space.twc.de

Jeff
Tranter

    tranter@kde.org

&erik.kjaer.pedersen.role;
1999-2001
Stefan Westerfeld & Jeff Tranter
&FDLNotice;
2001-06-10
1.00.09

Denne håndbog beskriver &arts;, den analoge realtidssynthesizer.

aRts
artsbuilder
synthesizer
multimedie
struktur
musik
lyd
KDE

## Indledning

### Hvad er &arts;?

Den analoge realtidssynthesizer, eller &arts;, er et modulært system til at syntetisere lyd og musik på en digital computer. Med små byggeblokke, som kaldes moduler, kan brugeren let opbygge komplekse værktøjer til at behandle lyd. Moduler sørger for typiske funktioner såsom bølgeformsgeneratorer, filtre, lydeffekter, samt miksning og afspilning af digital lyd i forskellige filformater.

Lydserveren &artsd; blander lyd fra forskellige kilder i realtid, hvilket lader flere lydprogrammer få transparent delt adgang til lydkortet.

Ved at bruge &MCOP;, multimediakommunikationsprotokollen, kan multimedieprogrammer blive netværksgennemsigtige, sikkerhedsidentificerede, og virke på flere platforme med grænseflade som defineres på en sproguafhængig måde med &IDL;. Ældre programmer som ikke understøtter &arts; håndteres også. Som en central komponent i desktopmiljøet &kde; 2, sørger &arts; for grundlaget for &kde;'s arkitektur for multimedie, og vil støtte flere medietyper inklusive video i fremtiden. Ligesom &kde;, så kører &arts; på flere operativsystemer, inklusive &Linux; og BSD-varianter. Den kan også bruges uafhængig af &kde;.

### Brug af denne håndbog

Denne håndbog er beregnet til at give fuldstændig dokumentation for &arts; for brugere med forskellige kundskabsniveauer. Afhængig af om du er en hverdagsbruger af multimedieprogrammer som kører ved hjælp af &arts; eller en udvikler af multimedieprogrammer, kan du vælge at læse håndbogens afsnit i forskellig rækkefølge.

Vi foreslår at du først læser kapitlet Hent og byg &arts; hvis du har brug for først at få &arts; installeret og kørbart. Hvis du allerede har et fungerende system, formodentlig installeret sammen med din operativsystemdistribution, kan du vælge at springe over dette afsnit.

Derefter bør du læse afsnittene i kapitlet &arts; værktøjer, især &artsd;, artscontrol;, &artsshell;, og &artsdsp;. Dette hjælper dig til at bruge &arts; på den mest effektive måde.

Hvis du er interesseret i at trænge yderligere ind i &arts;' funktion, så læs kapitlet om &arts-builder; og gennemgå øvelsen. Dette bør give dig en forståelse for &arts;' kraftfulde muligheder og de moduler som er beregnet til at bruge uden at behøve at kunne programmere.

Hvis du vil lære dig mere om hvordan &arts; virker internt, enten for at udvikle multimedieprogrammer eller for at udvide selve &arts;, så læs nogle eller alle kapitlerne om &arts; i detalje. Dette bør give dig en forståelse for alle begreber som kræves for &arts;-programmeludvikling.

Hvis du er særligt interesseret i MIDI-funktionerne i &arts;, bør du læse kapitlet om &MIDI;.

Hvis du vil udvikle multimedieprogrammer som bruger &arts;, beskrives de forskellige programmelgrænseflader (API) detaljeret i kapitlet &arts;-API.

Hvis du vil udvide &arts; ved at oprette nye moduler, læs kapitlet &arts;-moduler.

Hvis du ændrer et eksisterende program til at køre sammen med &arts;, så læs kapitlet Overførsel af programmer til at passe sammen med &arts;.

Du kan også finde ud af hvordan du kan hjælpe med og bidrage til &arts;-projektet i kapitlet Bidrag til &arts;, læs om kommende udvikling af &arts; i kapitlet Fremtidigt arbejde, og finde link til mere information i afsnittet Referencer.

Vi har også afrundet håndbogen med en del yderligere materiale, inklusive svar på almindelige spørgsmål, en liste over bidragydere, detaljer om &arts; ophavsret og licenser, og en del baggrundsmateriale om digitallyd og &MIDI;. En ordforklaring indgår også.

Denne håndbog er stadigvæk i stor udstrækning ufærdig. Du må gerne bidrage med at skrive dele af den, men hvis du vil gøre dette, så kontakt først Jeff Tranter tranter@kde.org eller Stefan Westerfeld stefan@space.twc.de for at undgå dobbeltarbejde.

### Historien

Mod slutningen af 1997 begyndte Stefan Westerfeld at arbejde med et modulært realtidssystem for lydsyntese. Koden kørtes oprindeligt på et PowerPC-system med &AIX;. Den første implementering var meget enkel, men understøttede et flow-system med fuldstændig funktion som kunne gøre sådanne ting som at afspille MP3-filer og sende data gennem lydeffektmoduler.

Næste skridt var at implementere en grafisk grænseflade, så moduler kunne manipuleres grafisk. Stefan havde en del god erfaring med at bruge &kde;, så derfor valgtes &kde; som den grafiske værktøjskasse, (med viden om at det kunne blive nødvendigt at lave en version med GNOME/Gtk+ også) og dette gjorde at &Linux; senere valgtes som den hovedsagelige udviklingsplatform. Projektet, som oprindeligt hed ksynth, omdøbtes til &arts; og udviklingstakten øgedes. På dette tidspunkt var projektet næsten komplet, med en CORBA-baseret protokol, dusinvis af moduler, et grafisk modulredigeringsværktøj, C og C++ grænseflade, dokumentation, værktøj og en e-mail-liste og netside med en lille gruppe udviklere. Projektet var kommet et godt stykke af vejen efter kun noget mere end et års udvikling.

Da &kde;-gruppen begyndte at planlægge for &kde; 2.0, blev det klart at &kde; behøvede en kraftfuldere infrastruktur for lyd og andre medietyper. Beslutningen blev taget at tilrette &arts;, eftersom det var et skridt i den rigtige retning med en gennemprøvet arkitektur. En ny stor udviklingsanstrengelse gjordes for denne nye version af &arts;, frem for alt udskiftningen af CORBA-koden med et helt nyt undersystem, &MCOP;, optimeret for multimedie. Version 0.4 af &arts; indgik i udgave 2.0 af &kde;.

Arbejdet med &arts; fortsætter, med at forbedre ydelsen og tilføje nye funktioner. Bemærk selvom &arts; nu er en central komponent i &kde;, kan den bruges uden &kde;, og bruges også af programmer som går udenfor traditionel multimedie. Projektet har modtaget en vis interesse fra GNOME-gruppen, som åbner en mulighed for at det i fremtiden kan blive standardarkitekturen for multimedie på &UNIX; desktopsystemer.

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

## &arts; Ophavsret og licens

&arts; programmel ophavsret 1998-2001 Stefan Westerfeld stefan@space.twc.de

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

&erik.kjaer.pedersen.credit; &underFDL;

Alle biblioteker som indgår i &arts; udgives under betingelseren i GNU Lesser General Public licensen. En overvældende majoritet af koden i &arts; findes i biblioteker, inklusive hele MCOP og ArtsFlow. Dette tillader at bibliotekerne bruges af programmer som ikke er fri eller åbne hvis det ønskes sådan.

Det er et fåtal af programmer (såsom artsd), som udgives under betingelseren i GNU General Public License. Eftersom der har været forskellige meninger om det er tilladt eller ej at linke GPL-programmer med &Qt;, har jeg også tilføjet en udtrykkelig anmærkning som tillader dette, som en tilføjelse til GPL: tilladelse gives også at til at linke dette program med &Qt;-biblioteket, hvor &Qt; behandles som et bibliotek som normalt følger med operativsystemets kerne, hvad enten dette er tilfældet eller ej.

## Installering af &arts;

For at kunne bruge &arts; skal du naturligtvis have det installeret og køre det på systemet. Der er to metoder at opnå dette, som beskrives i de følgende afsnit.

### Installér en færdigkompileret binær udgave

Den hurtigste og enkleste måde at få &arts; køreklar er at installere færdigkompilerede binære pakker for systemet. De fleste nyere &Linux;-distributioner indeholder &kde;, og hvis det er &kde; 2.0 eller senere er &arts; med. Hvis &kde; ikke følger med installationen, kan det findes tilgængeligt til download fra din operativsystemleverandør. Som et alternativ kan det findes tilgængeligt fra tredjepart. Sørg for at du bruger pakker som passer sammen med dit operativsystem.

En grundlæggende installation af &kde; indeholder lydserveren, som tillader de fleste programmer at afspille lyd. Hvis du vil have hele opsætningen med multimedieværktøj og programmer, vil du formodentlig skulle installere yderligere valgfrie pakke.

Bagdelen ved at bruge færdigkompilerede binære filer er at de måske ikke indeholder den nyeste version af &arts;. Dette er særlig sandsynligt hvis de er kommet på cd-rom, eftersom udviklingstakten for &arts; og &kde; er sådan at cd-rom udgaver oftest ikke kan følge med. Du kan også komme ud for at færdigkompilerede binære pakker ikke er tilgængelige, hvis du har en mindre almindelig arkitektur eller operativsystemdistribution, og du må derfor bruge den anden metoden.

### Byg fra kildekode

Selv om det tager tid, er den mest fleksible måde at bygge &arts; selv at kompilere den fra kildekode. Dette sikrer dig at du har en version som er optimalt kompileret for din systemopsætning og lader dig bygge den nyeste version.

Her har du to valg, du kan enten installere den nyeste stabile version som indgår i &kde; eller du kan skaffe den nyeste (men måske ustabile) udgave direkte fra &kde;-projektets CVS-arkiv. De fleste brugere som ikke udvikler med &arts; bør bruge den stabile version. Du kan hente den fra ftp://ftp.kde.org eller et af de mange spejle. Hvis du allerede udvikler aktivt med &arts; vil du formodentlig bruge CVS-versionen. Hvis du vil bruge aRts uden KDE, kan du hente en selvstændig udviklingsversion fra http://space.twc.de/~stefan/kde/arts-snapshot-doc.html.

Bemærk at hvis du bygger fra CVS, vil visse komponenter i &arts; (dvs. de grundlæggende centrale komponenter inklusive lydserveren) være i CVS-modulet kdelibs, mens yderligere komponenter (f.eks. artsbuilder) indgår i kdemultimedia. Dette vil muligvis blive ændret i fremtiden. Du kan også finde en version i modulet kmusic, det er den gamle version (før &kde; 2.0) som nu er forældet.

Kravene til at bygge &arts; er i hovedsagen de samme som for &kde;. Konfigurationsscripterne bør opdage systemindstillingerne og angive om nogle nødvendige komponenter mangler. Sørg for at du har en fungerende lyddriver-rutine på systemet (enten OSS/Free driver i kernen, OSS-driveren fra 4Front Technologies, eller en ALSA-driver med OSS-støtte).

Mere information om at hente og installere &kde; (inklusive &arts;) findes i &kde;'s &FAQ;.

&digitalaudio; &midiintro; &arts-glossary;