1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
|
<!-- <?xml version="1.0" ?>
<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd">
To validate or process this file as a standalone document, uncomment
this prolog. Be sure to comment it out again when you are done -->
<chapter id="arts-modules">
<title>&arts; moduler</title>
<sect1 id="modules-introduction">
<title>Inledning</title>
<para>Det här kapitlet beskriver alla standardmodulerna i &arts;. En av de mest kraftfulla funktionerna i &arts; är att moduler kan kopplas ihop till strukturer som implementerar nya funktioner som ljudeffekter och instrument. </para>
<para>Moduler delas upp i två kategorier. Syntesmoduler används för att implementera <quote>rörmokeriet</quote> som manipulerar multimediadataflöden för att skapa nya effekter, instrument, mixrar och program. Visuella moduler låter dig skapa ett grafiskt gränssnitt för att styra ljudstrukturer som byggs upp med syntesmodulerna. </para>
</sect1>
<sect1 id="synth-modules-reference">
<title>Referens till syntesmoduler</title>
<sect2 id="mcat-synth-arithmetic-mixing">
<title>Aritmetik + mixning</title>
<sect3 id="mref-synth-add-sect">
<title>Synth_ADD</title>
<anchor id="mref-synth-add"/>
<mediaobject>
<imageobject>
<imagedata fileref="images/Synth_ADD.png" format="PNG"/></imageobject>
<textobject><phrase>Synth_ADD</phrase></textobject>
</mediaobject>
<para>Den här adderar två signaler. </para>
</sect3>
<sect3 id="mref-synth-mul-sect">
<title>Synth_MUL</title>
<anchor id="mref-synth-mul"/>
<mediaobject>
<imageobject>
<imagedata fileref="images/Synth_MUL.png" format="PNG"/></imageobject>
<textobject><phrase>Synth_MUL</phrase></textobject>
</mediaobject>
<para>Den här multiplicerar signalen med en faktor. Du kan använda det här för att skala ner (0 < faktor < 1) eller upp (faktor > 1) signaler eller invertera signaler (faktor < 0). Observera att faktorn kan vara en signal och behöver inte vara konstant (t.ex. envelopper eller flyttalssignaler). </para>
</sect3>
<sect3 id="mref-synth-div-sect">
<title>Synth_DIV</title>
<anchor id="mref-synth-div"/>
<mediaobject>
<imageobject>
<imagedata fileref="images/Synth_DIV.png" format="PNG"/></imageobject>
<textobject><phrase>Synth_DIV</phrase></textobject>
</mediaobject>
<para>Den här dividerar signalen med en faktor. Du kan använda det här för att dividera en signal med en annan, eller ange invärde1 som 1, så får du inversen av invärde2 som utvärde. Försäkra dig om att invärde2 aldrig når 0, annars får du problem med division med noll. </para>
</sect3>
<sect3 id="mref-synth-multi-add-sect">
<title>Synth_MULTI_ADD</title>
<anchor id="mref-synth-multi-add"/>
<mediaobject>
<imageobject>
<imagedata fileref="images/Synth_MULTI_ADD.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_MULTI_ADD</phrase></textobject>
</mediaobject>
<para>Den här adderar ett godtyckligt antal signaler. Om du behöver summera vågformer som skapas av fyra olika oscillatorer, kan du till exempel ansluta alla deras utgångar till en Synth_MULTI_ADD-modul. Det här är effektivare än att använda tre Synth_ADD-moduler. </para>
</sect3>
<sect3 id="mref-synth-xfade-sect">
<title>Synth_XFADE</title>
<anchor id="mref-synth-xfade"/>
<mediaobject>
<imageobject><imagedata fileref="images/Synth_XFADE.png" format="PNG"/>
</imageobject>
<textobject><phrase>Synth_XFADE</phrase></textobject>
</mediaobject>
<para>Den här övertonar två signaler. Om procentingången är -1, hörs bara vänstra signalen, om den är 1, hörs bara den högra. Om den är 0, hörs båda signalerna med samma volym. </para>
<para>Den här gör att du kan försäkra dig om att signalen stannar inom ett väldefinierat område. Om du har två signaler som är mellan -1 och 1 innan övertoningen, kommer de att vara i samma område efteråt. </para>
</sect3>
<sect3 id="mref-synth-autopanner-sect">
<title>Synth_AUTOPANNER</title>
<anchor id="mref-synth-autopanner"/>
<para>Motsatsen till övertoning. Den här tar en monosignal och delar den till en stereosignal. Den används för att automatiskt panorera insignalen mellan vänster och höger utgång. Det här gör mixningen mer levande. En standardtillämpning kan vara en gitarr- eller sololjud. </para>
<para>Anslut en <acronym>LFO</acronym>, till exempel en sinus eller sågtandsvåg till inlfo, och välj en frekvens mellan 0,1 och 5 Hz för att få en traditionell effekt eller ännu mer för specialeffekter (<acronym>FX</acronym>). </para>
</sect3>
</sect2>
<sect2 id="mcat-synth-busses">
<title>Bussar</title>
<sect3 id="mref-synth-bus-uplink-sect">
<title>Synth_BUS_UPLINK</title>
<anchor id="mref-synth-bus-uplink"/>
<mediaobject>
<imageobject><imagedata fileref="images/Synth_BUS_UPLINK.png"
format="PNG"/>
</imageobject>
<textobject><phrase>Synth_BUS_UPLINK</phrase></textobject>
</mediaobject>
<para>En upplänk till en buss. Ange signaler till vänster och höger, och namnet på bussen som data ska skickas till på <quote>buss</quote> porten. Den kombinerade signalen från alla upplänkar med det här namnet hamnar på varje nerlänk på den <quote>bussen</quote>. </para>
</sect3>
<sect3 id="mref-synth-bus-downlink-sect">
<title>Synth_BUS_DOWNLINK</title>
<anchor id="mref-synth-bus-downlink"/>
<mediaobject>
<imageobject>
<imagedata fileref="images/Synth_BUS_DOWNLINK.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_BUS_DOWNLINK</phrase></textobject>
</mediaobject>
<para>Hämtar (summan av) all data som skickas på en viss buss (med namnet du anger på <quote>buss</quote> porten). </para>
</sect3>
</sect2>
<!-- TODO AFTER KDE2.1: move freeverb into delays, and rename category to
Delays & reverbs -->
<sect2 id="mcat-synth-delays">
<title>Fördröjningar</title>
<sect3 id="mref-synth-delay-sect">
<title>Synth_DELAY</title>
<anchor id="mref-synth-delay"/>
<mediaobject>
<imageobject><imagedata fileref="images/Synth_DELAY.png"
format="PNG"/></imageobject></mediaobject>
<para>Den här fördröjer insignalen en viss tid. Tidsangivelsen måste vara mellan 0 och maxdelay för en fördröjning mellan 0 och maxdelay sekunder. </para>
<para>Den här sortens fördröjning <emphasis>kan inte användas</emphasis> i återmatningsstrukturer. Det här beror på att det är en varierbar fördröjning. Det går att ändra längden medan den kör, och även sätta den till noll. Men eftersom den egna utgången behövs för att beräkna nästa sampling i en återmatningsstruktur, kan en fördröjning med ett värde som kan gå ner till noll under syntes leda till en låsningssituation. </para>
<para>Använd CDELAY:er i sådana situationer, eller kombinera en kort konstant fördröjning (av 0,001 sekunder) med en variabel fördröjning. </para>
<para>Man kan också kombinera en CDELAY och en DELAY för att åstadkomma en fördröjning med variabel längd i en återkoppling. Försäkra dig bara om att du har med en CDELAY. </para>
</sect3>
<sect3 id="mref-synth-cdelay-sect">
<title>Synth_CDELAY</title>
<anchor id="mref-synth-cdelay"/>
<mediaobject>
<imageobject><imagedata fileref="images/Synth_CDELAY.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_CDELAY</phrase></textobject>
</mediaobject>
<para>Den här fördröjer insignalen en viss tid. Tidsangivelsen måste vara större än 0 för en fördröjning av 0 sekunder eller mer. Fördröjningen är konstant under beräkningen, vilket betyder att den inte kan ändras. </para>
<para>Det här sparar beräkningstid eftersom ingen interpolation görs, och är användbart för rekursiva strukturer. Se beskrivningen ovan (Synth_DELAY). </para>
</sect3>
</sect2>
<sect2 id="mcat-synth-envelopes">
<title>Envelopper</title>
<sect3 id="mref-synth-envelope-adsr-sect">
<title>Synth_ENVELOPE_ADSR</title>
<anchor id="mref-synth-envelope-adsr"/>
<mediaobject>
<imageobject><imagedata fileref="images/Synth_ENVELOPE_ADSR.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_ENVELOPE_ADSR</phrase></textobject>
</mediaobject>
<para>Den här är ett klassiskt <acronym>ADSR</acronym>-envelopp, som betyder att du anger: </para>
<variablelist>
<varlistentry>
<term>active</term>
<listitem>
<para>Om användaren håller nere tangenten just nu. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>invalue</term>
<listitem>
<para>Insignalen. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>attack</term>
<listitem>
<para>Tiden som ska förflyta mellan användaren trycker på tangenten och signalen når sin maximala amplitud (i sekunder). </para>
</listitem>
</varlistentry>
<varlistentry>
<term>decay</term>
<listitem>
<para>Tiden som ska förflyta mellan signalen nått sin maximala amplitud och signalen går tillbaka till någon konstant nivå (i sekunder). </para>
</listitem>
</varlistentry>
<varlistentry>
<term>sustain</term>
<listitem>
<para>Den konstanta nivån som hålls för signalen efteråt, till användaren släpper tangenten. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>release</term>
<listitem>
<para>Tiden som ska förflyta efter användaren har släppt tangenten till signalen går ner till noll (i sekunder). </para>
</listitem>
</varlistentry>
</variablelist>
<para>Du får den behandlade signalen som utvärde. När <acronym>ASDR</acronym>-enveloppen är klar, sätter den done till 1. Du kan använda det här för att tillhandahålla utgången <quote>done</quote> för ett instrument (som gör att instrumentstrukturen tas bort av &MIDI;-reläobjektet när ljudet väl har upphört). </para>
</sect3>
<sect3 id="mref-synth-pscale-sect">
<title>Synth_PSCALE</title>
<anchor id="mref-synth-pscale"/>
<mediaobject>
<imageobject><imagedata fileref="images/Synth_PSCALE.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_PSCALE</phrase></textobject>
</mediaobject>
<para>Modulen Synth_PSCALE anpassar ljudflödet som skickas genom den från volymen 0 (tyst) till 1 (ursprunglig volym) tillbaka till 0 (tyst), enligt positionen (hämta positionen från en Synth_SEQUENCE). Positionen där toppen ska vara kan anges som top. </para>
<para>Att till exempel sätta top till 0,1 betyder att efter 10 % av tonen har spelats, har volymen nått maximalt värde, och börjar sedan avta. </para>
</sect3>
</sect2>
<sect2 id="mcat-synth-effects">
<title>Effekter</title>
<sect3 id="mref-synth-freeverb-sect">
<title>Synth_FREEVERB</title>
<anchor id="mref-synth-freeverb"/>
<mediaobject>
<imageobject><imagedata fileref="images/Synth_FREEVERB.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_FREEVERB</phrase></textobject>
</mediaobject>
<para>Det här är en efterklangseffekt. I den nuvarande implementeringen är det tänkt att skicka en stereosignal genom modulen, och den lägger till efterklangseffekten i signalen. </para>
<note>
<para>Det här betyder att den också kan användas inne i en StereoEffectStack. </para>
</note>
<para>Insignalen ska anslutas till (inleft, inright), och utsignalen blir (outleft, outright). </para>
<para>Parametrarna som du kan ställa in är: </para>
<variablelist>
<varlistentry>
<term>roomsize</term>
<listitem>
<para>Storleken på rummet som efterklangseffekten simulerar (område: 0 .. 1, där 1 är det största möjliga rummet). </para>
</listitem>
</varlistentry>
<varlistentry>
<term>damp</term>
<listitem>
<para>Det här anger ett filter som gör att det simulerade rummet absorberar höga frekvenser (område 0 .. 1, där 1 betyder absorbera höga frekvenser i stor utsträckning). </para>
</listitem>
</varlistentry>
<varlistentry>
<term>wet</term>
<listitem>
<para>Storleken på efterklangsignalen (dvs. den del av signalen som ska ändras av filtret, och orsaka ett <quote>vått</quote> ljud, dvs. ett <quote>efterklangsljud</quote>). </para>
</listitem>
</varlistentry>
<varlistentry>
<term>dry</term>
<listitem>
<para>Storleken på ren signal som skickas igenom, som orsakar ett eko (eller kombinerad fördröjning) istället för en efterklangseffekt (område: 0 .. 1). </para>
<!-- TODO: do some measurements to show that this documentation -is- correct,
I am not sure if it is echo, or really pure (non-delayed), or multiple delay
or whatever -->
</listitem>
</varlistentry>
<varlistentry>
<term>width</term>
<listitem>
<para>Storleken på utökad stereoeffekt som efterklangsalgoritmen lägger till i efterklangseffekten, för att göra efterklangsljudet bredare i stereoljudbilden (område 0 .. 1). </para>
</listitem>
</varlistentry>
<varlistentry>
<term>mode</term>
<listitem>
<para>[ATT GÖRA: Jag tror att om mode är 1, behåller efterklangen den nuvarande ljudbilden för ljudet, medan 0 är normal behandling] </para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="mref-synth-tremolo-sect">
<title>Synth_TREMOLO</title>
<anchor id="mref-synth-tremolo"/>
<mediaobject><imageobject><imagedata fileref="images/Synth_TREMOLO.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_TREMOLO</phrase></textobject>
</mediaobject>
<para>Tremolomodulen modulerar amplituden enligt en <acronym>LFO</acronym>-vågform. Traditionellt använder man en sinusvåg, men varför begränsa sig? Vad man får är en mycket intensiv effekt som skär igenom de flesta arrangemang på grund av sitt stora dynamiska omfång. Tremoloeffekten är fortfarande en favoriteffekt bland gitarrister, även om den inte är så populär som på 1960-talet. </para>
<para>[ATT GÖRA: för närvarande implementeras detta som invalue + abs(inlfo) - kanske skulle det vara vettigare att implementera det som invalue * (1+inlfo*depth), där depth skulle vara en parameter mellan 0 .. 1 - det här bestäms efter &kde;2.1. Om du har en kommentar, skicka e-post till &arts; e-postlista ;). ] </para>
</sect3>
<sect3 id="mref-synth-fx-cflanger-sect">
<title>Synth_FX_CFLANGER</title>
<anchor id="mref-synth-fx-cflanger"/>
<mediaobject><imageobject><imagedata
fileref="images/Synth_FX_CFLANGER.png" format="PNG"/></imageobject>
<textobject><phrase>Synth_FX_CFLANGER</phrase></textobject>
</mediaobject>
<para>En fläns är en tidsvariabel fördröjningseffekt. För att göra utveckling av komplexa flänseffekter enklare, tillhandahålls den här modulen som innehåller kärnan av en enkanals flänsenhet. </para>
<para>Den har följande portar:</para>
<variablelist>
<varlistentry>
<term>invalue</term>
<listitem>
<para>Signalen som du vill behandla. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>lfo</term>
<listitem>
<para>Helst en sinusvåg som modulerar fördröjningstiden inne i flänsen (-1 .. 1). </para>
</listitem>
</varlistentry>
<varlistentry>
<term>mintime</term>
<listitem>
<para>Minimala värdet för tiden inne i flänsen i millisekunder. Föreslagna värden: försök med något nära 1 ms. Använd helst värden < 1000 ms. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>maxtime</term>
<listitem>
<para>Maximala värdet för tiden inne i flänsen i millisekunder. Föreslagna värden: försök med något nära 5 ms. Använd helst värden < 1000 ms. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>outvalue</term>
<listitem>
<para>Utsignalen. Det är viktigt att du blandar den här med originalsignalen (innan flänsen) för att få den önskade effekten. </para>
</listitem>
</varlistentry>
</variablelist>
<tip>
<para>Du kan använda den här som en grund för köreffekter. </para>
</tip>
</sect3>
</sect2>
<sect2 id="mcat-synth-filters">
<title>Filter</title>
<sect3 id="mref-synth-pitch-shift-sect">
<title>Synth_PITCH_SHIFT</title>
<anchor id="mref-synth-pitch-shift"/>
<mediaobject><imageobject><imagedata
fileref="images/Synth_PITCH_SHIFT.png" format="PNG"/></imageobject>
<textobject><phrase>Synth_PITCH_SHIFT</phrase></textobject>
</mediaobject>
<para>Den här tonhöjdsförändrande effekten ändrar frekvensen på insignalen utan att påverka hastigheten. En tillämpning av detta är att till exempel ändra tonhöjden på din röst medan du spelar in (och spelar upp) den i realtid. </para>
<para>Parametern <emphasis>speed</emphasis> är den relativa hastigheten som signalen spelas upp med. Så att med hastigheten två blir ljudet dubbelt så högt (dvs. en infrekvens på 440 Hz ger en utfrekvens på 880 Hz). </para>
<para>Parametern <emphasis>frequency</emphasis> används internt för att ändra mellan olika kornighet i signalen. Den är anpassningsbar, och beroende på valet kommer tonhöjdsförändringen låta mer eller mindre realistisk vid en viss användning. Ett bra värde att börja med är någonting i stil med 5 eller 10. </para>
</sect3>
<sect3 id="mref-synth-shelve-cutoff-sect">
<title>Synth_SHELVE_CUTOFF</title>
<anchor id="mref-synth-shelve-cutoff"/>
<mediaobject><imageobject><imagedata
fileref="images/Synth_SHELVE_CUTOFF.png" format="PNG"/></imageobject>
<textobject><phrase>Synth_SHELVE_CUTOFF</phrase></textobject>
</mediaobject>
<para>Filtrerar bort alla frekvenser över klippningsfrekvensen. </para>
</sect3>
<sect3 id="mref-synth-brickwall-limiter-sect">
<title>Synth_BRICKWALL_LIMITER</title>
<anchor id="mref-synth-brickwall-limiter"/>
<mediaobject><imageobject><imagedata
fileref="images/Synth_BRICKWALL_LIMITER.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_BRICKWALL_LIMITER</phrase></textobject>
</mediaobject>
<para>Den här modulen klipper en signal så att den passar i området [-1;1]. Den gör ingenting för att begränsa distorsionen som uppstår när en stark signal klipps av. Man kan använda det här som en ljudeffekt (till exempel för att skapa en något avklippt sinusvåg). Det är dock oftast en god idé att låta signalen gå genom ett lågpassfilter efteråt om du gör detta, för att få ljudet att låta mindre skärande. </para>
</sect3>
<sect3 id="mref-synth-std-equalizer-sect">
<title>Synth_STD_EQUALIZER</title>
<anchor id="mref-synth-std-equalizer"/>
<mediaobject><imageobject><imagedata
fileref="images/Synth_STD_EQUALIZER.png" format="PNG"/></imageobject>
<textobject><phrase>Synth_STD_EQUALIZER</phrase></textobject>
</mediaobject>
<para>Den här är ett trevligt byggblock för en parametriserbar tonkontroll. Dess parametrar är: </para>
<variablelist>
<varlistentry>
<term>Invärde, utvärde</term>
<listitem>
<para>Signalen som filtreras av tonkontrollen. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>low</term>
<listitem>
<para>Hur låga frekvenser ska ändras. Värdet anges i dB, medan 0 betyder att låga frekvenser inte ska ändras, skulle -6 betyda att de dämpas med 6 dB, och +6 betyder öka dem med 6 dB. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>mid</term>
<listitem>
<para>Hur mittfrekvenser ska ändras av tonkontrollen i dB (se low). </para>
</listitem>
</varlistentry>
<varlistentry>
<term>high</term>
<listitem>
<para>Hur höga frekvenser ska ändras av tonkontrollen i dB (se low). </para>
</listitem>
</varlistentry>
<varlistentry>
<term>frekvens</term>
<listitem>
<para>Det här är mittfrekvensen för tonkontrollen i Hz, mittfrekvensen befinner sig omkring detta spektrum, med de låga och höga frekvenserna nedanför och ovanför. Observera att frekvensen inte kan vara högre än halva samplingsfrekvensen, oftast är den 22050 Hz, och inte lägre än 1 Hz. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>q</term>
<listitem>
<para>Det här påverkar hur brett mittspektrat är. Det måste vara ett positivt tal > 0. Värdet ett är rimligt, högre värden på q betyder ett smalare spektrum av mittfrekvenser. Lägre värden än ett betyder ett bredare spektrum. </para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="mref-synth-rc-sect">
<title>Synth_RC</title>
<anchor id="mref-synth-rc"/>
<mediaobject><imageobject><imagedata fileref="images/Synth_RC.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_RC</phrase></textobject>
</mediaobject>
<para>Ett dämpat resonansfilter som filtrerar alla frekvenser omkring något högsta värde. Det finns inget användbart sätt att ange en mittfrekvens (som inte skulle klippas), eftersom indata är två underliga konstanter f och b. Koden är mycket gammal, från synthesizerns tidigaste dagar, och kommer troligen att bytas ut mot ett nytt filter som har en frekvens och ett resonansvärde som parametrar. </para>
<para>Försök med något som liknar b=5, f=5 or b=10, f=10 or b=15, f=15 i alla fall. </para>
</sect3>
<sect3 id="mref-synth-moog-vcf-sect">
<title>Synth_MOOG_VCF</title>
<anchor id="mref-synth-moog-vcf"/>
<mediaobject><imageobject><imagedata fileref="images/Synth_MOOG_VCF.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_MOOG_VCF</phrase></textobject>
</mediaobject>
<para>Filtrerar bort alla frekvenser ovanför klippningsfrekvensen (det är ett 24 dB fyrpoligt filter, som filtrerar 24 dB per oktav ovanför klippningsfrekvensen), men tillhandahåller en ytterligare parameter för att anpassa filtrets resonans, där 0 betyder ingen resonans och 4 betyder självsvängning. </para>
</sect3>
</sect2>
<sect2 id="mcat-synth-midi-sequencing">
<title>Midi + sekvensiering</title>
<sect3 id="mref-synth-midi-test-sect">
<title>Synth_MIDI_TEST</title>
<anchor id="mref-synth-midi-test"/>
<mediaobject><imageobject><imagedata fileref="images/Synth_MIDI_TEST.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_MIDI_TEST</phrase></textobject>
</mediaobject>
<para>Den här modulen laddar en instrumentstruktur från en fil, och registrerar sig som en midi-utgång med &arts; &MIDI;-hanterare. Toner som skickas till den här utgången gör att instrumentröster skapas. </para>
<note>
<para>Du kan ställa in något sådant här på ett bekvämare sätt i &artscontrol; istället för manuellt i aRts-byggaren. </para>
</note>
</sect3>
<sect3 id="mref-synth-sequence-sect">
<title>Synth_SEQUENCE</title>
<anchor id="mref-synth-sequence"/>
<mediaobject><imageobject><imagedata fileref="images/Synth_SEQUENCE.png"
format="PNG"/></imageobject></mediaobject>
<para>Spelar en sekvens av toner om och om igen. Tonerna anges i spårnotation, och separeras av semikolon. Ett exempel är <literal>A-3;C-4;E-4;C-4;</literal>. Hastigheten anges som sekunder per ton, så om du vill ange 120 slag per minut, anger du troligen 0,5 sekunder/ton, som 60 sekunder/0,5 sekunder per ton = 120 slag per minut. </para>
<para>Du kan ge varje ton en längd i förhållande till hastigheten genom att använda ett kolon efter tonen följt av längden. <literal>A-3:2;C-4:0.5;D-4:0.5;E-4;</literal> visar detta. Som du kan se, tenderar midi-tonsättningsprogram att ge mer bekvämlighet ;) </para>
<para>Synth_SEQUENCE ger ytterligare information om positionen för tonen som spelas just nu, där 0 betyder precis påbörjad och 1 betyder avslutad. Den här informationen kan man använda med Synth_PSCALE (se nedan). </para>
</sect3>
<sect3 id="mref-synth-sequence-freq-sect">
<title>Synth_SEQUENCE_FREQ</title>
<anchor id="mref-synth-sequence-freq"/>
<mediaobject><imageobject><imagedata fileref="images/Synth_SEQUENCE_FREQ.png"
format="PNG"/></imageobject></mediaobject>
<para>Den här modulen fungerar precis som Synth_SEQUENCE, med den enda skillnaden att du inte skriver in notnamn utan frekvenser. </para>
</sect3>
</sect2>
<sect2 id="mcat-synth-samples">
<title>Samplingar</title>
<sect3 id="mref-synth-play-wav-sect">
<title>Synth_PLAY_WAV</title>
<anchor id="mref-synth-play-wav"/>
<mediaobject>
<imageobject><imagedata fileref="images/Synth_PLAY_WAV.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_PLAY_WAV</phrase></textobject>
</mediaobject>
<para>Den här spelar en <literal role="extension">wav</literal>-fil. Den är bara tillgänglig om du har libaudiofile på datorn. Vågformsfilen spelas så fort modulen skapas. </para>
<para>Den stannar så fort den är klar, och done sätts till 1. Hastighetsparametern kan användas för att spela upp filen snabbare eller långsammare, där 1.0 är den normala (inspelade) hastigheten. </para>
<!-- TODO: KDE2.2: check that this really works together in instruments with
the done parameter things ;) -->
</sect3>
</sect2>
<sect2 id="mcat-synth-soundio">
<title>Ljud-I/O</title>
<sect3 id="mref-synth-play-sect">
<title>Synth_PLAY</title>
<anchor id="mref-synth-play"/>
<mediaobject>
<imageobject><imagedata fileref="images/Synth_PLAY.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_PLAY</phrase></textobject>
</mediaobject>
<important>
<para>Normalt behöver man inte den här modulen, om man inte skriver självständiga program. Inne i &artsd;, finns det redan en Synth_PLAY modul, och att skapa en till fungerar inte. </para>
</important>
<para>Modulen Synth_PLAY-matar ut ljudsignalen till ljudkortet. Vänster och höger kanal ska innehålla <emphasis>normaliserad</emphasis> indata för kanalerna. Om indata inte är mellan -1 och 1, får man klippning. </para>
<para>Som redan har nämnts, får det bara finnas en Synth_PLAY modul, eftersom den direkt kommer åt ljudkortet. Använd bussar för att blanda ihop mer än ett ljudflöde innan uppspelning. Använd modulen Synth_AMAN_PLAY för att få något som liknar en utmatning inne i &artsd;. </para>
<para>Observera att Synth_PLAY också kontrollerar tidbasen för hela strukturen. Det här betyder: ingen Synth_PLAY = ingen källa för tidbas = inget ljud. Så det behövs (exakt) ett Synth_PLAY objekt. </para>
</sect3>
<sect3 id="mref-synth-record-sect">
<title>Synth_RECORD</title>
<anchor id="mref-synth-record"/>
<mediaobject><imageobject><imagedata fileref="images/Synth_RECORD.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_RECORD</phrase></textobject>
</mediaobject>
<important>
<para>Normalt behöver man inte den här modulen, om man inte skriver självständiga program. Inne i artsd, finns det redan en Synth_RECORD modul, och att skapa en till fungerar inte. </para>
</important>
<para>Modulen Synth_RECORD spelar in en signal från ljudkortet. Vänster och höger kanal innehåller indata för kanalerna (mellan -1 och 1). </para>
<para>Som redan har nämnts, får det bara finnas en Synth_RECORD modul, eftersom den direkt kommer åt ljudkortet. Använd bussar för att använda det inspelade ljudflödet på mer än ett ställe. Använd modulen Synth_AMAN_RECORD för att få något som liknar en ingång inne i artsd. För att det här ska fungera måste &artsd; köra <emphasis>med full duplex aktiverad</emphasis>. </para>
</sect3>
<sect3 id="mref-synth-aman-play-sect">
<title>Synth_AMAN_PLAY</title>
<anchor id="mref-synth-aman-play"/>
<mediaobject><imageobject><imagedata fileref="images/Synth_AMAN_PLAY.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_AMAN_PLAY</phrase></textobject>
</mediaobject>
<para>Modulen Synth_AMAN_PLAY-matar ut ljudsignalen. Det är bra (men inte nödvändigt) att utdata är en normaliserad signal (mellan -1 och 1). </para>
<para>Den här modulen använder ljudhanteraren för att ange var signalen spelas upp. Ljudhanteraren kan styras genom &artscontrol;. För att göra det mer intuitivt att använda, är det bra att namnge signalen som spelas upp. Det kan åstadkommas genom att ange <emphasis>title</emphasis>. En annan funktion i ljudhanteraren är att kunna komma ihåg var en signal spelades upp sist. För att kunna göra det här måste den kunna skilja på signaler. Därför ska man ange något unikt värde för <emphasis>autoRestoreID</emphasis> också. </para>
</sect3>
<sect3 id="mref-synth-aman-record-sect">
<title>Synth_AMAN_RECORD</title>
<anchor id="mref-synth-aman-record"/>
<mediaobject><imageobject><imagedata
fileref="images/Synth_AMAN_RECORD.png" format="PNG"/></imageobject>
<textobject><phrase>Synth_AMAN_RECORD</phrase></textobject>
</mediaobject>
<para>Modulen Synth_AMAN_RECORD-spelar in en ljudsignal från en extern källa (dvs linje in/mikrofon) inne i &artsd;. Utdata kommer att vara en normaliserad signal (mellan -1 och 1). </para>
<para>Den här modulen använder ljudhanteraren för att ange var signalen spelas upp. Ljudhanteraren kan styras genom artscontrol. För att göra det mer intuitivt att använda, är det bra att namnge signalen som spelas upp. Det kan åstadkommas genom att ange <emphasis>title</emphasis>. En annan funktion i ljudhanteraren är att kunna komma ihåg var en signal spelades in sist. För att kunna göra det här måste den kunna skilja på signaler. Därför ska man ange något unikt värde för <emphasis>autoRestoreID</emphasis> också. </para>
</sect3>
<sect3 id="mref-synth-capture-sect">
<title>Synth_CAPTURE</title>
<anchor id="mref-synth-capture"/>
<mediaobject><imageobject><imagedata fileref="images/Synth_CAPTURE.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_CAPTURE</phrase></textobject>
</mediaobject>
<para>Modulen Synth_CAPTURE skriver en ljudsignal till en vågformsfil på hårddisken. Filen heter alltid <filename>/tmp/mcop-<replaceable>användarnamn</replaceable>/capture.wav</filename> </para>
</sect3>
</sect2>
<sect2 id="mcat-synth-tests">
<title>Tester</title>
<sect3 id="mref-synth-nil-sect">
<title>Synth_NIL</title>
<anchor id="mref-synth-nil"/>
<mediaobject><imageobject><imagedata fileref="images/Synth_NIL.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_NIL</phrase></textobject>
</mediaobject>
<para>Den här gör ingenting. Den är mycket användbar i testsituationer. </para>
</sect3>
<sect3 id="mref-synth-debug-sect">
<title>Synth_DEBUG</title>
<anchor id="mref-synth-debug"/>
<mediaobject><imageobject><imagedata fileref="images/Synth_DEBUG.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_DEBUG</phrase></textobject>
</mediaobject>
<para>Man kan använda den här för avlusning. Den skriver ut värdet för signalen invalue med regelbundna intervall (cirka 1 sekund), tillsammans med kommentaren som angivits. På det här sättet kan man ta reda på om vissa signaler förblir inom vissa områden, eller om de finns överhuvudtaget. </para>
</sect3>
<sect3 id="mref-synth-midi-debug-sect">
<title>Synth_MIDI_DEBUG</title>
<anchor id="mref-synth-midi-debug"/>
<mediaobject><imageobject><imagedata fileref="images/Synth_MIDI_DEBUG.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_MIDI_DEBUG</phrase></textobject>
</mediaobject>
<para>Man kan använda den här för att avlusa hur &MIDI;-händelser verkligen kommer in i &arts;. </para>
<para>När en MIDI_DEBUG kör, skriver &artsserver; ut rader som: </para>
<screen><computeroutput>201 100753.837585 on 0 42 127</computeroutput></screen>
<screen><computeroutput>202 101323.128355 off 0 42</computeroutput></screen>
<para>Den första raden talar om att 100753 ms (dvs. 100 sekunder) efter MIDI_DEBUG startade, kom en &MIDI;-händelse "on" på kanal 0. Den här midi-händelsen hade anslagsstyrkan (volymen) 127, den högsta möjliga. Nästa rad visar midi-händelsen när tangenten släpps. [ATT GÖRA: det här fungerar inte för närvarande, få det att fungera, och gör det via &MIDI;-hanteraren]. </para>
</sect3>
<sect3 id="mref-synth-data-sect">
<title>Synth_DATA</title>
<anchor id="mref-synth-data"/>
<mediaobject><imageobject><imagedata fileref="images/Synth_DATA.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_DATA</phrase></textobject>
</mediaobject>
<para>Det här skapar en signal med ett konstant värde. </para>
<!-- TODO: this doesn't really belong in test, does it? -->
</sect3>
</sect2>
<sect2 id="mcat-synth-osc-mod">
<title>Oscillation & Modulation</title>
<sect3 id="mref-synth-frequency-sect">
<title>Synth_FREQUENCY</title>
<anchor id="mref-synth-frequency"/>
<mediaobject><imageobject><imagedata fileref="images/Synth_FREQUENCY.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_FREQUENCY</phrase></textobject>
</mediaobject>
<para>Oscillatorer i &arts; kräver inte en frekvens som indata, utan istället en position i vågformen. Positionen ska vara mellan 0 och 1, som i ett standardobjekt Synth_WAVE_SIN översätts till området 0 .. 2*Pi. För att skapa oscillerande värden från en frekvens, används en Synth_FREQUENCY modul. </para>
</sect3>
<sect3 id="mref-synth-fm-source-sect">
<title>Synth_FM_SOURCE</title>
<anchor id="mref-synth-fm-source"/>
<mediaobject><imageobject><imagedata fileref="images/Synth_FM_SOURCE.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_FM_SOURCE</phrase></textobject>
</mediaobject>
<para>Den här används för frekvensmodulering. Ange frekvensen med ingången frequency och anslut en annan signal till moduleringsingången. Ställ därefter in modlevel till någonting, säg 0,3. Frekvensen moduleras sedan med moduleringen. Prova det. Fungerar bra om man lägger till en återkoppling, vilket betyder att man tar en kombination av den fördröjda utsignalen från Synth_FM_SOURCE (man måste skicka det till en oscillator eftersom den bara fungerar som Synth_FREQUENCY) och någon annan signal för att få bra resultat. </para>
<para>Fungerar bra tillsammans med Synth_WAVE_SIN oscillatorer. </para>
</sect3>
</sect2>
<sect2 id="mcat-synth-waveforms">
<title>Vågformer</title>
<sect3 id="mref-synth-wave-sin-sect">
<title>Synth_WAVE_SIN</title>
<anchor id="mref-synth-wave-sin"/>
<mediaobject><imageobject><imagedata fileref="images/Synth_WAVE_SIN.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_WAVE_SIN</phrase></textobject>
</mediaobject>
<para>Sinusoscillator. Ange en pos signal från Synth_FREQUENCY eller Synth_FM_SOURCE som insignal, och få en sinusvåg som utsignal. Signalen pos anger positionen i vågformen, området 0 .. 1 omvandlas till 0 .. 2*Pi internt. </para>
</sect3>
<sect3 id="mref-synth-wave-tri-sect">
<title>Synth_WAVE_TRI</title>
<anchor id="mref-synth-wave-tri"/>
<mediaobject><imageobject><imagedata fileref="images/Synth_WAVE_TRI.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_WAVE_TRI</phrase></textobject>
</mediaobject>
<para>Triangelvågsoscillator. Ange en pos signal från Synth_FREQUENCY eller Synth_FM_SOURCE som insignal, och få en triangelvåg som utsignal. Signalen pos anger positionen i vågformen, området 0 .. 1 omvandlas till 0 .. 2*Pi internt. Var försiktig. Insignalen <emphasis>måste</emphasis> vara i området 0 .. 1 för att utsignalen ska ge bra resultat. </para>
</sect3>
<sect3 id="mref-synth-noise-sect">
<title>Synth_NOISE</title>
<anchor id="mref-synth-noise"/>
<mediaobject><imageobject><imagedata fileref="images/Synth_NOISE.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_NOISE</phrase></textobject>
</mediaobject>
<para>Brusgenerator. Den här skapar en slumpmässig signal mellan -1 och 1. </para>
</sect3>
<sect3 id="mref-synth-wave-square-sect">
<title>Synth_WAVE_SQUARE</title>
<anchor id="mref-synth-wave-square"/>
<mediaobject><imageobject><imagedata
fileref="images/Synth_WAVE_SQUARE.png" format="PNG"/></imageobject>
<textobject><phrase>Synth_WAVE_SQUARE</phrase></textobject>
</mediaobject>
<para>Fyrkantvågsoscillator. Ange en pos signal från Synth_FREQUENCY eller Synth_FM_SOURCE som insignal, och få en fyrkantvåg som utsignal. Signalen pos anger positionen i vågformen, området 0 .. 1 omvandlas till 0 .. 2*Pi internt. Var försiktig. Insignalen <emphasis>måste</emphasis> vara i området 0 .. 1 för att utsignalen ska ge bra resultat. </para>
</sect3>
<sect3 id="mref-synth-wave-softsaw-sect">
<title>Synth_WAVE_SOFTSAW</title>
<anchor id="mref-synth-wave-softsaw"/>
<mediaobject><imageobject><imagedata
fileref="images/Synth_WAVE_SOFTSAW.png" format="PNG"/></imageobject>
<textobject><phrase>Synth_WAVE_SOFTSAW</phrase></textobject>
</mediaobject>
<para>Mjuk sågtandsvåg, som liknar Synth_WAVE_TRI oscillatorn till utseende. Ange en pos signal från Synth_FREQUENCY eller Synth_FM_SOURCE som insignal, och få en mjuk sågtandsvåg som utsignal. Signalen pos anger positionen i vågformen, området 0 .. 1 omvandlas till 0 .. 2*Pi internt. Var försiktig. Insignalen <emphasis>måste</emphasis> vara i området 0 .. 1 för att utsignalen ska ge bra resultat. </para>
</sect3>
<sect3 id="mref-synth-wave-pulse-sect">
<title>Synth_WAVE_PULSE</title>
<anchor id="mref-synth-wave-pulse"/>
<mediaobject><imageobject><imagedata fileref="images/Synth_WAVE_PULSE.png"
format="PNG"/></imageobject>
<textobject><phrase>Synth_WAVE_PULSE</phrase></textobject>
</mediaobject>
<para>Pulsoscillator. Andemeningen med den här modulens liknar den rektangulära oscillatorn (Synth_WAVE_RECT), men den tillhandahåller ett anpassningsbart upp/ner-förhållande, genom parametern <emphasis>dutycycle</emphasis>. Ange en pos signal från Synth_FREQUENCY eller Synth_FM_SOURCE som insignal, och få en pulsvåg som utsignal. Signalen pos anger positionen i vågformen, området 0 .. 1 omvandlas till 0 .. 2*Pi internt. Var försiktig. Insignalen <emphasis>måste</emphasis> vara i området 0 .. 1 för att utsignalen ska ge bra resultat. </para>
</sect3>
</sect2>
<sect2 id="mcat-synth-misc">
<title>Diverse</title>
<sect3 id="mref-synth-compressor-sect">
<title>Synth_COMPRESSOR</title>
<anchor id="mref-synth-compressor"/>
<mediaobject>
<imageobject><imagedata fileref="images/Synth_COMPRESSOR.png"
format="PNG"/></imageobject></mediaobject>
<para>Den här modulen reducerar det dynamiska omfånget hos en signal. Reduktion är till exempel användbart för att kompensera för de stora variationer i ljudstyrka när någon pratar i en mikrofon. </para>
<para>Så fort indatanivån överstiger en viss nivå (tröskeln) så reduceras signalen. Den multiplicerar helt enkelt allt ovanför tröskeln med ratio, som ska vara ett värde mellan 0 och 1. Till sist multipliceras hela signalen med utdatafaktorn. </para>
<para>Argumenten attack och release fördröjer starten och slutet på reduktionen. Använd det här om du till exempel fortfarande vill höra den starka början av en bastrumma. Argumenten anges i millisekunder, och en attack eller release på 0 ms är möjlig, men kan resultera i ett visst brus. </para>
</sect3>
</sect2>
</sect1>
<sect1 id="visual-modules-reference">
<title>Referens till visuella moduler</title>
<para>ATT GÖRA när visuella moduler är "färdigare". </para>
</sect1>
</chapter>
|