Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
patchage [2015/06/23 01:52]
slackermedia created
patchage [2021/06/03 19:48] (current)
Line 1: Line 1:
-[[{arrowp.png|border:​0;​background:​none;​width:​0;​display:​inline-block;​position:​absolute;​top:​0;​left:​0;​}opencolorio|]] 
  
-[[{arrown.png|border:​0;​background:​none;​width:​0;​display:​inline-block;​position:​absolute;​top:​0;​margin-left:​2.5em;​}qjackctl|]] 
  
 ====== Patchage ====== ====== Patchage ======
Line 49: Line 47:
 ===== Usage ===== ===== Usage =====
  
 +Launch Patchage from the **K Menu** or from a terminal:
  
 +<​code>​
 +$ patchage&​
 +</​code>​
  
 +Patchage starts in a disconnected state. To connect to a running JACK session, use the **System** menu → **Connect to JACK**.
  
 +Patchage'​s environment is determined by the running audio systems on your computer. If you have JACK running, then when you connect to it, Patchage will create nodes for each JACK port on each JACK device you have configured. This means that if you are using ''​seq''​ as your MIDI sequencer, then JACK ports appear with both MIDI and JACK Audio ports available to you as route-able objects. ​
 +
 +The different protocols for MIDI are colour coded: ​
 +
 +  * Audio ports are green
 +  * JACK MIDI ports are red
 +  * ALSA MIDI ports are purple
 +
 +<WRAP tip>
 +If you are colour-blind,​ you can re-assign colours by clicking on the boxes next to their labels in the top menu bar.
 +</​WRAP>​
 +
 +Each node has significant alignment: a port meeting the left edge of a node is an //input// port, and a port meeting the right edge of a node is an //output// port. You cannot connect output to output or input to input. ​
 +
 +You cannot connect two ports of differing colour categories, because those two systems do not connect at a lower level. They are presented in one screen because you may need to manipulate them in tandem, but never together.
 +
 +To connect two devices, just click and drag from one to another. As you drag, a "​cable"​ follows your mouse to the destination port. As long as you drag to a valid port, the cable "plugs in" to the device and the objects are routed.
 +
 +[{{ seqmidi.jpg | MIDI to MIDI, Audio to Audio. }}]
 +
 +To disconnect, right-click on either the sender or the receiver and select **Disconnect**.
 +
 +===== Audio Connections =====
 +
 +If you are new to audio production, you might wonder how you know what should get connected to what. Ultimately, that is entirely up to you, but a common starting point is that all nodes that make sounds (a DAW with synth plugins, soft synths, samplers, drum machines) should get plugged into the ''​system playback''​ node. If you have two speakers on your desk, then the ports you want to plug into are probably ''​1''​ and ''​2''​. If you aren't sending your audio output to a speaker, then you won't be able to hear it.
 +
 +A common variation on this is that certain audio nodes get pulled from ''​system playback''​ and plugged first into an effects filter (reverb, EQ, delay, gate, and other things provided by [[jackapps|Jack Rack]] or [[calf]]), and then the output of that effect gets plugged into ''​system playback''​. If you want to avoid using stand-alone racks, use effects within your DAW or synth.
 +
 +==== MIDI Connections ====
 +
 +MIDI, of course, does not send audio signals at all, it sends digital signals which trigger [usually] audio.
 +
 +<WRAP tip>
 +To get the most out of MIDI, read all about it in the [[midi|MIDI]] appendix.
 +</​WRAP>​
 +
 +You should have launched ''​jackd''​ such that it uses the ''​seq''​ MIDI driver; for example:
 +
 +<​code>​
 +$ jackd -R -d alsa -X seq
 +</​code>​
 +
 +With ''​seq'',​ MIDI captured by your system is available throughout JACK.
 +
 +If you are using a MIDI controller connected to your computer (that is, not a virtual keyboard, but a physical device on your desk) then you must connect the MIDI data being delivered by that controller to the **MIDI Thru** port of your system.
 +
 +Do this by dragging-and-dropping a virtual cable from the (purple) output of your MIDI controller to the (purple) input of the MIDI Thru node. 
 +
 +[{{ midi2midi.jpg | Send MIDI to the ALSA Midi Through to make it available to JACK. }}]
 +
 +This connection ensures that MIDI signals from your controller are echoed into your JACK system by way of the ''​seq''​ driver, which bridges ALSA MIDI (the subsystem receiving MIDI signals through USB) and JACK MIDI.
 +
 +On real world hardware, it would be expensive and bulky to have a dozen **MIDI Out** ports, so devices are daisy-chained from **MIDI Thru** ports to **MIDI In** ports. In the virtual MIDI world, there is no such limitation, so you can run as many cables as you want from your MIDI device &#​40;​your controller and&#​47;​or the DAW or sequencer you are using to trigger MIDI events&#​41;​ to any number of virtual devices.
 +
 +The source of MIDI events for your controller is bridged from the (purple) **ALSA Thru** port into your **System Capture** node (you can think of it as a Line In or Mic In, but for MIDI), so MIDI events are sent from the (red) output port of **System Capture**. This can be sent to any other node with a (red) MIDI In port.
 +
 +<WRAP important>​
 +JACK only spawns one MIDI port for each device because one MIDI port is all any device needs to receive any MIDI channel it is listening for. JACK-aware MIDI ports are red by default and exist in a node named for the process to which they belong. These are the MIDI ports you want to use.
 +</​WRAP>​
 +
 +The routing is relatively simple from a high level application like Patchage; connect a MIDI source (like your USB controller, or a DAW or sequencer into which you have written MIDI data in, for instance, the piano roll editor) to something that can be triggered by MIDI (such as a synth or sampler). Then route the //audio// output of that instrument to your **System Playback** port. Play a sequence and you should hear the instruments playing along.
 +
 +The catch is that the instruments must be told what MIDI channel they should listen to. This is not done in Patchage, but in the instrument (synth, sampler, DAW plugin, etc) itself.
 +
 +For example, if you have two instances of [[synths|Yoshimi]] open, each receiving MIDI data from your controller or from your DAW, then both of them are probably set to MIDI channel 1. This is probably not what you want, unless you really do want the two to play in unison. Setting one to Channel 1 and the other to Channel 2, for example, will split their response to those two signals, and play separate parts (assuming you have set your DAW to broadcast Channels 1 and 2).
 +
 +See the documentation for the application of your choice here on Slackermedia to learn how to set which MIDI channel is broadcast and/or responded to when received.
 +
 +Read the [[midi|MIDI]] appendix for more information on MIDI in general.
  
 <WRAP tip> <WRAP tip>
Line 58: Line 130:
 </​WRAP>​ </​WRAP>​
  
 +<WRAP centeralign>​
 +<wrap fa>​[[opencolorio|R]]</​wrap>​ <wrap fa>​[[start|S]]</​wrap>​ <wrap fa>​[[planter|Q]]</​wrap>​
 +</​WRAP>​
  
-====================== 
- 
-[[{arrown.png|border:​0;​background:​none;​width:​0;​display:​inline-block;​float:​right;​}qjackctl|]][[{arrowp.png|border:​0;​background:​none;​width:​0;​float:​right;​}opencolorio|]]