# Handbok &arts;

## Inledning

### Vad är &arts;?

Den analoga realtidssynthesizern, eller &arts;, är ett modulärt system för att syntetisera ljud och musik på en digital dator. Med små byggblock, som kallas moduler, kan användaren lätt bygga komplexa verktyg för att behandla ljud. Moduler tillhandahåller typiskt funktioner som vågformsgeneratorer, filter, ljudeffekter, samt mixning och uppspelning av digitalt ljud med olika filformat.

Ljudservern &artsd; blandar ljud från olika källor i realtid, vilket låter flera ljudprogram transparent få delad tillgång till ljudhårdvaran.

Genom att använda &MCOP;, multimediakommunikationsprotokollet, kan multimediaprogram bli nätverkstransparenta, säkerhetsidentifierade, och fungera på flera plattformar med gränssnitt som definieras på ett språkoberoende sätt med &IDL;. Äldre program som inte stöder &arts; hanteras också. Som en central komponent i skrivbordsmiljön &kde; 2, tillhandahåller &arts; grunden för &kde;:s arkitektur för multimedia, och kommer att stöda fler mediatyper inklusive video i framtiden. Som &kde;, så kör &arts; på flera operativsystem, inklusive &Linux; och BSD-varianter. Det kan också användas oberoende av &kde;.

### Att använda den här handboken

Den här handboken är tänkt att ge fullständig dokumentation om &arts; för användare med olika kunskapsnivåer. Beroende på om du är en vardagsanvändare av multimediaprogram som kör med hjälp av &arts; eller en utvecklare av multimediaprogram, kan du välja att läsa handbokens avsnitt i olika ordning.

Vi föreslår att du först läser kapitlet Ladda ner och bygga &arts; om du måste få &arts; installerad och körbar från början. Om du redan har ett fungerande system, troligen installerade tillsammans med din operativsystemdistribution, kan du välja att hoppa över det här avsnittet.

Därefter bör du läsa avsnitten i kapitlet &arts; verktyg, särskilt &artsd;, artscontrol;, &artsshell;, och &artsdsp;. Det här hjälper dig använda &arts; på det effektivaste sättet.

Om du är intresserad av att tränga in ytterligare i &arts; funktion, läs kapitlet om aRts-byggaren och gå igenom handledningen. Det här bör ge dig en förståelse för &arts; kraftfulla möjligheter och de moduler som är tillgängliga att använda utan att behöva kunna programmera.

Om du vill lära dig mer om hur &arts; fungerar internt, antingen för att utveckla multimediaprogram eller för att utöka &arts; själv, läs några eller alla kapitlen om &arts; i detalj. Det här bör ge dig en förståelse för alla koncept som krävs för &arts;-programvaruutveckling.

Om du är särskilt intresserad av MIDI-funktionerna i &arts;, bör du läsa kapitlet om &MIDI;.

Om du vill utveckla multimediaprogram som använder &arts;, beskrivs de olika programvarugränssnitten (API) detaljerat i kapitlet &arts; programvarugränssnitt.

Om du vill utöka &arts; genom att skapa nya moduler, läs kapitlet &arts;-moduler.

Om du ändrar ett befintligt program för att köra ihop med &arts;, läs kapitlet Ändra program för att passa &arts;.

Du kan också ta reda på hur du kan hjälpa till och bidra till &arts;-projektet i kapitlet Bidra till &arts;, läsa om kommande utveckling av &arts; i kapitlet Framtida arbete, och hitta länkar till mer information i avsnittet Referenser.

Vi har också avrundat handboken med en del ytterligare material, inklusive svar på vanliga frågor, en lista på bidragsgivare, detaljer om &arts; copyright och licenser, och en del bakgrundsmaterial om digitalljud och &MIDI;. En gloslista ingår också.

Den här handboken är fortfarande i stor utsträckning pågående arbete. Du får gärna bidra genom att skriva delar av den, men om du vill göra det, kontakta först Jeff Tranter tranter@kde.org eller Stefan Westerfeld stefan@space.twc.de för att undvika dubbelarbete.

### Historik

Mot slutet av 1997 började Stefan Westerfeld arbeta med ett modulärt realtidssystem för ljudsyntes. Koden kördes ursprungligen på ett PowerPC-system med &AIX;. Den första implementeringen var mycket enkel, men stödde ett flödessystem med fullständig funktion som kunde göra sådana saker som spela MP3-filer och skicka data genom ljudeffektmoduler.

Nästa steg var att implementera ett grafiskt gränssnitt, så att moduler kunde manipuleras grafiskt. Stefan hade en del god erfarenhet av att använda &kde;, så därför valdes &kde; som den grafiska verktygslådan, (med vetskap om att det kunde bli nödvändigt att göra en version med GNOME/Gtk+ också) och det här gjorde att &Linux; senare valdes som den huvudsakliga utvecklingsplattformen. Projektet, som ursprungligen hette ksynth, döptes om till &arts; och utvecklingstakten ökade. Vid det här laget var projektet nästan komplett, med ett CORBA-baserat protokoll, dussintals moduler, ett grafiskt modulredigeringsverktyg, C och C++ gränssnitt, dokumentation, verktyg och en e-postlista och webbsida med en liten grupp utvecklare. Projektet hade kommit en bra bit på vägen efter bara något mer än ett års utveckling.

När &kde;-gruppen började planera för &kde; 2.0, blev det klart att &kde; behövde en kraftfullare infrastruktur för ljud och andra mediatyper. Beslutet togs att anpassa &arts;, eftersom det var ett steg i rätt riktning med en beprövad arkitektur. En ny stor utvecklingsansträngning gjordes för den här nya versionen av &arts;, framförallt utbytet av CORBA-koden mot ett helt nytt subsystem, &MCOP;, optimerat för multimedia. Version 0.4 av &arts; ingick i utgåva 2.0 av &kde;.

Arbetet med &arts; forsätter, för att förbättra prestanda och lägga till nya funktioner. Observera att även om &arts; nu är en central komponent i &kde;, kan den användas utan &kde;, och används också av program som går utanför traditionell multimedia. Projektet har skapat visst intresse från GNOME-gruppen, som öppnar en möjlighet att det i framtiden kan bli standardarkitekturen för multimedia på &UNIX; skrivbordssystem.

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

## &arts; Copyright och licens

&arts; programvara copyright 1998-2001 Stefan Westerfeld stefan@space.twc.de

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

Översättning Stefan Asserhäll stefan.asserhall@telia.com

&underFDL;

Alla bibliotek som ingår i &arts; licensieras under villkoren i GNU Lesser General Public license. En överväldigande majoritet av koden i &arts; finns i biblioteken, inklusive hela MCOP och ArtsFlow. Det här tillåter att biblioteken används för program som inte är fri eller öppen programvara om så önskas.

Det finns ett fåtal program (som artsd), som ges ut under villkoren i GNU General Public License. Eftersom det har funnits olika åsikter om det är tillåtet eller inte att länka GPL-program med &Qt;, har jag också lagt till en uttrycklig anmärkning som tillåter det, som ett tillägg till GPL: tillåtelse ges också att länka det här programmet med &Qt;-biblioteket, där &Qt; behandlas som ett bibliotek som normalt följer med operativsystemets kärna, vare sig detta är fallet eller inte.

## Installera &arts;

För att kunna använda &arts; måste du naturligtvis ha det installerat och köra det på systemet. Det finns två metoder att åstadkomma detta, som beskrivs i de följande avsnitten.

### Installera en färdigkompilerad binärutgåva

Det snabbaste och enklaste sättet att få &arts; körklart är att installera färdigkompilerade binärpaket för systemet. De flesta nyare &Linux;-distributioner innehåller &kde;, och om det är &kde; 2.0 eller senare finns &arts; med. Om &kde; inte följer med installationen, kan det finnas tillgängligt för nerladdning från din operativsystemleverantör. Som ett alternativ kan det finnas tillgängligt från tredje part. Försäkra dig om att du använder paket som passar ihop med ditt operativsystem.

En grundläggande installation av &kde; innehåller ljudservern, som låter de flesta program spela upp ljud. Om du vill ha hela uppsättningen med multimediaverktyg och program behöver du troligen installera ytterligare valfria paket.

Nackdelen med att använda färdigkompilerade binärfiler är att de kanske inte innehåller den senaste versionen av &arts;. Det här är särskilt troligt om de tillhandahålls på CD-ROM, eftersom utvecklingstakten för &arts; och &kde; är sådan att CD-ROM utgåvor oftast inte kan hålla samma takt. Du kan också råka ut för att färdigkompilerade binärpaket inte är tillgängliga, om du har en mindre vanlig arkitektur eller operativsystemdistribution, och du måste därför använda den andra metoden.

### Bygga från källkod

Även om det tar tid, är det mest flexibla sättet att bygga &arts; att själv kompilera det från källkod. Det här försäkrar dig om att du har en version som är optimalt kompilerad för din systemuppsättning och låter dig bygga den senaste versionen.

Här har du två alternativ, du kan antingen installera den senaste stabila versionen som ingår i &kde; eller du kan skaffa den senaste (men kanske instabila) versionen direkt från &kde;-projektets CVS-arkiv. De flesta användare som inte utvecklar med &arts; bör använda den stabila versionen. Du kan ladda ner den från ftp://ftp.kde.org eller en av de många spegelplatserna. Om du redan utvecklar aktivt med &arts; vill du troligen använda CVS-versionen. Om du vill använda aRts utan KDE, kan du ladda ner en självständig utvecklingsversion från http://space.twc.de/~stefan/kde/arts-snapshot-doc.html.

Om du bygger från CVS, observera att vissa komponenter i &arts; (dvs. de grundläggande centrala komponenterna inklusive ljudservern) finns i CVS-modulen kdelibs, medan ytterligare komponenter (t.ex. artsbuilder) ingår i kdemultimedia. Det här kan ändras i framtiden. Du kan också hitta en version i modulen kmusic, det är den gamla versionen (före &kde; 2.0) som nu är föråldrad.

Kraven för att bygga &arts; är i huvudsak likadana som för &kde;. Konfigurationsskripten bör upptäcka systeminställningarna och ange om några nödvändiga komponenter saknas. Försäkra dig om att du har en fungerande ljuddrivrutin på systemet (antingen OSS/Free drivrutinen i kärnan, OSS-drivrutinen från 4Front Technologies, eller en ALSA-drivrutin med OSS-stöd).

Mer information om att ladda ner och installera &kde; (inklusive &arts;) finns i &kde;:s vanliga frågor.

&digitalaudio; &midiintro; &arts-glossary;