summaryrefslogtreecommitdiff
path: root/man/drumgizmo.1
blob: ac8628e3219e0bbf5af2567f0afd8492ae12aacc (plain)
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
.TH "DRUMGIZMO" "1" "21 July 2018" "drumgizmo" ""

.SH NAME
drumgizmo \- drum application

.SH SYNOPSIS
\fBdrumgizmo\fR [\fIOPTIONS\fR] <\fIFILE\fR>

.SH "DESCRIPTION"
.PP
\fBDrumGizmo\fR is an open source cross-platform drum plugin and stand-alone application. It is comparable to several commercial drum plugin products.
.PP
DrumGizmo uses an open drumkit file format, allowing the community to create their own drumkits. It has multichannel output, making it possible to mix it just the way you would a real drumkit. The optional built-in humanizer analyzes the midi notes, adjusting velocities on-the-fly. This client can be a stand-alone midi renderer, generating .wav files, 1 for each channel. Or use DrumGizmo as a software sampler for an electronic drumkit. There are also plugin versions available.

.SH "OPTIONS"
.PD 0
.RE
\fB-a, --async_load\fR
.RS 7
Load kit in the background.

.RE
\fB-b, --bleed\fR
.RS 7
Set and enable master bleed.

.RE
\fB-i, --inputengine \fR{dummy|test|jackmidi|midifile}
.RS 7
Use said event input engine.

.RE
\fB-I, --inputparms parmlist\fR
.RS 7
Set input engine parameters.

\fBjackmidi:\fR
.P
midimap=<midimapfile>

\fBmidifile:\fR
.P
file=<midifile>
.P
speed=<tempo> (default 1.0)
.P
track=<miditrack> (default -1, all tracks)
.P
midimap=<midimapfile>
.P
loop=<true|false>

\fBossmidi:\fR
.P
midimap=<midimapfile>
.P
dev=<device> (default '/dev/midi')

\fBtest:\fR
.P
p=<hit_propability> (default 0.1)
.P
instr=<instrument> (default -1, random instrument)
.P
len=<seconds> (default -1, forever)

\fBdummy:\fR

.RE
\fB-o, --outputengine \fR{dummy|alsa|jackaudio|wavfile|oss}
.RS 7
Use said audio output engine.

.RE
\fB-O, --outputparms parmlist\fR
.RS 7
Set output engine parameters.

\fBalsa:\fR
.P
dev=<device> (default 'default')
.P
frames=<frames> (default 32)
.P
srate=<samplerate> (default 44100)

\fBwavfile:\fR
.P
file=<filename> (default 'output')
.P
srate=<samplerate> (default 44100)

\fBoss:\fR
.P
dev=<device> (default /dev/dsp)
.P
srate=<samplerate> (default 44100)
.P
max_fragments=<fragments> (default 4)
.P
fragment_size=<size> (default 8)

.P
More info on \fBmax_fragments\fR and \fBfragment_size\fR on
http://manuals.opensound.com/developer/SNDCTL_DSP_SETFRAGMENT.html

\fBjackaudio:\fR

\fBdummy:\fR

.RE
\fB-e, --endpos\fR
.RS 7
Number of samples to process, (default -1: infinite)

.RE
\fB-r, --no-resampling\fR
.RS 7
Disable resampling

.RE
\fB-s, --streaming\fR
.RS 7
Enable diskstreaming

.RE
\fB-S, --strimingparms parmlist\fR
.RS 7
Parameters for controlling the streaming buffers.

.P
\fBlimit\fR=<size> (Limit the amount of preloaded drumkit data to the size)
\" .P
\" \fBchunk_size\fR=<size> (chunk size in k,M,G)

.RE
\fB-t, --timing-humanizer\fR
.RS 7
Enable moving of notes in time.
.P
\fINote: \fIadds \fIlatency \fIto \fIthe \fIoutput \fIso \fIdo \fInot
\fIuse \fIthis \fIwith \fIa \fIreal-time \fImidi \fIdrumkit.

.RE
\fB-T, --timing-humanizerparms parmlist\fR
.RS 7
Timing humanizer options.

.P
\fBlaidback\fR=<val> (Move notes ahead or behind in time in ms
[+/-100].)
.P
\fBtightness\fR=<val> (Control the tightness of the drummer. [0,1].)
.P
\fBregain\fR=<val> (Control how fast the drummer catches up the timing. [0,1])

.RE
\fB-t, --velocity-humanizer\fR
.RS 7
Enables adapting input velocities to make it sound more realistic.

.RE
\fB-T, --velocity-humanizerparms parmlist\fR
.RS 7
Velocity humanizer options.

.P
\fBattack\fR=<val> (How quickly the velocity gets reduced when playing fast notes.
Lower values result in faster velocity reduction. [0,1])
.P
\fBrelease\fR=<val> (How quickly the drummer regains the velocity
when there are spaces between the notes. Lower values result in faster regain. [0,1])
.P
\fBstddev\fR=<val> (The standard-deviation for the velocity humanizer.
Higher value makes it more likely that a sample further
away from the input velocity will be played. [0,4.5])

.RE
\fB-p, --parameters parmlist\fR
.RS 7
Parameters for the sample selection algorithm.
.P
\fBclose\fR=<val> (The importance given to choosing a sample close to
the actual velocity value (after humanization) [0,1])
.P
\fBdiverse\fR=<val> (The importance given to choosing samples which
haven't been played recently [0,1])
.P
\fBrandom\fR=<val> (The amount of randomness added [0,1])

.RE
\fB-v, --version\fR
.RS 7
Print drumgizmo version and exit.

.RE
\fB-h, --help\fR
.RS 7
Print command line help and exit.

.RE
\fBdrumkitfile\fR
.RS 7
Load the drumkitfile.

.RE
.SH "EXAMPLES"
\fBRender midifile to wav files:\fR
.RS 7
drumgizmo -i midifile -I file=file.mid,midimap=midimap.xml -o wavfile -O file=prefix drumkit.xml
.RE
\fBReceive midi from Jack and send audio output to speakers:\fR
.RS 7
drumgizmo -i jackmidi -I midimap=midimap.xml -o jackaudio drumkit.xml
.RE
.SH "BUGS"
Report bugs to http://www.drumgizmo.org/wiki/doku.php?id=bugs.

.SH "ADDITIONAL INFORMATION"
For further information, visit the website http://www.drumgizmo.org.