<para>Først af alt, når du forsøger at køre &arts-builder;, skal du også køre lydserveren (&artsd;). Sædvanligvis, hvis du bruger &kde; 2.1, vil dette allerede være tilfældet. Hvis ikke, så kan du indstille automatisk start af lydserveren i &kcontrol;, med <menuchoice><guilabel>Lyd</guilabel><guilabel>Lydserver</guilabel></menuchoice>. </para>
<para>Når du kører &arts;, kører den altid små moduler. &arts-builder; er et værktøj til at oprette nye strukturer af små sammenkoblede moduler. Du klikker helt enkelt indeni gitteret for at tilføje et modul. For at gøre dette, vælges de fra menuen <guimenu>Moduler</guimenu>, og der klikkes et sted i den grøngrå plan. </para>
<para>Moduler har ofte porte (hvor lydsignaler almindeligtvis ledes ind eller ud). For at koble to porte sammen, klikkes på den første, som gør at den bliver orange, og derefter klikkes på den anden. Du kan kun forbinde en ind-port (på oversiden af et modul) med en ud-port (på undersiden af et modul). Hvis du vil angive en konstant værdi for en port (eller afbryde forbindelsen til den), gøres det ved at dobbeltklikke på porten. </para>
<para>Du behøver et Synth_AMAN_PLAY-modul for at høre uddata som du laver. Så opret et Synth_AMAN_PLAY-modul ved at vælge <menuchoice><guimenu>Moduler</guimenu> <guisubmenu>Syntese</guisubmenu> <guisubmenu>Lyd-IO</guisubmenu> <guisubmenu>Synth_AMAN_PLAY</guisubmenu></menuchoice> og klikke på den tomme modulplads. Placér den cirka nedenfor den femte linje, eftersom vi vil tilføje en del ting ovenfor. </para>
<para>Modulet vil have en parameter <parameter>title</parameter> (porten længst til venstre), og <parameter>autoRestoreID</parameter> (ved siden af porten længst til venstre) for at den skal kunne findes. For at udfylde disse her, dobbeltklikkes på portene, der vælges en konstant værdi og skrives <userinput>gennemgang</userinput> i redigeringsfeltet. Klik på <guibutton>O.k.</guibutton> for at anvende. </para>
<para>Vælg <menuchoice><guimenu>Fil</guimenu><guimenuitem>Kør struktur</guimenuitem> </menuchoice>. Du hører absolut ingenting. Afspilningsmodulet har også brug for noget inddata... ;) Hvis du har lyttet til tavsheden et stykke tyd, klik så på <guibutton>Afslut</guibutton> og gå til trin 2. </para>
<para>Opret en Synth_WAVE_SIN-modul (fra <menuchoice> <guimenu>Moduler</guimenu> <guimenuitem>Syntese</guimenuitem> <guimenuitem>Bølgeformer</guimenuitem></menuchoice>) og placér den over Synth_AMAN_PLAY-modulet (lad en linjes mellemrum være mellem dem). </para>
<para>Som du ser, så producerer den noget uddata, men kræver <guilabel>pos</guilabel> som inddata. Lad os først sende uddata til højtalerne. Klik på porten <guilabel>out</guilabel> på Synth_WAVE_SIN og derefter på porten <guilabel>left</guilabel> på Synth_AMAN_PLAY. Voila, du har sammenkoblet to moduler. </para>
<para>Oscillatorer i &arts; kræver ikke en frekvens som inddata, men i stedet en position på bølgeform. Positionen skal være mellem 0 og 1, som i et standardobjekt Synth_WAVE_SIN oversættes til området 0 .. 2*Pi. For at oprette oscillerende værdier fra en frekvens, bruges et Synth_FREQUENCY modul. </para>
<para>Opret en Synth_FREQUENCY-modul (fra <menuchoice> <guimenu>Moduler</guimenu> <guimenuitem>Syntese</guimenuitem> <guimenuitem>Oscillation & modulation</guimenuitem></menuchoice>) og forbind dets <quote>pos</quote> udgang til <quote>pos</quote> indgangen på Synth_WAVE_SIN. Sæt frekvensporten for frekvensgeneratoren til den konstante værdi 440. </para>
<para>Vælg <menuchoice><guimenu>Fil</guimenu><guimenuitem>Kør struktur</guimenuitem> </menuchoice>. Du vil høre en sinusbølge på 440 Hz i en af dine højtalere. Hvis du har lyttet til den et stykke tid, så klik på <guibutton>O.k.</guibutton> og gå til trin 3. </para>
<para>O.k., det ville være bedre hvis du kunne høre sinusbølgen i begge højtalerne. Forbind også den højre port på Synth_PLAY til udgangen fra Synth_WAVE_SIN. </para>
<para>Opret et Synth_SEQUENCE-objekt (fra <menuchoice><guimenu>Moduler</guimenu> <guisubmenu>Syntese</guisubmenu><guisubmenu>Midi & sekvensering</guisubmenu></menuchoice>). Det skal placeres øverst på skærmen. Hvis du behøver mere plads kan du flytte de andre moduler ved at markere dem (for at markere flere moduler holdes shift-tasten nede), og trække dem rundt. </para>
<para>Forbind nu frekvensudgangen på Synth_SEQUENCE til frekvensindgangen på Synth_FREQUENCY-modulet. Angiv derefter sekvensens hastighed som konstant værdi 0.13 (hastigheden er porten længst til venstre). </para>
<para>Gå nu til porten længst til højre (seq) på Synth_SEQUENCE og skriv <userinput>A-3;C-4;E-4;C-4;</userinput> som konstant værdi. Dette angiver en sekvens. Mere om dette i modulreferencen. </para>
<para>Vælg <menuchoice><guimenu>Fil</guimenu><guimenuitem>Kør struktur</guimenuitem> </menuchoice>. Du vil høre en behagelig sekvens spille. Når du har nydt følelsen, så klik på <guibutton>O.k.</guibutton> og gå til trin 4. </para>
<para>Opret et Synth_PSCALE-modul (fra <menuchoice><guimenu>Moduler</guimenu> <guisubmenu>Syntese</guisubmenu> <guisubmenu>Envelopper</guisubmenu> </menuchoice>). Afbryd forbindelsen fra udgangen for sinusbølgen ved at dobbeltklikke på den og vælg <guilabel>ikke forbundet</guilabel>. Forbind </para>
<para>Hvordan virker dette nu: Synth_SEQUENCE giver yderligere information om positionen for tonen den spiller lige nu, hvor 0 betyder netop påbegyndt og 1 betyder afsluttet. Modulet Synth_PSCALE skalerer lydstrømmen som sendes gennem den fra lydstyrke 0 (tavs) til 1 (oprindelig lydstyrke) tilbage til 0 (tavs) ifølge positionen. Positionen hvor toppen skal ske kan angives som top. 0.1 betyder at efter 10 % af tonen er spillet har lydstyrken nået sin maksimale værdi, og begynder derefter at aftage. </para>
<para>Vælg <menuchoice><guimenu>Fil</guimenu><guimenuitem>Kør struktur</guimenuitem> </menuchoice>. Du vil høre en behagelig sekvens spille. Når du har nydt følelsen, klik på <guibutton>O.k.</guibutton> og gå til trin 5. </para>
<para>Begynd at køre strukturen. Som ventet hører du ingenting, ... ikke endnu. </para>
<para>Gå tilbage til strukturen med Synth_WAVE_SIN tingene og udbyt Synth_AMAN_PLAY-modulet mod en Synth_BUS_UPLINK, og indstil navnet til lyd (eller Peter hvis du vil). At fjerne moduler gøres ved at markere dem og vælge <menuchoice><guimenu>Redigér</guimenu> <guimenuitem>slet</guimenuitem></menuchoice> fra menuen (eller trykke på tasten <keycap>Del</keycap>). </para>
<para>Vælg <menuchoice><guimenu>Fil</guimenu><guimenuitem>Kør struktur</guimenuitem> </menuchoice>. Du vil høre sekvensen med skalerede toner, transporteret over bussen. </para>
<para>Hvis du vil finde ud af hvorfor noget sådant her kan være nyttigt, så klik på <guibutton>O.k.</guibutton> (i &arts-builder; som kører Synth_SEQUENCE tingene, du kan lade den anden fortsætte med at køre) og gå til trin 6. </para>
<title>Trin 6: Send data for avancerede brugere</title>
<para>Vælg <menuchoice><guimenu>Fil</guimenu><guimenuitem>Omdøb struktur</guimenuitem></menuchoice> fra menuen i den aRts-bygger som indeholder Synth_SEQUENCE tingene, og kald den gennemgang. Tryk på <guibutton>O.k.</guibutton>. </para>
<para>Start yderligere en &arts-builder; og vælg <menuchoice><guimenu>Fil</guimenu><guimenuitem>Åbn</guimenuitem> </menuchoice>, og indlæs gennemgangen igen. </para>
<para>Nu kan du vælge <menuchoice><guimenu>Fil</guimenu><guimenuitem>Kør struktur</guimenuitem> </menuchoice> i begge &arts-builder;'er som har strukturen. Nu hører du det samme to gange. Afhængig af hvornår du starter dem kommer det til at lyde mere eller mindre godt. </para>
<para>En anden ting som det kan være godt at gøre på dette tidspunkt er at starte &noatun;, og spille en <literal role="extension">mp3</literal>-fil. Start derefter &artscontrol;. Gå til <menuchoice><guimenu>Vis</guimenu><guimenuitem>Vis lydhåndtering</guimenuitem></menuchoice>. Det du ser er &noatun; og din struktur <quote>gennemgang</quote> afspille noget. Det gode som du kan gøre er: dobbeltklik på &noatun;. Du får nu en liste over tilgængelige busser. Og se? Du kan lade &noatun; sende sin udskrift via lydbussen til afspilningsstrukturen som din gennemgang sørger for. </para>
<para>Endelig, nu skal du kunne lave din sinusbølge om til et rigtigt instrument. Dette er kun meningsfuldt hvis du har noget passende som kan sende &MIDI;-begivenheder til &arts;. Her beskriver jeg hvordan du kan bruge et eksternt keyboard, men en sequencer, såsom &brahms;, som kender til midibussen virker også. </para>
<para>Først af alt, så ryd op på din desktop indtil du kun har én &arts-builder; med sinusbølgestrukturen i gang (men lad den ikke køre). Gå derefter tre gange til <menuchoice><guimenu>Porte</guimenu> <guisubmenu>Opret IN-lydsignal</guisubmenu></menuchoice>, og tre gange til <menuchoice><guimenu>Porte</guimenu> <guisubmenu>Opret UT-lydsignal</guisubmenu></menuchoice>. Placér portene et sted. </para>
<para>Gå til <menuchoice><guimenu>Porte</guimenu> <guilabel>Ændr positioner og navne</guilabel></menuchoice> og døb portene frequency, velocity, pressed, left, right, done. </para>
<para>Endelig kan du slette modulet Synth_SEQUENCE, og i stedet forbinde inddataporten frequency for strukturen til frekvensporten på Synth_FREQUENCY. Hmm. Men hvad skal man gøre med pos?</para> <para>Denne er ikke tilgængelig, eftersom der ikke er nogen algoritme i værdier som kan forudse hvornår brugeren vil slippe tasten han netop trykkede ned på sit midi-keyboard. Vi har i stedet parameteren pressed, som kun angiver om brugeren stadigvæk holder tasten nede. (pressed = 1: tasten stadigvæk nedtrykt, pressed = 0: tasten sluppet) </para>
<para>Dette betyder også at Synth_PSCALE-objektet skal udskiftes nu. Kobl en Synth_ENVELOPE_ADSR ind i stedet (fra <menuchoice><guimenu>Moduler</guimenu> <guisubmenu>Syntese</guisubmenu> <guisubmenu>Envelopper</guisubmenu> </menuchoice>). Forbind: </para>
<para>Sæt parametrene attack til 0.1, decay til 0.2, sustain til 0.7, release til 0.1. </para>
<para>En ting til som vi skal tænke på er at instrumentstrukturen skal på en eller anden måde vide når den har spillet færdig og så kan ryddes væk, eftersom den ellers aldrig ville stoppe også selvom tasten er sluppet. Heldigvis ved ADSR enveloppen når der ikke er mere at høre, eftersom den alligevel skalerer signalet ned til nul på et tidspunkt efter tasten er sluppet. </para>
<para>Dette angives ved at sætte udgangen done til 1. Så forbind denne til strukturens udgang. Strukturen fjernes så snart done bliver 1. </para>
<para>Omdøb din struktur til instrument_gennemgang (fra <menuchoice><guimenu> Fil</guimenu> <guimenuitem>Omdøb struktur</guimenuitem></menuchoice>. Gem den derefter med Gem som (det standardnavn som nu angives skal være instrument_gennemgang).</para><para>Start artscontrol, og gå til <menuchoice><guimenu>Vis</guimenu><guimenuitem>Vis midihåndtering</guimenuitem></menuchoice>, og vælg <menuchoice><guimenu>Tilføj</guimenu><guimenuitem>aRts syntese midi uddata</guimenuitem></menuchoice>. Tilsidst skal du kunne vælge dit instrument (gennemgang) her. </para>
<para>Åbn en terminal og skriv <userinput><command>midisend</command></userinput>. Du vil se at <command>midisend</command> og instrumentet nu er på listen i &arts; &MIDI;-håndtering. Efter at have valgt begge to og trykket på <guibutton>forbind</guibutton>, er vi til sidst klare. Tag dit keyboard og begynd at spille (det skal naturligvis være forbundet til din maskine). </para>
<para>Forsøg at bruge noget andet end en sinusbølge. Hvis du kobler en trekantbølge ind, TRI, synes du formodentlig ikke at lyden er særligt behagelig, Men forsøg at tilføje et SHELVE_CUTOFF-filter direkte efter trekantbølgen for at klippe frekvenserne ovenfor ved en vis frekvens (forsøg med noget i retning af 1000 Hz, eller endnu bedre to gange inddatafrekvensen eller inddatafrekvensen + 2000 Hz eller noget sådant). </para>
<para>Forsøg at bruge mere end en oscillator. Synth_XFADE kan bruges til at overtone (blande) to signaler, Synth_ADD til at addere dem. </para>
<para>Forsøg at efterbehandle signalet når det kommer ud fra bussens nedlink. Du kunne for eksempel blande en forsinket version af signalet med originalen for at få en ekkoeffekt. </para>
<para>Forsøg at bruge anslagsstyrken, velocity (dette er styrken som tasten er trykket ned med, man kan også kalde det lydstyrken). Specialeffekter opstår altid hvis dette ikke kun ændrer lydstyrken på signalerne som laves, men også instrumentets lyd (for eksempel klipningsfrekvensen). </para>
<para>&arts-builder; levereres med flere eksempler, som kan åbnes med <menuchoice><guimenu>Fil</guimenu><guimenuitem>Åbn eksempel...</guimenuitem> </menuchoice>. Nogle af dem er i mappen, mens nogen (som af en eller anden grund ikke virker med den nuværende udgave) er efterladt i todo-mappen. </para>
<para>Eksemplerne kan inddeles i flere kategorier: </para>
<para>Selvstændige eksempler som illustrerer hvordan hvert af de indbyggede aRts-moduler bruges (som hedder <filename>example_*.arts</filename>). Disse sender typisk noget uddata til et lydkort. </para>
<para>Instrumenter som bygges fra aRts-moduler på lavere niveau (som hedder <filename>instrument_*.arts</filename>). Disse følger en standardkonvention for ind- og udporte så de kan bruges af &MIDI;-håndteringen i &artscontrol;. </para>
<para>Mikserelementer som bruges til at oprette miksere, inklusive grafiske styremoduler (som hedder <filename>mixer_element_*.arts</filename>). [ alle i todo ] </para>
<para>Laver en 440 Hz sinusbølge i venstre kanal og en 880 Hz sinusbølge i højre kanal, og sender dem til lydkortet. Denne henvises til i &arts; dokumentation. </para>
<para>Laver en dualtone ved at producere sinusbølger med 697 og 1209 Hz, skalere dem til 0,5 og addere dem. Dette er DTMF-tonen for cifferet "1" på en trykknaptelefon. </para>
<para>Linker ned fra en bus som hedder <quote>Bus</quote> og linker op til bussen <quote>out_soundcard</quote> med venstre og højre kanal byttet om. </para>
<para>Linker ned fra en bus som hedder <quote>Delay</quote> og linker højre kanal op gennem en 0,5 sekunders forsinkelse, og venstre kanal uforandret. Du kan bruge &artscontrol; til at forbinde effekten til lydafspilning og observere resultatet. </para>
<para>Dette bruger Synth_CAPTURE_WAV til at gemme en 400 Hz sinusbølge som en wav-fil. Kør modulet i nogle sekunder, og kig derefter på filen som blev lavet i <filename class="directory">/tmp</filename>. Du kan afspille filen med en mediaspiller såsom <application>kaiman</application>. </para>
<para>Dette bruger Data-modulet til at oprette en konstant strøm af værdien <quote>3</quote> og sender den til et Debug-modul for at vise det periodisk. Det indeholder også et Nil-modul, og viser hvordan den kan bruges til ikke at gøre noget overhovedet. </para>
<para>Dette forbinder Freeverb-effekten fra et busnedlink til et busoplink. Du kan bruge artscontrol til at forbinde effekten til lydafspilning og observere resultatet. </para>
<para>Denne struktur kombinerer de to kanaler fra en bus ind i en, sender den gennem et Moog VCF filter, og sender den derefter til bussen out_soundcard. </para>
<para>Denne struktur sender hvid støj gennem et RC-filer og ud til lydkortet. Ved at kigge på FFT måleren i artscontrol kan du se hvordan dette adskiller sig fra en ufiltreret støjbølgeform. </para>
<para>Denne struktur sender hvid støj gennem et klippefilter og ud til lydkortet. Ved at kigge på FFT måleren i artscontrol kan du se hvordan dette adskiller sig fra en ufiltreret støjbølgeform. </para>
<para>Dette eksempel blander 440 og 880 Hz sinusbølger med en overtoning. Justér værdien på overtoningens procentindgang fra -1 til 1 for at kontrollere blandningen af de to signaler. </para>
<para>Dette illustrerer modulet Play Wave. Du skal angive hele søgestien til en <literal role="extension">.wav</literal>-fil som filnavneparameter. </para>
<para>Dette viser modulet Multi Add, som accepterer et hvilket som helst antal indgange. Det opsummerer tre Data-moduler som producerer inddata 1, 2 og 3, og viser resultatet 6. </para>