forked from rncbc/qtractor
-
Notifications
You must be signed in to change notification settings - Fork 0
Qtractor - An Audio/MIDI multi-track sequencer
License
wyyrepo/qtractor
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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.org http://qtractor.sourceforge.net https://qtractor.sourceforge.io 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/ - static rendering: http://qtractor.org/doc http://qtractor.sourceforge.net/doc https://qtractor.sourceforge.io/doc - user manual & how-to's: http://download.sf.net/qtractor/qtractor-manual-and-howtos.epub http://download.sf.net/qtractor/qtractor-manual-and-howtos.pdf Weblog: http://www.rncbc.org Qtractor is free, open-source software, distributed under the terms of the GNU General Public License (GPL) [18] 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 [17]). - 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, freeze). - 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) [19]); 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 Pointer (SPP) support. - Configurable PC-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 [16]) 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/sratom/ http://drobilla.net/software/sord/ http://drobilla.net/software/serd/ [15] libsuil, Lightweight C library for loading and wrapping LV2 plugin UIs http://drobilla.net/software/suil/ [16] 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: ./autogen.sh 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/sratom/ http://drobilla.net/software/sord/ http://drobilla.net/software/serd/ [15] libsuil, Lightweight C library for loading and wrapping LV2 plugin UIs (needed for LV2 UI support) http://drobilla.net/software/suil/ [16] Non Session Management (NSM) http://non.tuxfamily.org/nsm/ [17] QjackCtl - JACK Qt GUI Interface http://qjackctl.sourceforge.net [18] GNU General Public License http://www.gnu.org/copyleft/gpl.html [19] 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
About
Qtractor - An Audio/MIDI multi-track sequencer
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- C++ 97.6%
- M4 1.2%
- C 0.7%
- Makefile 0.2%
- QMake 0.2%
- Roff 0.1%