File: qmidiarp.1

package info (click to toggle)
qmidiarp 0.7.1%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,916 kB
  • sloc: cpp: 14,901; ansic: 4,581; sh: 4,170; makefile: 296; xml: 44
file content (663 lines) | stat: -rw-r--r-- 25,491 bytes parent folder | download | duplicates (6)
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
.\"
.\" Handbuchseite für qmidiarp
.\" zu bearbeiten mit:
.\"   groff -man -Tascii qmidiarp.1 | less
.\"
.\" Eine Druckform kann erzeugt werden mit:
.\"   groff -t -e -mandoc -Tps qmidiarp.1 > qmidiarp.ps
.\"
.TH QMIDIARP 1 2011-11-10
.SH NAME
qmidiarp \- MIDI Arpeggiator, Sequenzer und LFO

.SH SYNOPSIS
.br
.B qmidiarp
[\fIOPTION\fR] [\fIfile\fR]
.br
.B qmidiarp
{
.B \-\-help
|
.B \-\-version
}

.SH BESCHREIBUNG
QMidiArp
ist ein erweiterter Arpeggiator, Stepsequenzer und MIDI LFO. Er kann
beliebig viele Module parallel ausführen. QMidiArp läuft je nach Option
entweder mit JACK MIDI oder ALSA MIDI.
Die Arpeggiatormodule erzeugen Sequenzen in Abhängigkeit von den Noten,
die üblicherweise von einem MIDI-Keyboard oder einem Sequenzer an deren
Eingang geschickt werden. Die Stepsequenzermodule sind angelehnt an die
ersten analogen Sequenzer und erzeugen einfache, lineare und monophone
Notenmuster. Die MIDI LFOs erzeugen davon unabhängig MIDI-
Controller-Daten in wählbarer Wellenform, Auflösung, Amplitude und
Dauer. Jedes Modul besitzt ein Filter für eingehende Noten und sein
Ausgabeport bzw. Ausgabekanal kann frei eingestellt werden.
Da die Module auf einer gemeinsamen Sequenzerschiene arbeiten, sind sie
automatisch zueinander synchron. QMidiArp arbeitet mit einer
internen Zeitauflösung von 192 ticks per beat.
Die Queue kann mit einer externen MIDI-Echtzeituhr oder mit JACK Transport
synchronisiert werden.
QMidiArp verfügt ebenso über ein Protokoll-Werkzeug, welches eingehende
MIDI Ereignisse abhängig von ihrem Typ in verschiedenen Farben darstellt.
QMidiArp benutzt den Qt4 Toolkit.

.SS "Allgemeine Funktion"
Wenn keine Startoptionen angegeben werden, startet QMidiArp als JACK MIDI
client mit einem MIDI\-Eingang und zwei MIDI\-Ausgängen. Durch die \-a
Option wird QMidiArp als ALSA client gestartet.

Ein neuer Arpeggiator, Sequenzer oder LFO wird erzeugt durch Klicken auf
.B Modul-->Neuer Arp..., Modul-->Neuer Sequenzer...,
oder
.B Modul-->Neuer LFO...
in der Werkzeugleiste oder im Menu
.I Modul.
Ein neuer Reiter mit dem gewählten Modul erscheint im Hauptbedienfenster.
Module können mit den entsprechenden Symbolen der Werkzeugleiste oder
Menüfunktionen umbenannt oder gelöscht werden. Die Module können vom
Hauptfenster gelöst und parallel dargestellt und gesteuert werden. Hierzu
klickt man auf das Symbol rechts oben in der Titelleiste jedes Moduls.
Durch erneutes klicken dieses Symbols werden die Module wieder in die
Reiterleiste eingefügt. Die Module können auch nebeneinander im Hauptfenster
angeordnet werden, wenn man das Hauptfenster vor dem Einfügen eines
Moduls genügend vergrößert.
Alle Einstellungen (d.h. alle Module, deren Parameter sowie
alle sonstigen Änderungen, die unter
.B Ansicht-->Einstellungen
getätigt wurden) können in einer QMidiArp-XML-Datei (.qmax) gespeichert
und von dort wieder geladen werden. Das
.B Tempo
kann in beats pro Minute (BPM) eingestellt werden und
gilt für alle Module. Die Queue wird mit dem blauen Pfeilsymbol
gestartet/gestoppt.

.SS "MIDI-Clock-Betrieb" (nur mit ALSA MIDI verfügbar)
Im ALSA MIDI Modus benutzt QMidiArp sein eigenes Timing, kann aber
wahlweise eingehende MIDI-Realtime-Clock Signale als Taktquelle
und Start/Stop-Signale verwenden.
Sobald der
.B "MIDI-Uhr"-Knopf
rechts vom Tempo-Wahlfeld betätigt wird, wird der ALSA-Sequenzer
gestoppt und
QMidiArp
wartet auf das "MIDI Clock Start"\-Signal einer externen Quelle,
die an QMidiArp's MIDI-Eingang angeschlossen wurde. Sobald dieses
Signal eintrifft, wird die Sequenzerzeugung mit der MIDI-Taktvorgabe der
externen Quelle gestartet.
Der Sequenzer/Arpeggiator hält an, sobald ein
"MIDI Clock Stop"\-Signal empfangen wird. Während des
"MIDI-Clock-Betriebs" sind die QMidiArp-eigenen Start/Stop-Funktionen
sowie das Hinzufügen oder Laden weiterer Module gesperrt. Sie werden
erst bei erneutem Klick auf das MIDI-Uhrsymbol wieder verfügbar. Die
Synchronisation mit der externen Quelle funktioniert am besten, wenn das
.B Tempo
von QMidiArp mit dem der externen Quelle übereinstimmt. Das externe
Tempo wird jedoch bei laufendem Sequenzer gemessen, sodaß ab dem
zweiten Start die Synchronisation funktioniert, auch wenn das
ursprüngliche Tempo nicht übereinstimmt.

.SS "JACK Transport Client-Betrieb"
Wird das
.B Jack Transport Connect
Icon angeklickt, so versucht QMidiArp eine Verbindung mit einem laufenden
JACK server. Wenn diese gelingt, agiert QMidiArp als Jack Transport Client,
d.h. das Tempo und die Synchronisierung wird von einem JACK Transport
Master bereitgestellt. Hierbei startet QMidiArp seinen eigenen Sequenzer
neu bei jedem Jack Transport Start, unabhängig von der anfänglichen
Transportposition. Dies gilt ebenfalls bei einer Schleife des JACK
Transportbandes. Der Jack Betrieb wird automatisch deaktiviert, wenn kein
Jack server gefunden werden kann.
.PP
Bemerkung: Die Zustände der MIDI Clock and Jack Transport Modi werden
beim Abspeichern in der QMidiArp Session Datei mit abgespeichert und
beim Öffnen dieser wiederhergestellt.

.SS "Arpeggiatormodule"
QMidiArp's Arpeggiatormodule können komplexe Sequenzen produzieren, die von
den auf dem Keyboard gespielten Noten abgeleitet werden. Die entstehende
Sequenz hängt vom Arpeggio-Muster und von den Modulparametern ab. QMidiArp's
Arpeggiatoren wurden inspiriert durch den MAP1 hardware Arpeggiator von
Rudi Linhard.
.PP
.B Eingangs- and Ausgangsfelder
.PP
Jeder Arpeggiator hat ein
.B Eingangs-Feld
und ein
.B Ausgangs-Feld.
Das Eingangsfeld definiert den Notenbereich und den MIDI-Kanal, für den
der jeweilige Arp empfänglich sein soll.
Noten, die dieses Filter passieren, werden nach Tonhöhe sortiert dem
internen Notenpuffer des Arpeggiators zugefügt.
Noten, die nicht vom Filter erfasst werden, können entweder verworfen oder
an einen bestimmten Port weitergeleitet werden (siehe
.B Ansicht-->Einstellungen).
Das Feld
.B Ausgang
enthält die Einstellungen für
.B MIDI-Kanal
und
.B Ausgabeport,
an den der Arpeggiator seine Noten sendet.
.PP
.B "Arpeggiator-Muster"
.PP
Arpeggio-Muster können im
.B Muster-
Feld gewählt und geändert werden. Bereits definierte
.B Arpeggio-Vorlagen
können via Drop-Down-Menü ausgewählt werden. Das gerade aktive Muster wird
im Stile einer "Piano-Stanzrolle" dargestellt, in der die Basisnoten als
Streifen erscheinen. Die Position der Streifen in vertikaler Richtung
entspricht dem jeweiligen Notenwert. Oktavenübergänge (siehe
.B Arpeggio-Vorlagen bearbeiten
) werden als hervorgehobenene horizontale Linien dargestellt. Die
tatsächlich gesendeten Noten hängen ab von den empfangenen Eingangsnoten.
Diese werden in aufsteigender Reihenfolge den im Muster definierten
Noten zugeordnet. Zum Beispiel bedeutet ein einzelner Streifen im unteren
Teil der Grafik ("Simple"\-Muster), daß beim ersten Durchlauf durch das
Muster die unterste empfangene Note gespielt wird.
Wenn ein Akkord auf dem Keyboard gespielt wird, und nur eine Note im
Muster definiert ist, wird beim ersten Durchlauf die unterste Note
gespielt und die Noten der folgenden Durchläufe von dem eingestellten
"Wiederholungsmodus" bestimmt.
Wenn das Muster mehrere übereinander liegende Streifen enthält
(Akkord-Modus), werden auf dem Keyboard gespielte Akkorde auch als
Akkorde gesendet. Die maximale Polyphonie der gesendeten Akkorde
entspricht der Anzahl der übereinander liegenden Streifen.
.PP
.B Wiederholungsmodus
.PP
Der
.B Wiederholungsmodus
bestimmt das Verhalten der Arpeggios über mehrere Durchläufe des
Musters hinweg. Er ist entscheidend, wenn die Anzahl der auf dem Keyboard
gespielten Noten die Anzahl der Noten im Muster übersteigt. Wenn
"Aufsteigend" gewählt ist, wird bei jedem Durchlauf die nächst höhere
Note des Keyboard-Akkordes gespielt. Ist "Absteigend" gewählt, so wird
die nächst tiefere Note gespielt. Wenn nur eine Note im Muster vorhanden
ist, erzeugt dies ein klassisches lineares Arpeggio. So kann man selbst
mit einfachen Mustern wie "01" oder "0" ein komplettes Arpeggio leicht
erzeugen. Wenn der Wiederholungsmodus "Statisch" gewählt ist, ist
dieser klassische Arpeggio-Modus deaktiviert, und die gesendeten Noten
bleiben konstant.
.PP
.B "Triggermodus (Verhalten bei neuer Stakato-Note)"
.PP
QMidiArp's Arpeggiatoren besitzen drei Startmodi. Steht der Modus auf
"Durchspielen", so läuft die Sequenz synchron zur internen oder externen
Uhr ununterbrochen weiter, unabhängig von dem Moment, in dem neue Tasten
gedrückt werden. Bei "Neustart" wird die Sequenzposition zum Start
zurückgeschickt, wenn eine neue Taste stakato gespielt wird. Dies
geschieht aber ohne das Timing des Sequenzers zu beeinflussen. Nur im
Modus "Loslaufen" startet das Arpeggio mit dem Timing der gespielten
stakato Note.
.PP
.B "Muster Bearbeiten"
.PP
Die Arpeggio-Muster sind durch eine Text-Sequenz definiert, die einerseits
die Noten selbst als Zahlen von 0...9 enthält, aber andererseits auch
Steuersymbole zur Änderung von Tempo, Anschlagsdynamik, Oktave und
Akkord-Modus. Durch Anwählen des Symbols
.B Muster bearbeiten
im Muster-Feld macht man das momentane Muster als Text sichtbar und
veränderbar. Die Änderungen können bei laufender Queue geschehen, jedoch
wird bei jeder Änderung die Sequenzerzeugung erneut gestartet.
Das geänderte Muster kann durch Anwählen des Symbols
.B Muster Speichern
als neues Muster in die Vorlagenliste abgespeichert werden. Das momentan
aktive Muster kann durch Anwählen des
.B Muster löschen
Symbols aus der Liste entfernt werden.
Alle Muster-Vorlagen werden beim Speichern eines neuen Musters unmittelbar
in die .qmidiarprc Ressourcen-Datei geschrieben, und eventuell vorhandenen
weiteren Arpeggiatoren in der Reiterleiste zur Verfügung gestellt.
Die Vorlagenliste wird beim Starten von QMidiArp geladen.

Die Syntax des Muster-Textes ist folgende:

0..9 : Indizes der Noten
   + : Eine Oktave höher
   - : Eine Oktave tiefer
   = : Standard-Oktave
   > : doppeltes Tempo
   < : halbes Tempo
   . : Standard-Tempo
 ( ) : Beginn und Ende des Akkord Modus,
       z.B. erzeugt (012) einen Akkord der untersten drei Noten
   / : Anschlag erhöhen um 20%
   \\ : Anschlag senken um 20%
   d : doppelte Notenlänge
   h : halbe Notenlänge
   p : Pause

Die Wirkung Steuersymbole bleibt bis zum Ende eines Muster-Durchlaufes
bestehen. Das Symbol > erhöht zum Beispiel das Tempo aller folgenden
Noten im Muster bis zu seinem Ende. Beim nächsten Durchlauf des Musters
wird das Tempo dann wieder auf seinen Ausgangswert (Viertelnoten)
geschaltet.
.PP
.B Zufallsfunktion
.PP
Das Timing, der Anschlag und die Länge der gesendeten Noten können mit
Hilfe der Zufallsfunktionen zu Abweichungen gebracht werden. Diese
werden mit den entsprechenden Reglern im Feld
.B Zufall
eingestellt. Man kann dadurch den Arpeggiator weniger mechanisch
klingen lassen. Bei höheren Werten erzeugt man interessante Akzente
innerhalb der Muster.
.PP
.B Hüllkurve
.PP
QMidiArp kann der Anschlagsdynamik der Arpeggios eine Hüllkurve
überlagern, um langsame Übergänge von Akkordmustern zu erzeugen.
Die Funktion dieser Hüllkurve wird durch
.B Attack
\-Zeit und
.B Release
\-Zeit definiert. Wird eine von Null verschiedene Attackzeit gewählt, so
werden die Anschläge der gesendeten Noten während der Attackzeit von
Null bis zu ihrem eigentlichen Wert hochgefahren. Ist eine Releasezeit
verschieden von Null eingestellt, so werden die losgelassenen Noten
weiterhin gesendet, und ihre Anschlagsdynamik wird während der
Releasezeit auf Null heruntergefahren. Erst dann wird die Note aus dem
internen Puffer entfernt. Die Hüllkurven-Funktion hat nur dann Wirkung,
wenn der angesteuerte Klang anschlagsempfindlich ist. Sie funktioniert
am besten mit Mustern mit hoher Polyphonie, zum Beispiel "Chord Oct 16 A".
.PP
.B Groove
.PP
Die
.B Groove
\-Regler erlauben es, Noten innerhalb eines Taktes linear zu verschieben
in ihrer Zeit, Länge und ihrem Anschlag. Dies kann benutzt werden, um
Swing-Rythmen und Akzente zu erzeugen, oder um den Akzent auf eine
bestimmte Stelle jedes Taktes zu setzen. Die Groove-Einstellungen gelten
für alle Arpeggios in der Reiterleiste.

.SS "LFO-Module"
Parallel zu den Arpeggiatoren kann QMidiArp auch MIDI-Steuerdaten in Form
von Niederfrequenz-Oszillatoren (LFOs) an einen zugeordneten Ausgang
schicken. Die LFO-Daten bestehen aus MIDI-Controller-Signalen, die mit
den Arpeggiator-Sequenzen synchron sind. Der Sequenzer muss gestartet
werden, damit die LFOs Daten produzieren. Jedes LFO-Modul hat ein
.B Wellenform-
Feld, in dem die Form der gesendeten Daten bestimmt wird, und ein
.B Ausgangs-
Feld, um den MIDI-Kanal, ALSA-Ausgangsport und die ID des zu erzeugenden
Controllers einzustellen. Die folgenden Wellenformen stehen im Moment
zur Verfügung: Sinus, Sägezahn steigend, Dreieck, Sägezahn fallend,
Rechteck und Frei.
Die
.B Frequenz
der LFOs wird in Vielfachen und Teilern des Sequenzer-
.B Tempos
eingestellt, dabei bedeutet eine LFO-Frequenz von 1, dass eine volle
Welle pro beat (Vierteltakt) erzeugt wird. Wenn niedrigere Frequenzen
als 1 gewählt werden, muss auch die
.B Länge
der Wellenform angepaßt werden, um eine volle Welle zu erzeugen. Die
zeitliche
.B Auflösung
der LFOs bestimmt die Anzahl der Signale, die in jedem Vierteltakt
ausgegeben werden. Die höchste Auflösung beträgt 192 Signale pro
Vierteltakt.
Niedrige Werte der
.B Auflösung
führen zu hörbar rythmischen Controller-Änderungen, während höhere
Auflösungen zu mehr und mehr kontinuierlichen Wellenformen führen.
.B Amplitude
und
.B Offset
der Wellenform können von 0...127 eingestellt werden.

.PP
.B Stummschalten einzelner Punkte der Wellenform
.PP
Einzelne Punkte der Wellenform kann man mit der
.I rechten Maustaste
stumm schalten. Stummgeschaltete Wellenform-Punkte erscheinen in
dunklerer Farbe.
.PP
.B Freie Wellenform
.PP
Wenn
.B Frei
gewählt wird, kann die Wellenform mit der
.I linken Maustaste
in der Wellenform-Graphik gezeichnet werden. Beim Modifizieren einer
errechneten Wellenform wird diese automatisch in die freie Form kopiert.
Dies überschreibt die vorhergehende freie Wellenform mit
der gerade dargestellten Form. Wie alle LFO-Funktionen kann auch das
Zeichnen oder Stummschalten bei laufendem Sequenzer geschehen.
.PP
.B Abspielrichtung und Wiederholungsmodus
.PP
Die folgenden Abspielmodi stehen zur Verfügung

  ->_> : Vorwärts und wiederholen
  <_<- : Rückwärts und wiederholen
  ->_< : Hin und her und wiederholen
  >_<- : Her und hin und wiederholen
  ->_| : Forwärts Einzeldurchlauf
  |_<- : Rückwärts Einzeldurchlauf

Die Änderungen des Abspielmodus werden sofort angewandt.

.PP
.B Aufnahme
.PP
Controller-Daten, die das Filter im Eingang passieren, können
kontinuierlich aufgezeichnet werden durch wählen des
.B Aufnehmen
Knopfes. Dieser Knopf ist selbst über MIDI ansteuerbar (siehe MIDI Learn)
und QMidiArp wird somit zu einem einfachen Control-Looper/Sampler.
.PP
.B LFO Eingangsfeld
Im Eingangsfeld kann man den
.B MIDI CC
wählen der aufzunehmen ist. Man kann außerdem einstellen, wie der LFO
auf eingehende Noten reagiert. So wie die Arpeggiatoren kann der
LFO bei Notenempfang neugestartet oder getriggert werden, und die LFO
Welle kann durch losgelassene Tasten gestoppt werden wenn
.B Note Off
Signal am Eingang mit dem entsprechenden
.B Kanal
empfangen wird.
.PP
.B "LFO Ausgangs-Feld"
.PP
Das LFO Ausgangs-Feld enthält die Einstellungen für
.B Ausgang,
.B Kanal
und
.B Controller
ID der LFO-Daten jedes LFO-Reiters. Es erlaubt auch ein komplettes
Stummschalten jedes LFOs durch Klicken des
.B Stumm
Knopfes.

.SS "Step-Sequenzer-Module"
Durch klicken auf
.B "Neuer Sequenzer..."
in der Werkzeugleiste wird ein neues
.B Seq
Modul hinzugefügt. Jedes dieser Module erzeugt eine einfache, lineare
und monophone Sequenz, ähnlich wie die ersten Hardware-Analogsequenzer.
So wie die LFOs sind auch die Seq Module bei laufendem Sequenzer
steuerbar, ebenfalls ähnlich einem analogen Stepsequenzer.
.PP
.B Programmieren einer Sequenz
.PP
So wie bei den LFO-Modulen, kann man Sequenzen programmieren, in dem man
mit der linken Maustaste in der grafischen Darstellung jede Notenhöhe
einstellt. Es steht ein Notenbereich von 4 Oktaven zur Verfügung, wobei
die niedrigste Note ein C2 ist, wenn die globale Stimmung auf Null steht.
Die
.B Länge
der Sequenz kann zwischen 1 und 8 Vierteltakten liegen. Die
zeitliche
.B Auflösung
wird zwischen 1 und 16 Noten pro Vierteltakt eingestellt.
Eine Auflösung von 4 bedeutet daher, daß der Sequenzer Sechzehntel-Noten
spielt.
Eine Sequenz kann ebenfalls direkt über eine Tastatur eingegeben werden
mit Hilfe der
.B Aufnahme
Funktion. Durch Anklicken des
.B Aufnahme
Knopfes werden auf einer angeschlossenen Tastatur gespielte Noten Schritt
für Schritt aufgenommen, beginnend mit der zuletzt geänderten Note in
der Sequenz. Hierzu muß der Noteneingang des Moduls aktiviert sein. Die
Programmierung kann auch bei laufendem Sequenzer geschehen.

.PP
.B Regler für alle Noten
.PP
QMidiArp erlaubt die globale Einstellung des
.B Anschlags
(Lautstärke), der
.B Notenlänge
und der
.B Transposition
der Sequenz in Halbtönen.
.PP
.B Eingans- und Ausgangsfelder der Seq Module
.PP
Die Einstellungen im
.B Eingangs-Feld
bestimmen, wie die über den einstellbaren MIDI-
.B Kanal
empfangenen Noten verarbeitet werden. Wenn
.B Note
angekreuzt ist, wird die komplette Sequenz beim nächsten Durchlauf auf
die Tonhöhe der empfangenen Note transponiert. Wenn zusätzlich
.B Anschlag
angekreuzt ist, werden auch die Anschlagsdynamik-Daten der empfangenen
Noten auf die Sequenz übertragen, und die gesendeten Noten bekommen
dieselbe Anschlagsdynamik wie die auf der Tastatur gespielte Note.
Weitere Optionen des Eingangsfeldes steuern das Start- und
Stop-Verhalten der Sequenz beim Empfang von Noten.
.B Neustart
verursacht ein Zurücksetzen der Sequenz an den Start, jedoch ohne den
Rhythmus zu unterbrechen. Nur wenn
.B Trigger
angewählt ist, startet die Sequenz exakt mit dem Timing der angeschlagenen
Note.
.B Note Off
stoppt den Notenausgang beim Loslassen von Noten. Ist
.B Schleife
nicht angewählt, so läuft die Sequenz nur einmal nach dem Start (oder nach)
Notenanschlag) durch.

Das
.B Ausgangs-Feld
der Seq-Module ist das gleiche wie das der Arpeggiator- oder LFO-Module.
.PP
Man kann die Sequenz mit Akzenten versehen, wenn man zusätzlich ein
LFO-Modul aufbaut, welches an denselben Kanal und Ausgang zum Beispiel
Filterfrequenz-Controller schickt (CC#74).

.SS "Einstellungen"
Dieses Fenster erlaubt die Konfigurierung, ob und an welchen Ausgang
diejenigen Signale weitergeleitet werden, die von keinem der Module
verarbeitet werden (
.B unpassende
Signale). Hier wird auch bestimmt, ob empfangene MIDI Steuersignale
(Control events) benutzt werden, um die Module zu steuern (siehe
B.MIDI-Steuerung). Durch Ankreuzen des Kästchens
.B Kompakte Darstellung der Module
werden alle folgenden erzeugten Module in einer Platzsparenden Art
dargestellt, um eine bessere Parallel-Darstellung auf dem Schreibtisch
zu ermöglichen.
.PP
Die
.B Einstellungen
werden zusammen mit den Moduldaten in der .qmax-Datei gespeichert.

.SS MIDI-Steuerung
MIDI-Steuersignale werden in QMidiArp verarbeitet, wenn die Option
.B Module steuerbar über MIDI Controller
im
.B Einstellungen
Fenster aktiviert ist.
.PP
.B Lernen von MIDI
.PP
Die Steuerungen werden durch Rechtsklick auf ein entsprechendes
Steuerelement zugeordnet. Durch Auswählen von
.B Lernen von MIDI
wartet QMidiArp auf ein MIDI-Steuerungssignal, was zum Beispiel von einem
angeschlossenen Controller gesendet wird. Das erste eingehende
Steuerungssignal wird dann dem entsprechenden Element zugeordnet. Es
können auch mehrere MIDI-Steuerungen einem einzelnen Element zugeordnet
werden.
Wird
.B MIDI-Steuerungen vergessen
ausgewählt, so werden alle Zuordnungen entfernt. Durch Auswahl von
.B MIDI Lernen abbrechen
wird der Lernprozeß beendet.
.PP
Anmerkung: Stummschaltungs-Steuerungen werden zunächst als "Toggles"
interpretiert, d.h. bei jedem eingehenden Controller-Wert von 127 wird
der Stummschaltungsknopf umgeschaltet. Dies kann im
.B Steuerungseditor
nachfolgend geändert werden.

.PP
.B Steuerungs-Editor
.PP
Dieses Fenster wird durch Auswahl von
.B MIDI-Steuerungen
im
.I Ansicht
Menu geöffnet. Jede zugeordnete Steuerung kann in der dargestellten
Tabelle geändert oder entfernt werden. Die Stummschaltungs-Funktion
hat hierbei eine Besonderheit. Wenn die min und max Werte
.I identisch
sind, so wird die Stummschaltung
.I umgeschaltet,
wenn der eingestellte Wert von dem zugeordneten Controller übermittelt
wird. Sind min und max voneinander
.I verschieden,
so wird das entsprechende Modul beim Eingehen des min-Wertes
stummgeschaltet und bei Eingehen des max-Wertes lautgeschaltet.
.PP
Bei klicken auf
.B Entfernen
wird die ausgewählte Zeile aus der Tabelle entfernt.
.B Wiederherstellen
lädt die momentane Steuerungsbelegung neu.
.B Cancel
verläßt den Steuerungseditor und verwirft die Änderungen, und nur durch
klicken auf
.B OK
werden die Änderungen wirksam.

.SS Globaler Speicher
Ein weiteres verfügbares Dockfenster dient zum Speichern und Zurückrufen
der Parameter aller Module auf einmal. In diesem Fenster entspricht jedes
Modul einer Spalte. Die Bedienelemente in der ersten Spalte gelten
für alle Module gemeinsam. Wenn man auf den kleinen
.B Speichern
Kopf in der ersten Spalte klickt, speichern alle Module ihre
Parameter ab, dargestellt als Reihe von Schaltern. Es erscheint
außerdem ein neuer leerer Speicherplatz.
Die Parameter an dem gespeicherten Platz können dann durch Betätigen dieser
Schalter aktiviert werden, für jedes Modul einzeln, oder für alle Module
gemeinsam mit dem numerierten Knopf in der ersten Spalte. Ein
Speicherplatz kann wieder gelöscht werden durch Klicken des Knopfes "Pfeil"
am Ende der Liste.
Wird ein neues Modul hinzugefügt, wenn schon Speicherplätze für die anderen
Module existieren, so sind die Plätze des neuen Moduls zunächst leer. Sie
können durch erneutes
.B Speichern
gefüllt werden. 
.PP
Wenn QMidiArp's Sequenzer läuft, hängt das Umschaltverhalten von der
Auswahl in den Comboboxen der ersten Zeile des Fensters ab.
.PP
.B Ende von
veranlaßt die Umschaltung dann, wenn dasjenige Modul sein Sequenzende
erreicht, das in der zweiten Combobox ausgewählt ist. Wird in diesem
Zustand ein individuelles Modul umgeschaltet, so tritt dieses an die
Stelle des Zeitgebers, d.h. es schaltet am Ende
.I seiner
Sequenz um.
.PP
Wenn
.B Nach
gewählt ist, passiert das Umschalten nach der festen Anzahl von
kompletten Vierteltakten (Beats), die in der zweiten Combobox gewählt
ist.
.PP
Das Schalten kann über einen MIDI Controller geschehen, der durch die
.I MIDI Lernen
Context Menus der oberen Knöpfe zugewiesen wird. Hierbei beachten, daß
der Controller
.I Wert
der Speicherplatzzuweisung entspricht, und daß die Skalierung des
Controllers eventuell über den
.B Steuerungs-Editor
angepaßt werden muß.
.PP
Mit dem globalen Speicher wird QMidiArp zum einfachen aber
praktischen Live Sequenzer. Der Eintrag
.B Golbaler Speicher
im
.B Ansicht
Menü oder in der Hauptwerkzeugleiste kann aber benutzt werden, um das
Speicherfenster zu verstecken oder anzuzeigen.

.SS "Protokoll"
Das Protokoll-Fenster zeichnet empfangene MIDI-Daten mit Zeitinformation
auf und stellt diese als Liste dar.
Das
.I Protokoll
wird zu Beginn am unteren Ende des Programmfensters angezeigt und kann
verborgen oder als separates Fenster frei beweglich auf der
Arbeitsfläche platziert werden. Das Aufzeichnen der MIDI-Signale kann
generell abgeschaltet oder auch selektiv für Signale der MIDI-Echtzeituhr
eingeschaltet werden.

.SS Beispieldateien
Es gibt zurzeit drei Beispiel-Arpeggios.
Das Arpeggio demo.qma ist ursprünglich für die folgende Klang-Auswahl
gedacht: Ch 1: Marimba, Ch 2: Celesta, Ch 3: Acoustic Bass,
aber man kann interessante Ergebnisse auch mit einer anderen Instrument-
Belegung erhalten.
.PP
Das demo_seqlfo.qmax Beispiel zeigt die parallele Benutzung der neuen
Sequenzer- und LFO-Module. Die Ausgänge sollten an perkussive Synthesizer
Sounds geschickt werden. Die LFOs sind für eine Filterfrequenz-Steuerung
vorgesehen, die über den MIDI-Standard-Controller #CC74 geschieht.
Paul Nasca's ZynAddSubFX verarbeitet diese Standard-Controller, und man
erhält gute Ergebnisse mit den Preset-Sounds "Bass 1" und "Plucked 3".

.SH OPTIONEN
.TP
.BI \-\-portCount\  <Anzahl>
Setz die Anzahl der verfügbaren ALSA-Ausgänge auf den Wert <Anzahl>. Der
voreingestellte Wert beträgt 2.
.TP
.BI \-\-help
Gibt die verfügbaren Kommandozeilenoptionen aus und beendet das
Programm.
.TP
.BI \-\-version
Gibt die Programmversion aus und beendet das Programm.
.TP
.BI \-\-alsa
ALSA MIDI Treiber verwenden
.TP
.BI \-\-jack
JACK MIDI Treiber verwenden (default)
.TP
.B Datei
Name einer QMidiArp-Datei (.qmax) zu Öffnen beim Start des Programms.
.SH DATEIEN
.I *.qmax
.RS
QMidiArp-XML-Dateien, enthalten Daten aller Module sowie Einstellungen
im XML-Textformat.

.SH BEISPIELE
Eine Beispieldatei kann in einem der folgenden Verzeichnisse gefunden
werden:
.I /usr/share/qmidiarp
oder
.I /usr/local/share/qmidiarp
.SH BEMERKUNGEN
Fehler und Warnungen werden nach
.BR stderr (3)
geschrieben.
.SH UNTERSTÜTZUNG
qmidiarp-devel@lists.sourceforge.net
.SH AUTOREN
Frank Kober, Nedko Arnaudov, Guido Scholz, Matthias Nagorni. Das Original
dieser Handbuchseite wurde von Frank Kober <emuse@users.sourceforge.net>
geschrieben; die deutsche Übersetzung wurde von Robert Dietrich
<flyingrobin@online.de> angefertigt.