Qtractor - An Audio/MIDI multi-track sequencer

25
SAPO Codebits 2008 SAPO Codebits 2008 Qtractor Qtractor An Audio/MIDI multi-track sequencer An Audio/MIDI multi-track sequencer Rui Nuno Capela Rui Nuno Capela rncbc.org rncbc.org http://qtractor.sourceforge.net http://qtractor.sourceforge.net November 2008 November 2008

Transcript of Qtractor - An Audio/MIDI multi-track sequencer

Page 1: Qtractor - An Audio/MIDI multi-track sequencer

SAPO Codebits 2008SAPO Codebits 2008

QtractorQtractorAn Audio/MIDI multi-track sequencerAn Audio/MIDI multi-track sequencer

Rui Nuno CapelaRui Nuno Capelarncbc.orgrncbc.org

http://qtractor.sourceforge.nethttp://qtractor.sourceforge.net

November 2008November 2008

Page 2: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 2

What is Qtractor ? (1)What is Qtractor ? (1)

Yet another Audio / MIDI sequencer ?Yet another Audio / MIDI sequencer ?

Yes ;-)Yes ;-) Multi-track recorder paradigmMulti-track recorder paradigm GNU / LinuxGNU / Linux JACKJACK ALSA SequencerALSA Sequencer C++C++ Qt 4Qt 4 GPLGPL

Page 3: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 3

What is Qtractor ? (2)What is Qtractor ? (2)● Home-studio DAW GUIHome-studio DAW GUI● Intuitive and easy to use (hopefully)Intuitive and easy to use (hopefully)● Music-making playgroundMusic-making playground● Not for the erudite (no score editor)Not for the erudite (no score editor)● Techno-boy bedroom studio, anyone?Techno-boy bedroom studio, anyone?● Not a revolution, will evolve . . .Not a revolution, will evolve . . .

● Why not Ardour, Rosegarden ?Why not Ardour, Rosegarden ?

Page 4: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 4

Who is behind ?Who is behind ?

Hobby work of one developerHobby work of one developer● me, rncbc a.k.a. Rui Nuno Capelame, rncbc a.k.a. Rui Nuno Capela

LAD PortfolioLAD Portfolio● QjackCtlQjackCtl● QsynthQsynth● QsamplerQsampler

A A gift economygift economy player :-) player :-)

Page 5: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 5

But why ?But why ?● Just for funJust for fun● The motive . . .The motive . . .

Long time enthusiasm on electronic musicLong time enthusiasm on electronic music

● The skill . . .The skill . . . A half-life on programming (>20y)A half-life on programming (>20y)

● The moment . . .The moment . . . An extraordinary event alignment occurred in An extraordinary event alignment occurred in

the whole Universe . . .the whole Universe . . .

So that was it !So that was it !

Page 6: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 6

Where can get it ?Where can get it ?

qtractor.sourceforge.netqtractor.sourceforge.net● AlphaAlpha still, but... still, but...● Fully functional (no Fully functional (no not-implemented-yetsnot-implemented-yets))● What You See Is What What You See Is What IsIs Working Working● Bugs'R'UsBugs'R'Us● WIPWIP

Open for Business (no money involved)Open for Business (no money involved)● users, developers, players, nurturers . . . users, developers, players, nurturers . . .

Page 7: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 7

What do I need ? (1)What do I need ? (1)

RequirementsRequirements MandatoryMandatory

Qt 4 (core, gui, xml)Qt 4 (core, gui, xml) JACKJACK ALSAALSA libsndfilelibsndfile LADSPA (SDK)LADSPA (SDK)

Page 8: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 8

What do I need ? (2)What do I need ? (2)

RequirementsRequirements OptionalOptional

libvorbis (enc, file)libvorbis (enc, file) libmadlibmad libsampleratelibsamplerate librubberbandlibrubberband DSSI (SDK)DSSI (SDK) VST (SDK)VST (SDK)

Page 9: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 9

Featuritis (1)Featuritis (1)● Multi-track audio and MIDI sequencing and Multi-track audio and MIDI sequencing and

recording.recording.● Developed on pure Qt4 C++ application Developed on pure Qt4 C++ application

framework (no Qt3 / KDE dependencies).framework (no Qt3 / KDE dependencies).● Uses JACK for audio and ALSA sequencer Uses JACK for audio and ALSA sequencer

for MIDI, as multimedia infrastructures.for MIDI, as multimedia infrastructures.● Traditional multi-track tape recorder control Traditional multi-track tape recorder control

paradigm.paradigm.

Page 10: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 10

Featuritis (2)Featuritis (2)● Audio file formats support: OGG (libvorbis), Audio file formats support: OGG (libvorbis),

MP3 (libmad, playback only), WAV, FLAC, MP3 (libmad, playback only), WAV, FLAC, AIFF and many, many more (libsndfile).AIFF and many, many more (libsndfile).

● Standard MIDI files support (format 0 and 1).Standard MIDI files support (format 0 and 1).● Non-destructive, non-linear editing.Non-destructive, non-linear editing.● Unlimited number of tracks per Unlimited number of tracks per

session/project.session/project.● Unlimited number of overlapping clips per Unlimited number of overlapping clips per

track.track.

Page 11: Qtractor - An Audio/MIDI multi-track sequencer

Featuritis (3)Featuritis (3)● Built-in mixer and monitor controls.Built-in mixer and monitor controls.● Built-in connection patch-bay control and Built-in connection patch-bay control and

persistence (QjackCtl;).persistence (QjackCtl;).● LADSPA, DSSI and native VSTi plug-ins LADSPA, DSSI and native VSTi plug-ins

support.support.● Unlimited number of plug-ins per track or Unlimited number of plug-ins per track or

bus.bus.● Plug-in presets, programs and Plug-in presets, programs and

chunk/configurations support.chunk/configurations support.

Page 12: Qtractor - An Audio/MIDI multi-track sequencer

Featuritis (4)Featuritis (4)● Audio/MIDI clip fade-in/out (linear, quadratic, Audio/MIDI clip fade-in/out (linear, quadratic,

cubic).cubic).● Audio/MIDI clip gain, normalize, export.Audio/MIDI clip gain, normalize, export.● Audio clip time-stretching (WSOLA-like, Audio clip time-stretching (WSOLA-like,

librubberband).librubberband).● Audio clip pitch-shifting (librubberband).Audio clip pitch-shifting (librubberband).● Audio clip seamless sample-rate conversion Audio clip seamless sample-rate conversion

(libsamplerate).(libsamplerate).● Audio/MIDI track export (mix-down, merge).Audio/MIDI track export (mix-down, merge).● Audio/MIDI metronome bar/beat clicks.Audio/MIDI metronome bar/beat clicks.

Page 13: Qtractor - An Audio/MIDI multi-track sequencer

Featuritis (5)Featuritis (5)● MIDI clip editor (piano-roll / matrix editor).MIDI clip editor (piano-roll / matrix editor).● MIDI instrument definitions (Cakewalk(tm))MIDI instrument definitions (Cakewalk(tm))● JACK transport sync master.JACK transport sync master.● MMC control surface enabled.MMC control surface enabled.● Configurable keyboard shortcuts.Configurable keyboard shortcuts.

Page 14: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 14

Screenshot!Screenshot!

Page 15: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 15

Monolith (1)Monolith (1)

OSkernel

AudioAudiodriverdriver

MIDIMIDIdriverdriver

Ax

Page 16: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 16

Monolith (2)Monolith (2)

OSOSkernelkernel

AudioAudiodriverdriver

MIDIMIDIdriverdriver

AxAx

P1P1 P3P3

P2P2 P4P4

PnPn

Page 17: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 17

Pipe Mania (1)Pipe Mania (1)

LinuxLinuxkernelkernel

ALSAALSAdriverdriver

JACKJACK

A1A1 A3A3

A2A2 A4A4

AnAn

ALSAALSAsequencersequencer

Page 18: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 18

Pipe Mania (2)Pipe Mania (2)

LinuxLinuxkernelkernel

ALSAALSAdriverdriver

JACKJACK

A1A1 A3A3

A2A2 A4A4

AnAn

P1P1 P3P3

P2P2

PnPn

P1P1 P3P3

P2P2

PnPn

ALSAALSAsequencersequencer

Page 19: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 19

Studio Setup (1)Studio Setup (1)

DAWDAW

Analog AudioAnalog Audio

Digital AudioDigital Audio

MIDI / MMCMIDI / MMC

MIDIMIDI

USBUSB

Page 20: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 20

Studio Setup (2)Studio Setup (2)

DAWDAW

Synth / SamplerSynth / Sampler

Analog AudioAnalog Audio

Digital AudioDigital Audio

MIDI / MMCMIDI / MMC

MIDIMIDI

USB

Page 21: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 21

Studio Setup (3)Studio Setup (3)

DAWDAW

Synth/SamplerSynth/Sampler

Recorder/SequencerRecorder/Sequencer

Analog AudioAnalog Audio

Digital AudioDigital Audio

MIDI / MMCMIDI / MMC

MIDIMIDI

USBUSB

Page 22: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 22

Evil Flow DiagramEvil Flow Diagram

......

inin outoutInputInputBusBus

OutputOutputBusBusmonitormonitor

......

InputInputBusBus

OutputOutputBusBusmonitormonitorinin outout

= Volume / Pan= Volume / Pan Plug-insPlug-ins

RR

MM

SS

= Record= Record

= Mute= Mute

= Solo= Solo

TrackTrackRR MM SS

monitormonitor

ClipsClips

TrackTrackRR MM SS

monitormonitor

ClipsClips

TrackTrackRR MM SS

monitormonitor

ClipsClips

TrackTrackRR MM SS

monitormonitor

ClipsClips

Page 23: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 23

What's missing ? (1)What's missing ? (1)● Loop recording (takes)Loop recording (takes)● Dynamic curves / Automation (volume, pan, Dynamic curves / Automation (volume, pan,

plug-in parameters, controllers)plug-in parameters, controllers)● Auto-cross fadingAuto-cross fading● Location markersLocation markers● LV2 Plug-insLV2 Plug-ins● JACK-MIDIJACK-MIDI

Page 24: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 24

What's missing ? (2)What's missing ? (2)● MIDI Time Code / SMPTEMIDI Time Code / SMPTE● MIDI Clock syncMIDI Clock sync● OSC interfaceOSC interface● Integrated scripting (angelscript?)Integrated scripting (angelscript?)● Tempo and time signature mapTempo and time signature map

● Your suggestion(s) here !Your suggestion(s) here !

Page 25: Qtractor - An Audio/MIDI multi-track sequencer

2008-11-14Qtractor - SAPO Codebits 2008 - rncbc.org 25

Q & AQ & A

QtractorQtractorAn Audio/MIDI multi-track sequencerAn Audio/MIDI multi-track sequencer

http://qtractor.sourceforge.nethttp://qtractor.sourceforge.net

Qtractor is free / open-source software; you can redistribute it and / Qtractor is free / open-source software; you can redistribute it and / or modify it under the terms of the GNU General Public License or modify it under the terms of the GNU General Public License version 2 or later.version 2 or later.

It is being possible through the knowledgeable, direct and / or It is being possible through the knowledgeable, direct and / or indirect collaborative efforts of the Linux Audio Developers and indirect collaborative efforts of the Linux Audio Developers and Users communities.Users communities.

Thank you all.Thank you all.