Audio setup old
Jump to navigation
Jump to search
Specific notes on my audio workflow.
General
- MIDI hardware
- Yamaha DJX
- Korg Nanokontrol 2
- Numark DJ2GO
- Session management
- Cadence
- Non Session Manager
- JACKPatch - NSM util to save jack patching
- http://i3wm.org/docs/layout-saving.html - create layout, save to JSON, edit configs to uncomment/edit window title/class, restore from JSON
- Audio systems, routing and hosts
- ALSA
- JACK - jackd 2, multiprocess, gui config via dbus. to try jackd 1 for speed later.
- alsa_in/alsa_out - for adding additional input and output devices to jack
- Patchage - JACK/ALSA patchbay
- Carla - plugin host (LV2, LASDSPA, DSSI, Linux/Windows VST). MIDI automation CC per parameter.
- Ingen - plugin host (LV2) and patcher. MIDI learn.
- MIDI routing
- a2jmidid - via Cadence, as jackd 2 doesn't do the Metadata API yet
- mididings - filtering, scripting, switching via 'scene' changes
- jack_midi_dump - another monitor, basic and quick to stdout
- MIDI sequencing
- sequencer64 - no MIDI record control (in dev) or MIDI learn
- harmonySEQ - no recording. sequences and LFOs with multiple patterns, MIDI learn for: sequence toggle/one-shot, note/chord/octave change, pattern change, tempo and sequence sync
- CCStepper - no recording. Windows VST.
- MIDI parts
- Kick
- Snare
- Hi-hat
- Other percussion
- Bass
- Phrase A
- Phrase B
- Phrase C
Kick 1 | Snare 1 | Hi-hat 1 | Perc. 1 | Bass 1 | Phrase A 1 | Phrase B 1 | Phrase C 1 |
Kick 2 | Snare 2 | Hi-hat 2 | Perc. 2 | Bass 2 | Phrase A 2 | Phrase B 2 | Phrase C 2 |
Kick FX 1 | Snare FX 1 | Hi-hat FX 1 | Perc. FX 1 | Bass FX 1 | Phrase A FX 1 | Phrase B FX 1 | Phrase C FX 1 |
Kick FX 2 | Snare FX 2 | Hi-hat FX 2 | Perc. FX 2 | Bass FX 2 | Phrase A FX 2 | Phrase B FX 2 | Phrase C FX 2 |
- sequencer64 - MIDI control config - keyboard mapping - see Audio#sequencer64
- start -
- stop - nano stop - cc42
- pause (stop/start toggle) - nano play - cc41
- screen-set up - nano marker > - cc 62
- screen-set down - nano marker < - cc 61
- screen-set play - nano marker set - cc 60
- bpm down - nano cc61 127
- bpm up - nano cc62 127
- mod thru toggle/on/off
- mod record
- mod queue - b4
- mod solo toggle/on/off
- mod replace - c5
- mod snapshot - c#5
- mod group learn - d5
- mod group mute select - d#5
- pattern toggle - 0-31 in sequencer64 - c2 (32)-g4
- toggle between sequencer64 controls and playing notes/chords - e5?
- mididings scene mod between toggle and on and off?
to redo:
74 # MIDI controls count 0 [1 0 144 36 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 1 [1 0 144 44 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 2 [1 0 144 52 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 3 [1 0 144 60 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 4 [1 0 144 37 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 5 [1 0 144 45 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 6 [1 0 144 53 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 7 [1 0 144 61 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 8 [1 0 144 38 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 9 [1 0 144 46 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 10 [1 0 144 54 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 11 [1 0 144 62 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 12 [1 0 144 39 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 13 [1 0 144 47 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 14 [1 0 144 55 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 15 [1 0 144 63 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 16 [1 0 144 40 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 17 [1 0 144 48 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 18 [1 0 144 56 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 19 [1 0 144 64 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 20 [1 0 144 41 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 21 [1 0 144 49 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 22 [1 0 144 57 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 23 [1 0 144 65 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 24 [1 0 144 42 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 25 [1 0 144 50 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 26 [1 0 144 58 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 27 [1 0 144 66 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 28 [1 0 144 43 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 29 [1 0 144 51 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 30 [1 0 144 59 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 31 [1 0 144 67 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] # mute in group section: this doesn't work; 32 [1 0 144 36 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 33 [1 0 144 44 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 34 [1 0 144 52 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 35 [1 0 144 60 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 36 [1 0 144 37 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 37 [1 0 144 45 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 38 [1 0 144 53 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 39 [1 0 144 61 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 40 [1 0 144 38 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 41 [1 0 144 46 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 42 [1 0 144 54 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 43 [1 0 144 62 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 44 [1 0 144 39 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 45 [1 0 144 47 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 46 [1 0 144 55 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 47 [1 0 144 63 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 48 [1 0 144 40 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 49 [1 0 144 48 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 50 [1 0 144 56 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 51 [1 0 144 64 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 52 [1 0 144 41 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 53 [1 0 144 49 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 54 [1 0 144 57 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 55 [1 0 144 65 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 56 [1 0 144 42 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 57 [1 0 144 50 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 58 [1 0 144 58 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 59 [1 0 144 66 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 60 [1 0 144 43 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 61 [1 0 144 51 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 62 [1 0 144 59 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] 63 [1 0 144 67 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0] # bpm up: 64 [0 0 0 0 0 0] [1 0 176 59 1 127] [0 0 0 0 0 0] # bpm down: 65 [0 0 0 0 0 0] [1 0 176 58 1 127] [0 0 0 0 0 0] # screen set up: 66 [0 0 0 0 0 0] [1 0 144 69 0 127] [0 0 0 0 0 0] # screen set down: 67 [0 0 0 0 0 0] [1 0 144 68 0 127] [0 0 0 0 0 0] # mod replace: 68 [0 0 0 0 0 0] [1 0 144 72 0 127] [1 0 128 72 0 127] # mod snapshot: 69 [0 0 0 0 0 0] [1 0 144 73 0 127] [1 0 128 73 0 127] # mod queue: 70 [0 0 0 0 0 0] [1 0 144 71 0 127] [1 0 128 71 0 127] # mod gmute: 71 [0 0 0 0 0 0] [1 0 144 75 0 127] [1 0 128 75 0 127] # mod glearn: 72 [0 0 0 0 0 0] [1 0 144 74 0 127] [1 0 128 74 0 127] # screen set play: 73 [0 0 0 0 0 0] [1 0 144 70 0 127] [1 0 128 70 0 127] # Extended MIDI controls: # start playback (pause, start, stop): 74 [0 0 0 0 0 0] [0 0 0 0 0 0] [0 0 0 0 0 0] # performance record: 75 [0 0 0 0 0 0] [0 0 0 0 0 0] [0 0 0 0 0 0] # solo (toggle, on, off): 76 [0 0 0 0 0 0] [0 0 0 0 0 0] [0 0 0 0 0 0] # MIDI THRU (toggle, on, off): 77 [0 0 0 0 0 0] [0 0 0 0 0 0] [0 0 0 0 0 0] # reserved for expansion: 78 [0 0 0 0 0 0] [0 0 0 0 0 0] [0 0 0 0 0 0] # reserved for expansion: 79 [0 0 0 0 0 0] [0 0 0 0 0 0] [0 0 0 0 0 0] # reserved for expansion: 80 [0 0 0 0 0 0] [0 0 0 0 0 0] [0 0 0 0 0 0] # reserved for expansion: 81 [0 0 0 0 0 0] [0 0 0 0 0 0] [0 0 0 0 0 0] # reserved for expansion: 82 [0 0 0 0 0 0] [0 0 0 0 0 0] [0 0 0 0 0 0] # reserved for expansion: 83 [0 0 0 0 0 0] [0 0 0 0 0 0] [0 0 0 0 0 0]
- MIDI automation
- arpage
- QMidiArp
- Hypercyclic
- BlueARP - Win VST
- RandARP - Win VST
- arp4midi - Win VST
- Drum synthesis
- ErsDrums - win vst
- Stegosaurus - lv2
- KickMaker - kick, 4 sine osc+env. w/ out env. win vst.
- TW-Opkicker - kick, win vst
- TW-Percussion1 - monophonic
- KMT2 - individual outs
- Synths w/ host tempo sync
- TheBlooo, TheScrooo, Diodow, Crystal, basic65, dlM entropy, TAL Noizemak3r, Infamous Cellular Automaton Synth, Eclipsis
- Samples
- drumkv1 - file based sampler
- shuriken - file based beat slicer. no MP3.
- freeycle - file based beat slicer
- Effects w/ host tempo sync
- Delay: Calf Vintage Delay, Calf Reverse Delay, TAL-Dub-3, ZamDelay (mono), Della (mono), Leet Delay 2 (Win VST), TigerDelay (Win VST), Spaceship Delay (Win VST), PPD Echobox (Win VST), Tapatiki (Win VST), Delazi (Win VST), Rubbadub (Win VST), KR-Delay FS, SoundHack +delay (Win VST)
- Gate: SuperCutSequencer, dfx skidder, de la Mancha moot, dlM gator, StormGate1, Gate3
- Filter: Channelswap, MAutopan, MFlanger, MFreqShifter, Ducka (side-chain envelope), TAL-Filter-2 (filter), ndcTrem+ (tremelo), dlM bent (desync), Masha (beat grinder), dfx buffer override (stutter), dlM thrummaschine (distortion) Kitchen Sync (complex LFO), The Modulator 2 (amplitude/ring/frequency modulation), dlM sfilter (sequenced filter), dlM pfilter (probabalistic filter), dlM manic (glitch sampler), Livecut (glitch), Muchacho (stutter), Phase Seq (glitch), dlM truc/2 (multi), Frakture (multi), Hysteresis (multi)
- Granular: Argotlunar, grANALiser, 23_words, Muchacha
- Looping: SuperBeatRepeater, beatslash-lv2, InstaLooper, Tempo Sync Reverser
- Audio mixing
- StereoKnot - basic lv2 stereo mixer
- LiveMixer - basic lv2 stereo mixer with 2 sends
- AMS Stereo Mixer 8 channels - 8 mono to 1 stereo
- Non Mixer - a JACK client for each mixer strip, effects available (see lv2 patched version)
- To do
- MIDI controlled MIDI routing/switching - mididings scenes
- part/pattern progression switching - mididings scenes? seq64 mute groups?
- part/channel preset switching
Session setup commands
cadence # gui, optional, easiest. input device can be entered manually if not autodetected. # cadence-session-start -s # cadence script to start jackd, divert from pulseaudio, etc. might work for you. # if fails, try cadence-session-start --reset non-session-manager -- --session-root path_to/NSM_projects_root # i.e. non-session-manager -- --session-root ~/audio/NSM # same session root for all projects
NSM entries:
JACKPatch # nsm specific util to save and restore jack connections nsm-proxy patchage -A # connection manager gui. ctrl-g, ctrl-f to sort connections # via nsm-proxy for the -A argument to not load ALSA carla # plugin host nsm-proxy python path/to/mididingsscript.py # MIDI routing nsm-proxy xterm -e jack_midi_dump # MIDI monitoring nsm-proxy nsm-sequencer64 # via nsm-proxy, requires an empty midi file ( optional nsm-proxy nsm-ingen # via nsm-proxy, hack of sequencer64 script above, copies in a blank project, starts ingen modular host engine and gui # ingen -eg project.ingen ) ( optional nsm-proxy alsa_out -j "USB Out 1" -d hw:5 -q 1 2>&1 1> /dev/null & nsm-proxy alsa_out -j "USB Out 2" -d hw:6 -q 1 2>&1 1> /dev/null & # additional 2 stereo outputs, USB soundcards for DJ main and headphone )
Cannae
- Cannot yet do/use
- MIDI controlled MIDI looping - no software good enough yet, would allow live loop of mute and effect changes
- sequencer64 - no MIDI start/stop/arm.
- Giada - audio/midi looping - problems between nanoKONTROL2s no button off note off CC and parameter scales. fiddly midi control; learn but no 'mod' like sequencer64, i.e., no MIDI 'channel' (sample/sequence) select or channel groups - every item requires unique MIDI CCs and learns for each of it's functions.
- External interactive tempo changes
- klick doesn't do JACK transport and OSC mode (from gtklick) at same time
- Jack Director only has set bpm presets triggerable by midi
- InConcert doesn't take external input or display bpm, crashes often
- Samples
- petri-foo - broken, always starts from 0 :(
- MIDI controlled MIDI looping - no software good enough yet, would allow live loop of mute and effect changes