forked from rncbc/qtractor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
306 lines (220 loc) · 9.48 KB
/
README
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
Qtractor - An Audio/MIDI multi-track sequencer
----------------------------------------------
Qtractor is an audio/MIDI multi-track sequencer application written
in C++ with the Qt framework [1]. Target platform is Linux, where the
Jack Audio Connection Kit (JACK) for audio [2] and the Advanced Linux
Sound Architecture (ALSA) for MIDI [3] are the main infrastructures
to evolve as a fairly-featured Linux desktop audio workstation GUI,
specially dedicated to the personal home-studio.
Website:
http://qtractor.sourceforge.net
Project page:
http://sourceforge.net/projects/qtractor
Git repos:
http://git.code.sf.net/p/qtractor/code
https://github.com/rncbc/qtractor.git
https://gitlab.com/rncbc/qtractor.git
https://bitbucket.org/rncbc/qtractor.git
Wiki:
http://sourceforge.net/p/qtractor/wiki/
Weblog:
http://www.rncbc.org
Qtractor is free, open-source software, distributed under the terms of
the GNU General Public License (GPL) [17] version 2 or later.
Features
--------
- Multi-track audio and MIDI sequencing and recording.
- Developed on the Qt C++ application and UI framework [1].
- Uses JACK [2] for audio and ALSA [3] sequencer for MIDI
as multimedia infrastructures.
- Traditional multi-track tape recorder control paradigm.
- Audio file formats support: OGG (via libvorbis [6]),
MP3 (via libmad [7], playback only), WAV, FLAC, AIFF
and many, many more (via libsndfile [4]).
- Standard MIDI files support (format 0 and 1).
- Non-destructive, non-linear editing.
- Unlimited number of tracks per session/project.
- Unlimited number of overlapping clips per track.
- XML encoded session/project description files (SDI).
- Point-and-click, multi-select, drag-and-drop interaction
(drag, move, drop, cut, copy, paste, paste-repeat, delete, split, merge).
- Unlimited undo/redo.
- Built-in mixer and monitor controls.
- Built-in connection patchbay control and persistence
(a-la QjackCtl [16]).
- LADSPA [5], DSSI [11], native VST [12] and LV2 [13] plug-ins support.
- Unlimited number of plug-ins per track or bus.
- Plug-in presets, programs and chunk/configurations support, including
native VST FXB/FXP file support.
- Unlimited audio/MIDI effect send/return inserts per track or bus.
- Loop-recording/takes.
- Audio/MIDI clip fade-in/out, cross-fade (linear, quadratic, cubic).
- Audio/MIDI clip gain/volume, normalize, export.
- Audio/MIDI track and plugin parameter automation (dynamic curves,
sample&hold, linear and spline modes).
- Audio clip time-stretching (WSOLA-like or via librubberband [9]),
pitch-shifting (via librubberband [9]) and seamless sample-rate
conversion (via libsamplerate [8]).
- Audio/MIDI track export (mix-down, render, merge).
- Audio/MIDI metronome bar/beat clicks.
- Unlimited tempo/time-signature map.
- Unlimited location/bar markers.
- MIDI clip editor (matrix/piano roll).
- MIDI instrument definitions (a-la Cakewalk(tm) (*.ins) [18]);
SoundFont (*.sf2) and MIDI Names XML (*.midnam) files also supported.
- MIDI controller mapping/learn/assignment (mixer and plug-in parameters).
- MIDI system exclusive (SysEx) setups.
- JACK transport sync master/slave.
- JACK session support.
- NSM (Non Session Management) support [15].
- MMC control surface enabled.
- MIDI Clock, Song Position cueing support.
- Configurable keyboard and MIDI controller shortcuts.
Requirements
------------
The software requirements for build and runtime are listed as follows:
Mandatory:
[1] Qt framework, C++ class library and tools for
cross-platform application and UI development
http://qt.io/
[2] JACK Audio Connection Kit
http://jackaudio.org/
[3] ALSA, Advanced Linux Sound Architecture
http://www.alsa-project.org/
[4] libsndfile, C library for reading and writing
files containing sampled sound
http://www.mega-nerd.com/libsndfile/
[5] LADSPA, Linux Audio Developer's Simple Plugin API
http://www.ladspa.org/
Optional (opted-in at build time):
[6] libvorbis (enc, file), Ogg Vorbis audio compression
http://xiph.org/vorbis/
[7] libmad, High-quality MPEG audio decoder
http://www.underbit.com/products/mad/
[8] libsamplerate, The secret rabbit code, C library
for audio sample rate conversion
http://www.mega-nerd.com/SRC/
[9] librubberband, Rubber Band Audio Time Stretcher,
an audio time-stretching and pitch-shifting library
http://breakfastquay.com/rubberband/
[10] liblo, Lightweight OSC implementation
(needed for DSSI GUI [11] and/or NSM support [15])
http://liblo.sourceforge.net/
[11] DSSI, An API for soft synth plugins with custom user interfaces
http://dssi.sourceforge.net/
[12] VST SDK, Steinberg's Virtual Studio Technology (see README.VST)
http://www.steinberg.net/
[13] LV2, Audio Plugin Standard, the extensible successor of LADSPA
http://lv2plug.in/
[14] liblilv, Lightweight LV2 host implementation stack
http://drobilla.net/software/lilv/
http://drobilla.net/software/suil/
http://drobilla.net/software/sratom/
http://drobilla.net/software/sord/
http://drobilla.net/software/serd/
[15] Non Session Management (NSM)
http://non.tuxfamily.org/nsm/
Installation
------------
The installation procedure follows the standard for source distributions.
Unpack the tarball and in the extracted source directory:
./configure [--prefix=/usr/local]
make
and optionally as root:
make install
This procedure will end installing the following files:
${prefix}/bin/qtractor
${prefix}/share/applications/qtractor.desktop
${prefix}/share/icons/hicolor/32x32/apps/qtractor.png
${prefix}/share/qtractor/translations/qtractor_*.qm
Just launch ${prefix}/bin/qtractor and you're off (hopefully).
Note that the default installation path ${prefix} is /usr/local.
If you're checking out from Git, you'll have to prepare the
configure script just before you proceed with the above instructions:
make -f Makefile.git
Configuration
-------------
Qtractor holds its settings and configuration state per user, in a file
located as $HOME/.config/rncbc.org/Qtractor.conf . Normally, there's no
need to edit this file, as it is recreated and rewritten everytime
qtractor is run.
Bugs
----
Probably plenty still, Qtractor maybe considered on beta stage already.
Support
-------
Qtractor is open source free software. For bug reports, feature requests,
discussion forums, mailling lists, or any other matter related to the
development of this piece of software, please use the Sourceforge
project page (http://sourceforge.net/projects/qtractor).
You can also find timely and closer contact information on my personal
web site (http://www.rncbc.org).
Acknowledgments
---------------
The dated Qtractor quick start guide and user manual for version 0.5.x
has been authored by Seth Kenlon & Klaatu.
(http://downloads.sourceforge.net/qtractor/qtractor-0.5.x-user-manual.pdf)
The older Qtractor user manual for version 0.3.0 and before, have
been co-authored by James Laco Hines and Stephen Doonan.
(http://downloads.sourceforge.net/qtractor/qtractor-0.3.0-user-manual.pdf)
Qtractor logo/icon is an original work of Andy Fitzsimon, borrowed
from the public domain openclipart.org gallery.
A special mention should also go to the translators of Qtractor
(see TRANSLATORS) and of course, last but not least, to all the
past, present and future contributors of the Qtractor Wiki.
(http://sourceforge.net/p/qtractor/wiki/)
Thank you all.
References
----------
[1] Qt framework, C++ class library and tools for
cross-platform application and UI development
http://qt.io/
[2] JACK Audio Connection Kit
http://jackaudio.org/
[3] ALSA, Advanced Linux Sound Architecture
http://www.alsa-project.org/
[4] libsndfile, C library for reading and writing
files containing sampled sound
http://www.mega-nerd.com/libsndfile/
[5] LADSPA, Linux Audio Developer's Simple Plugin API
http://www.ladspa.org/
[6] libvorbis (enc, file), Ogg Vorbis audio compression
http://xiph.org/vorbis/
[7] libmad, High-quality MPEG audio decoder
http://www.underbit.com/products/mad/
[8] libsamplerate, The secret rabbit code, C library
for audio sample rate conversion
http://www.mega-nerd.com/SRC/
[9] librubberband, Rubber Band Audio Time Stretcher,
an audio time-stretching and pitch-shifting library
http://breakfastquay.com/rubberband/
[10] liblo, Lightweight OSC implementation
(needed for DSSI GUI support)
http://liblo.sourceforge.net/
[11] DSSI, an API for soft synth plugins with custom user interfaces
http://dssi.sourceforge.net/
[12] VST SDK, Steinberg's Virtual Studio Technology (see README.VST)
http://www.steinberg.net/
[13] LV2, Audio Plugin Standard, the extensible successor of LADSPA
http://lv2plug.in/
[14] liblilv, Lightweight LV2 host implementation stack
(needed for LV2 support)
http://drobilla.net/software/lilv/
http://drobilla.net/software/suil/
http://drobilla.net/software/sratom/
http://drobilla.net/software/sord/
http://drobilla.net/software/serd/
[15] Non Session Management (NSM)
http://non.tuxfamily.org/nsm/
[16] QjackCtl - JACK Qt GUI Interface
http://qjackctl.sourceforge.net
[17] GNU General Public License
http://www.gnu.org/copyleft/gpl.html
[18] Cakewalk, powerful and easy-to-use tools
for Windows-based music and sound production
http://www.cakewalk.com/
Enjoy && have (lots of) fun.
--
rncbc aka Rui Nuno Capela
rncbc at rncbc dot org
http://www.rncbc.org