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
|
<!-- <?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>Modules de &arts;</title>
<sect1 id="modules-introduction">
<title>Introduction</title>
<para>Ce chapitre décrit tous les modules standards de &arts;. Une des caractéristiques qui font la puissance de &arts; est le fait que les modules peuvent être connectés ensembles dans des structures pour implanter de nouvelles fonctions comme des effets et des instruments. </para>
<para>Les modules sont répartis en deux catégories. Les modules de synthèse sont utilisés pour implanter l'<quote>ossature</quote> qui manipule les flux de données multimédia pour créer de nouveaux effets, instruments, mélangeurs et applications. Les modules visuels vous permettent de fournir une interface utilisateur graphique afin de contrôler les structures sonores construites à partir des modules de synthèse. </para>
</sect1>
<sect1 id="synth-modules-reference">
<title>Manuel de référence des modules de synthèse</title>
<sect2 id="mcat-synth-arithmetic-mixing">
<title>Arithmétique + Mixage</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>Ajoute deux signaux. </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>Multiplie un signal par un facteur. Vous pouvez l'utiliser pour atténuer des signaux (0 < facteur < 1), pour les amplifier (facteur > 1) ou pour les inverser (facteur < 0). Notez que le facteur peut être un signal et peut ne pas être constant (comme une enveloppe ou un signal réel). </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>Ajoute un nombre arbitraire de signaux. Si vous devez effectuer la somme des formes d'ondes produites par quatre oscillateurs différents, vous pouvez par exemple connecter toutes leurs sorties à un module Synth_MULTI_ADD. C'est plus efficace que d'utiliser trois modules Synth_ADD. </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>Mélange deux signaux. Si le taux saisi est -1, seul le canal de gauche sera entendu, et si c'est 1, seul le canal de droite sera entendu. Lorsqu'il vaut zéro, les deux signaux ont le même volume. </para>
<para>Ceci permet de vous assurer que le signal restera dans une certaine plage bien définie. Si vous aviez deux signaux qui étaient entre -1 et 1 avant le mélange, ils seront dans la même plage après. </para>
</sect3>
<sect3 id="mref-synth-autopanner-sect">
<title>Synth_AUTOPANNER</title>
<anchor id="mref-synth-autopanner"/>
<para>Il prend un signal mono et crée un signal stéréo : ceci est utilisé pour régler automatiquement la panoramique du signal d'entrée entre les sorties droite et gauche. Cela rend les mixages plus vivants. On applique cet effet par exemple sur une guitare ou un son solo. </para>
<para>Connectez un <acronym>LFO</acronym> (NdT Low Frequency Oscillator : oscillateur basse fréquence), une onde sinusoïdale ou en dents de scie par exemple au port inlfo et sélectionnez une fréquence entre 0.1 et 5 Hz pour un effet traditionnel ou même pour un effet spécial. </para>
</sect3>
</sect2>
<sect2 id="mcat-synth-busses">
<title>Bus</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>Lien vers un bus. Envoyez les signaux sur les ports gauche et droit, et le nom d'un bus où les données doivent aller sur le port <quote>bus</quote>. Le signal constitué de tous les uplink avec ce nom apparaîtra sur chaque downlink sur ce <quote>bus</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>Collecte (la somme de) toutes les données qui sont placées sur un certain bus (avec le nom que vous spécifiez sur le port <quote>bus</quote>). </para>
</sect3>
</sect2>
<!-- TODO AFTER KDE2.1: move freeverb into delays, and rename category to
Delays & reverbs -->
<sect2 id="mcat-synth-delays">
<title>Délais</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>Retarde le signal d'entrée d'une certaine durée. La durée spécifiée doit être entre 0 et maxdelay pour un retard entre 0 et maxdelay secondes. </para>
<para>Ce genre de retard <emphasis>ne devrait pas être utilisé</emphasis> dans les structures avec des boucles de contre-réaction. Ceci est dû au fait que c'est un retard variable. Vous pouvez modifier sa longueur alors qu'il est en fonctionnement, et même mis à zéro. Mais comme dans une structure en boucle, la sortie est nécessaire pour calculer l'échantillon suivant, un délai avec une valeur qui tombe à zéro lors de la synthèse peut aboutir à une situation où plus rien ne se passe. </para>
<para>Utilisez alors plutôt CDELAY dans ce cas, combinez peut-être une valeur constante petite (de l'ordre de 0.001 seconde) avec une valeur variable. </para>
<para>Vous pouvez aussi combiner un CDELAY et un DELAY pour obtenir un retard de durée variable avec une valeur minimale dans une boucle à contre-réaction. Assurez-vous que vous avez un 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>Retarde le signal d'entrée d'une certaine durée. Cette durée doit être supérieure à 0 pour un délai supérieur à 0 seconde. Le délai est constant lors du calcul, ce qui signifie qu'il ne peut pas être modifié. </para>
<para>Il permet de gagner en temps de calcul puisqu'aucune interpolation n'est effectuée, et il est utile dans les structures récursives. Voir la description précédente (Synth_DELAY). </para>
</sect3>
</sect2>
<sect2 id="mcat-synth-envelopes">
<title>Enveloppes</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>C'est une enveloppe <acronym>ADSR</acronym> classique. Vous devez spécifier : </para>
<variablelist>
<varlistentry>
<term>active</term>
<listitem>
<para>si la note est pressée par l'utilisateur </para>
</listitem>
</varlistentry>
<varlistentry>
<term>invalue</term>
<listitem>
<para>signal d'entrée </para>
</listitem>
</varlistentry>
<varlistentry>
<term>attack</term>
<listitem>
<para>durée entre le moment où l'utilisateur presse une note et celui où le signal atteint son amplitude maximale (en secondes) </para>
</listitem>
</varlistentry>
<varlistentry>
<term>decay</term>
<listitem>
<para>durée entre le moment où le signal atteint son amplitude maximale et où le signal revient à un niveau constant (en secondes) </para>
</listitem>
</varlistentry>
<varlistentry>
<term>sustain</term>
<listitem>
<para>niveau constant auquel le signal est maintenu après, jusqu'à ce que l'utilisateur relâche la touche </para>
</listitem>
</varlistentry>
<varlistentry>
<term>release</term>
<listitem>
<para>durée entre le moment où l'utilisateur relâche la note et celui où le signal atteint une valeur nulle (en secondes) </para>
</listitem>
</varlistentry>
</variablelist>
<para>Vous obtiendrez le signal alors modulé par l'enveloppe sur le port outvalue. Si l'enveloppe <acronym>ASDR</acronym> est terminée, le port done passera à 1. Vous pouvez utiliser ceci pour fournir la sortie <quote>done</quote> d'un instrument (qui entraînera la suppression de la structure par le routeur &MIDI; une fois que la phase <quote>release</quote> est terminée). </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>Le module Synth_PSCALE va échelonner le signal audio qui lui est envoyé d'une valeur 0 (silence) jusqu'à 1 (volume original) puis 0 (silence), en tenant compte de la position (récupérée à partir d'un module Synth_SEQUENCE). La position où le pic survient est donnée par le paramètre pos. </para>
<para>Exemple : placer le maximum à 0.1 signifie que lorsque 10% de la note ont été joués, le volume a atteint son maximum, et commence à diminuer. </para>
</sect3>
</sect2>
<sect2 id="mcat-synth-effects">
<title>Effets</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>C'est un effet de réverbération. Dans l'implantation actuelle, il est conçu pour passer un signal stéréo dans la réverbération, et il ajoute le signal réverbéré au signal initial. </para>
<note>
<para>ceci signifie qu'il peut aussi être utilisé dans un StereoEffectStack </para>
</note>
<para>Le signal d'entrée doit être connecté à (inleft, inright), le signal de sortie se trouve sur (outleft, outright). </para>
<para>Les paramètres de configuration sont : </para>
<variablelist>
<varlistentry>
<term>roomsize</term>
<listitem>
<para>Taille de la pièce simulée par la réverbération (plage : 0..1 où 1 est la plus grande pièce possible) </para>
</listitem>
</varlistentry>
<varlistentry>
<term>damp</term>
<listitem>
<para>Ceci spécifie un filtre qui simule l'absorption des hautes fréquences par la pièce (plage : 0..1, où 1 correspond à une absorption des hautes fréquences plutôt agressive) </para>
</listitem>
</varlistentry>
<varlistentry>
<term>wet</term>
<listitem>
<para>quantité de signal réverbéré (c'est-à-dire la quantité de signal qui devrait être modifié par les filtres, résultant en un <quote>son réverbéré</quote> </para>
</listitem>
</varlistentry>
<varlistentry>
<term>dry</term>
<listitem>
<para>quantité de signal pur transmis, résultant d'un écho (ou délai combiné) plutôt que d'un effet de réverbération (plage : 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>quantité de magie stéréo que l'algorithme de réverbération ajoute à l'effet, rendant le son réverbéré plus ample dans l'espace stéréo (plage : 0..1) </para>
</listitem>
</varlistentry>
<varlistentry>
<term>mode</term>
<listitem>
<para>[ TODO : I think if mode is 1, the reverb holds the current image of thesound, whereas 0 is normal operation ] </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>Il module l'amplitude du son avec un <acronym>LFO</acronym>. En général, vous utilisez une onde sinusoïdale, mais pourquoi vous limiter à ça ? Vous obtenez un effet intense qui ressort des arrangements à cause de sa dynamique élevée. L'effet de trémolo est toujours un des effets préférés des guitaristes, bien qu'il ne soit pas aussi populaire que dans les années 60. </para>
<para>[ TODO : currently this is implemented as invalue + abs(inlfo) - maybe it would make more sense to implement it as invalue * (1+inlfo*depth), where depth would be a parameter between 0..1 - decide this after &kde;2.1 ; if you have a comment, send a mail to the &arts; list ] </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>Un flanger est un effet de retard variable dans le temps. Pour simplifier, ce module est fourni et contient le code d'un flanger sur un seul canal. </para>
<para>Il contient les ports suivants :</para>
<variablelist>
<varlistentry>
<term>invalue</term>
<listitem>
<para>Le signal que vous souhaitez traiter </para>
</listitem>
</varlistentry>
<varlistentry>
<term>lfo</term>
<listitem>
<para>De préférence une onde sinusoïdale qui module le retard dans le franger (plage : -1&etc;1). </para>
</listitem>
</varlistentry>
<varlistentry>
<term>mintime</term>
<listitem>
<para>Valeur minimale pour le retard dans le flanger, en millisecondes. Essayez quelque chose comme 1 ms. Utilisez des valeurs inférieures à 1000 ms. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>maxtime</term>
<listitem>
<para>Valeur minimale pour le retard dans le flanger, en millisecondes. Essayez quelque chose comme 5 ms. Utilisez des valeurs inférieures à 100 ms. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>outvalue</term>
<listitem>
<para>Signal de sortie. Il est important que vous le mélangiez avec le signal d'origine (non flangé) pour obtenir l'effet désiré. </para>
</listitem>
</varlistentry>
</variablelist>
<tip>
<para>Vous pouvez l'utiliser comme base pour un effet de chorus. </para>
</tip>
</sect3>
</sect2>
<sect2 id="mcat-synth-filters">
<title>Filtres</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>L'effet de pitch modifie la fréquence du signal d'entrée sans en modifier la vitesse. Par exemple, vous pouvez changer la hauteur de votre voix lors de l'enregistrement (et lors de la lecture) en temps réel. </para>
<para>Le paramètre <emphasis>vitesse</emphasis> est la vitesse relative avec laquelle le signal sera rejoué. Une vitesse de deux rend le son deux fois plus haut (&cad;une fréquence d'entrée de 440 Hz résultera en une sortie à 880 Hz). </para>
<para>Le paramètre <emphasis>fréquence</emphasis> est utilisé de manière interne pour changer le grain du signal. Il est accordable, et selon votre choix, le changement de hauteur semblera plus ou moins réaliste. Une bonne valeur de départ est quelque chose comme 5 ou 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>Filtre toutes les fréquences supérieures à la fréquence de coupure. </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>Ce module écrête un signal pour le faire entrer dans la plage [-1;1]. Il ne fait rien pour éviter les distorsions dues à l'écrêtage de signaux trop forts. Vous pouvez l'utiliser comme effet (par exemple pour créer une onde sinusoïdale un peu écrêtée). Cependant, il est préférable d'envoyer ensuite le signal dans un filtre passe-bas pour rendre le son moins agressif. </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>Un égaliseur paramétrique sympathique. Ses paramètres sont : </para>
<variablelist>
<varlistentry>
<term>invalue, outvalue</term>
<listitem>
<para>Signal filtré par l'égaliseur. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>low</term>
<listitem>
<para>Comment sont modifiées les basses fréquences. La valeur est en dB, et 0 signifie pas de changement sur les basses fréquences, -6 les atténue de 6 dB et +6 les amplifie de 6 dB. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>mid</term>
<listitem>
<para>Comment sont modifiées les fréquences médium par l'égaliseur en dB (voir plus haut). </para>
</listitem>
</varlistentry>
<varlistentry>
<term>high</term>
<listitem>
<para>Comment sont modifiées les fréquences aiguës par l'égaliseur en dB (voir plus haut). </para>
</listitem>
</varlistentry>
<varlistentry>
<term>frequency</term>
<listitem>
<para>Fréquence centrale de l'égaliseur en Hz, les fréquences médium se situent autour de cette valeur, les graves et les aiguës sont respectivement avant et après cette fréquence. Notez que cette fréquence ne doit pas être supérieure à la moitié de la fréquence d'échantillonnage, habituellement 22050 Hz, et ne doit pas être inférieure à 1 Hz. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>q</term>
<listitem>
<para>Influence la largeur du spectre des médiums. Ce doit être une valeur strictement positive. 1 est une valeur raisonnable, des valeurs supérieures signifient un spectre de fréquences médium plus fin. Des valeurs inférieures à 1 signifient un spectre plus large. </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>Filtre résonant amorti : il filtre toutes les fréquences autour d'une valeur centrale. Il n'y a aucun moyen de spécifier la fréquence centrale (qui ne sera pas coupée), puisque les entrées sont deux constantes étranges f et b. Le code est très vieux, il doit dater de l'époque des premiers synthétiseurs, et sera probablement remplacé par un nouveau filtre qui aura deux paramètres : fréquence et résonance. </para>
<para>Essayez quelque chose comme b=5, f=5 ou b=10, f=10 ou b=15, f=15. </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>Filtre toutes les fréquences supérieures à la fréquence de coupure (c'est un filtre 24 dB, 4 pôles, qui filtre avec une pente de -24 dB par octave au-dessus de la fréquence de coupure), mais offre un paramètre supplémentaire pour régler la résonance du filtre, 0 signifie pas de résonance, et 4 correspond à des oscillations auto-entretenues (self oscillation). </para>
</sect3>
</sect2>
<sect2 id="mcat-synth-midi-sequencing">
<title>Midi + Séquenceur</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>Ce module charge une structure d'instrument depuis un fichier, et s'enregistre comme sortie midi après du gestionnaire &MIDI; de &arts;. Note : les notes envoyées vers cette sortie entraîneront la création de voix avec cet instrument. </para>
<note>
<para>Vous pouvez faire la même chose mais de manière beaucoup plus facilement dans &artscontrol; que manuellement dans &arts-builder;. </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>Joue une séquence de notes en boucle. Les notes sont données en notation <quote>tracker</quote>, et sont séparées par des points-virgules, par exemple <literal>A-3;C-4;E-4;C-4;</literal>. La vitesse est donnée en secondes par note, donc si vous voulez un tempo de 120, choisissez 0.5 seconde/note, puisque 60 secondes/0.5 seconde par note = 120 bpm (NdT : bpm =beat per minute = pulsations par minute ou tempo). </para>
<para>Vous pouvez donner à chaque note une durée relative à la vitesse en utilisant le symbole deux points après la note, suivi de la durée, par exemple <literal>A-3:2;C-4:0.5;D-4:0.5;E-4;</literal>. Comme vous pouvez le voir, les séquenceurs midi sont beaucoup plus confortables. </para>
<para>Le module Synth_SEQUENCE donne des informations supplémentaires sur la position de la note qu'il joue, 0 signifie juste démarrée, et 1 signifie terminée. Vous pouvez utiliser cette information avec Synth_PSCALE (voir plus bas). </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>Ce module fonctionne comme un Synth_SEQUENCE, la seule différence étant que vous n'écrivez pas le nom des notes, mais leurs fréquences. </para>
</sect3>
</sect2>
<sect2 id="mcat-synth-samples">
<title>Échantillons</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>Interprète un fichier <literal role="extension">wav</literal>. Il ne sera présent que si vous avez installé libaudiofile. La lecture de l'échantillon débutera dès la création de la structure </para>
<para>Elle s'arrêtera à la fin de l'échantillon, et le paramètre finished passera alors à 1. Le paramètre speed est utilisé pour jouer le fichier plus ou moins vite, où 1.0 est la vitesse normale (vitesse d'enregistrement). </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>Entrées/sorties son</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>Vous n'aurez normalement pas besoin de ce module, tant que vous écrivez des applications autonomes. Dans &artsd;, il y a normalement déjà un module Synth_PLAY, et en créer un nouveau ne fonctionnera pas. </para>
</important>
<para>Le module Synth_PLAY dirige vos données audio vers la carte son. Les canaux droit et gauche devraient contenir les entrées <emphasis>normalisées</emphasis>. Si votre entrée n'est pas entre -1 et 1, le signal sera écrêté. </para>
<para>Comme mentionné précédemment, on ne peut utiliser qu'un module Synth_PLAY, puisqu'il accède directement à la carte son. Utilisez des bus si vous voulez mélanger plusieurs sources audio avant de les jouer. Utilisez un module Synth_AMAN_PLAY pour obtenir une sortie dans &artsd;. </para>
<para>Notez que Synth_PLAY joue aussi le rôle de référence temporelle pour toute la structure. Cela signifie : pas de module Synth_PLAY = pas de référence temporelle = pas de son. Vous avez donc besoin d'(exactement) un objet Synth_PLAY. </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>Vous n'aurez normalement pas besoin de ce module, tant que vous écrivez des applications autonomes. Dans artsd, il y a normalement déjà un module Synth_RECORD, et en créer un nouveau ne fonctionnera pas. </para>
</important>
<para>Le module Synth_RECORD enregistre un signal depuis la carte son. Les canaux droit et gauche devraient contenir l'entrée pour les canaux (entre -1 et 1). </para>
<para>Comme mentionné précédemment, on ne peut utiliser qu'un module Synth_RECORD, puisqu'il accède directement à la carte son. Utilisez des bus si vous voulez enregistrer plusieurs sources audio. Utilisez un module Synth_AMAN_RECORD pour obtenir une entrée dans artsd. Pour que ça fonctionne, &artsd; doit fonctionner en mode <emphasis>full duplex</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>Le module Synth_AMAN_PLAY constitue une sortie audio. Il est préférable (mais pas obligatoire) que votre sortie soit normalisée (entre -1 et 1). </para>
<para>Ce module utilise le gestionnaire audio pour déterminer où le signal sera joué. Le gestionnaire audio peut être contrôlé depuis &artscontrol;. Pour le rendre encore plus intuitif à utiliser, il est préférable de donner un nom au signal. Vous pouvez le faire avec <emphasis>title</emphasis>. Une autre caractéristique du gestionnaire audio est qu'il se souvient où a été joué un signal pour la dernière fois. Pour cela, il doit pouvoir distinguer les signaux. C'est pourquoi vous devez aussi assigner quelque chose d'unique à <emphasis>autoRestoreID</emphasis>. </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>Le module Synth_AMAN_RECORD enregistre le signal audio depuis une source extérieure (ligne/microphone) à travers &artsd;. La sortie est normalisée (entre -1 et 1). </para>
<para>Ce module utilise le gestionnaire audio pour déterminer où le signal sera joué. Le gestionnaire audio peut être contrôlé depuis artscontrol. Pour le rendre encore plus intuitif à utiliser, il est préférable de donner un nom au signal enregistré. Vous pouvez le faire avec <emphasis>title</emphasis>. Une autre caractéristique du gestionnaire audio est qu'il se souvient où a été enregistré un signal pour la dernière fois. Pour cela, il doit pouvoir distinguer les signaux. C'est pourquoi vous devez aussi assigner quelque chose d'unique à <emphasis>autoRestoreID</emphasis>. </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>Le module Synth_CAPTURE enregistre un signal audio dans un fichier. Le fichier s'appellera toujours <filename>/tmp/mcop-<replaceable>usename</replaceable>/capture.wav</filename> </para>
</sect3>
</sect2>
<sect2 id="mcat-synth-tests">
<title>Tests</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>Ne fait rien. Il est juste utile à des fins de test. </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>Vous pouvez l'utiliser pour déboguer. Il affiche les valeurs en entier à intervalles réguliers (par exemples une seconde), combiné avec un commentaire que vous avez spécifié. Vous pouvez ainsi vérifier que votre signal reste confiné dans une certaine plage, ou tout simplement s'il est présent. </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>Vous pouvez l'utiliser pour déboguer l'arrivée des événements &MIDI; dans &arts;. </para>
<para>Lorsqu'un MIDI_DEBUG fonctionne, &artsserver; affichera une ligne comme : </para>
<screen><computeroutput>201 100753.837585 on 0 42 127</computeroutput></screen>
<screen><computeroutput>202 101323.128355 off 0 42</computeroutput></screen>
<para>La première ligne vous dirait que 100753 ms (c'est-à-dire 100 secondes) après le démarrage de MIDI_DEBUG, un événement &MIDI; on est arrivé sur le canal 0. Ce message midi on avait une vélocité (volume) de 127, le plus fort possible. La ligne suivante montre l'événement de fin de note.[ TODO : this does not work currently, make it work, and do it via midi manager] </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>Crée un signal avec une valeur constante. </para>
<!-- TODO: this doesn't really belong in test, does it? -->
</sect3>
</sect2>
<sect2 id="mcat-synth-osc-mod">
<title>Oscillateurs et 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>Dans &arts;, les oscillateurs ne nécessitent pas une fréquence en entrée, mais une position dans l'échantillon. Cette position doit être comprise entre 0 et 1, ce qui correspond pour un objet Synth_WAVE_SIN standard à la plage 0..2*pi. Pour générer des valeurs d'oscillation à partir d'une fréquence, un module Synth_FREQUENCY est utilisé. </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>Utilisé pour la modulation de fréquence. Mettez votre fréquence à l'entrée qui lui est dédiée, et envoyez un autre signal dans l'entrée du modulateur. Réglez alors le niveau de modulation, par exemple 0,3. La fréquence sera alors modulée par le modulateur. Essayez simplement. Ça sonne bien si vous y mettez une contre-réaction, ce qui signifie que vous prenez une combinaison du signal de sortie retardé d'un module Synth_FM_SOURCE (vous devez le relier à un oscillateur puisqu'il ne joue que le rôle d'un module Synth_FREQUENCY) et d'un autre signal pour obtenir de bons résultats. </para>
<para>Ça fonctionne bien en combinaison avec des oscillateurs Synth_WAVE_SIN. </para>
</sect3>
</sect2>
<sect2 id="mcat-synth-waveforms">
<title>Formes d'ondes</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>Oscillateur sinusoïdal. Envoyez un signal pos d'un module Synth_FREQUENCY ou Synth_FM_SOURCE en entrée. Vous obtiendrez une onde sinusoïdale en sortie. Le signal pos spécifie une position dans l'onde, la plage 0..1 est modifiée en 0..2*pi de manière interne. </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>Oscillateur triangulaire. Envoyez un signal pos d'un module Synth_FREQUENCY ou Synth_FM_SOURCE en entrée. Vous obtiendrez une onde triangulaire. Le signal pos spécifie une position dans l'onde, la plage 0..1 est modifiée en 0..2*pi de manière interne. Soyez prudent. Le signal d'entrée <emphasis>doit</emphasis> se situer dans la plage 0..1 pour que le signal de sortie donne de bons résultats. </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>Générateur de bruit. Génère un signal aléatoire entre -1 et 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>Oscillateur générant un signal carré. Envoyez un signal pos d'un module Synth_FREQUENCY ou Synth_FM_SOURCE en entrée. Vous obtiendrez une onde carrée. Le signal pos spécifie une position dans l'onde, la plage 0..1 est modifiée en 0..2*pi de manière interne. Soyez prudent. Le signal d'entrée <emphasis>doit</emphasis> se situer dans la plage 0..1 pour que le signal de sortie donne de bons résultats. </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>Oscillateur dents de scie adoucies, similaire à l'oscillateur Synth_WAVE_TRI. Envoyez un signal pos d'un module Synth_FREQUENCY ou Synth_FM_SOURCE en entrée. Vous obtiendrez une onde en forme de dents de scies adoucies. Le signal pos spécifie une position dans l'onde, la plage 0..1 est modifiée en 0..2*pi de manière interne. Soyez prudent. Le signal d'entrée <emphasis>doit</emphasis> se situer dans la plage 0..1 pour que le signal de sortie donne de bons résultats. </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>Oscillateur générant un signal de type impulsion - ce module est semblable dans l'esprit à l'oscillateur rectangulaire (Synth_WAVE_RECT), mais il permet de configurer le rapport haut/bas, grâce au paramètre <emphasis>dutycycle</emphasis> (rapport cyclique). Envoyez un signal pos d'un module Synth_FREQUENCY ou Synth_FM_SOURCE en entrée. Vous obtiendrez une onde en forme d'impulsions carrées. Le signal pos spécifie une position dans l'onde, la plage 0..1 est modifiée en 0..2*pi de manière interne. Soyez prudent. Le signal d'entrée <emphasis>doit</emphasis> se situer dans la plage 0..1 pour que le signal de sortie donne de bons résultats. </para>
</sect3>
</sect2>
<sect2 id="mcat-synth-misc">
<title>Divers</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>Ce module réduit les variations dynamiques du signal. Par exemple des compresseurs sont utiles pour compenser les grandes variations de volume de quelqu'un parlant dans un microphone. </para>
<para>À peine le signal d'entrée excède un certain niveau (le seuil), le signal est comprimé. Tout ce qui dépasse le seuil est simplement multiplié par un facteur qui est en prinicpe un nombre entre 0 et 1. Finalement l'ensemble du signal est multiplié par le facteur de sortie. </para>
<para>Les arguments d'attaque et de relâchement retardent le début et la fin de la compression. Utilisez-les si par exemple vous désirez quand même entendre le début bruyant du son d'une grosse caisse. L'argument est en millisecondes, et une attaque ou un relâchement de zéro milliseconde est possible, mais peut provoquer un léger bruit. </para>
</sect3>
</sect2>
</sect1>
<sect1 id="visual-modules-reference">
<title>Manuel de référence des modules d'interface</title>
<para>TODO when visual modules are more "finished". </para>
</sect1>
</chapter>
|