Difference between revisions of "Separate audio outputs"

From TidalCycles userbase
Jump to: navigation, search
(Automatically sending d1, d2 to different orbits)
(Marked this version for translation)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= How can I output/record separate audio channels? =
+
<languages/>
 +
<translate>
 +
= How can I output/record separate audio channels? = <!--T:1-->
  
 +
<!--T:2-->
 
Lets say you wanted to make a multi-track recording, with different patterns playing at the same time, but recorded separately.. Or wanted to route the audio from some patterns into external effects processor. How is this possible?
 
Lets say you wanted to make a multi-track recording, with different patterns playing at the same time, but recorded separately.. Or wanted to route the audio from some patterns into external effects processor. How is this possible?
  
 +
<!--T:3-->
 
Tidal's audio engine is (most often) SuperDirt, and the key to routing audio channels is understanding how to configure and use orbits. You can think of each orbit as an audio output, with its own set of global effects (by default, reverb and delay).
 
Tidal's audio engine is (most often) SuperDirt, and the key to routing audio channels is understanding how to configure and use orbits. You can think of each orbit as an audio output, with its own set of global effects (by default, reverb and delay).
  
 +
<!--T:4-->
 
Have a look at [https://github.com/musikinformatik/SuperDirt SuperDirt's documentation], in particular the example [https://github.com/musikinformatik/SuperDirt/blob/develop/superdirt_startup.scd superdirt_startup.scd] file.  You'll want to paste the setup code into the supercollider editor window. If you save it in your supercollider startup file it will automatically run when you open supercollider - you can find that file via the menus.
 
Have a look at [https://github.com/musikinformatik/SuperDirt SuperDirt's documentation], in particular the example [https://github.com/musikinformatik/SuperDirt/blob/develop/superdirt_startup.scd superdirt_startup.scd] file.  You'll want to paste the setup code into the supercollider editor window. If you save it in your supercollider startup file it will automatically run when you open supercollider - you can find that file via the menus.
  
 +
<!--T:5-->
 
There are probably only two bits that you will want to change in the setup code. If you wanted six stereo outputs, that would require 12 channels in total, so you would set the number of output bus channels accordingly, i.e.:
 
There are probably only two bits that you will want to change in the setup code. If you wanted six stereo outputs, that would require 12 channels in total, so you would set the number of output bus channels accordingly, i.e.:
  
  s.options.numOutputBusChannels = 12;
+
  <!--T:6-->
 +
s.options.numOutputBusChannels = 12;
  
 +
<!--T:7-->
 
You assign the orbits to separate stereo channels by offsetting each one, like this:
 
You assign the orbits to separate stereo channels by offsetting each one, like this:
  
  ~dirt.start(57120, [0, 2, 4, 6, 8, 10]);
+
  <!--T:8-->
 +
~dirt.start(57120, [0, 2, 4, 6, 8, 10]);
  
 +
<!--T:9-->
 
You might also be tempted to change the number in this line:
 
You might also be tempted to change the number in this line:
  
  ~dirt = SuperDirt(2, s);
+
  <!--T:10-->
 +
~dirt = SuperDirt(2, s);
  
 +
<!--T:11-->
 
However if you want to work in stereo, you should keep this number to 2, i.e. the number of channels per orbit.
 
However if you want to work in stereo, you should keep this number to 2, i.e. the number of channels per orbit.
  
Then to send a tidal pattern to a particular orbit, you just use a parameter, e.g. d1 $ sound "bd sn" # orbit 2 to send it to the third one (counting from 0). You're now free to route the audio to a DAW for e.g. effects processing or recording, or record all the channels straight from supercollider into a single multichannel file. Have a look around the [https://github.com/musikinformatik/SuperDirt/tree/master/hacks SuperDirt hacks folder] for more fun with orbits.
+
<!--T:12-->
 +
If your editor plugin (and therefore BootTidal.hs), then <source inline>d1</source> will automatically be sent to orbit 0, d2 to orbit 1, and so on. Or you can be explicit by using the orbit control, e.g. <source inline>d1 $ sound "bd" # orbit 3</source>
  
== Automatically sending d1, d2 to different orbits ==
+
<!--T:13-->
 
+
You're now free to route the audio to a DAW for e.g. effects processing or recording, or record all the channels straight from supercollider into a single multichannel file. Have a look around the [https://github.com/musikinformatik/SuperDirt/tree/master/hacks SuperDirt hacks folder] for more fun with orbits.
*Please note, if your plugin (or BootTidal.hs file) is up to date, the following behaviour is now default*
 
 
 
You might want to always send <source inline>d1</source> to the first orbit, <source inline>d2</source> to the second, and so on. You can do that by running the following:
 
 
 
<source>
 
let d1 = p 1 . (|< orbit 0)
 
    d2 = p 2 . (|< orbit 1)
 
    d3 = p 3 . (|< orbit 2)
 
    d4 = p 4 . (|< orbit 3)
 
    d5 = p 5 . (|< orbit 4)
 
    d6 = p 6 . (|< orbit 5)
 
    d7 = p 7 . (|< orbit 6)
 
    d8 = p 8 . (|< orbit 7)
 
    d9 = p 9 . (|< orbit 8)
 
    d10 = p 10 . (|< orbit 9)
 
    d11 = p 11 . (|< orbit 10)
 
</source>
 
 
 
You can make this permanent by modifying the default definitions in your [[Configuration|BootTidal.hs file]]
 
  
 +
<!--T:14-->
 
[[Category:Reference]]
 
[[Category:Reference]]
 +
</translate>

Latest revision as of 02:36, 15 December 2019

Other languages:
English • ‎français

How can I output/record separate audio channels?

Lets say you wanted to make a multi-track recording, with different patterns playing at the same time, but recorded separately.. Or wanted to route the audio from some patterns into external effects processor. How is this possible?

Tidal's audio engine is (most often) SuperDirt, and the key to routing audio channels is understanding how to configure and use orbits. You can think of each orbit as an audio output, with its own set of global effects (by default, reverb and delay).

Have a look at SuperDirt's documentation, in particular the example superdirt_startup.scd file. You'll want to paste the setup code into the supercollider editor window. If you save it in your supercollider startup file it will automatically run when you open supercollider - you can find that file via the menus.

There are probably only two bits that you will want to change in the setup code. If you wanted six stereo outputs, that would require 12 channels in total, so you would set the number of output bus channels accordingly, i.e.:

s.options.numOutputBusChannels = 12;

You assign the orbits to separate stereo channels by offsetting each one, like this:

~dirt.start(57120, [0, 2, 4, 6, 8, 10]);

You might also be tempted to change the number in this line:

~dirt = SuperDirt(2, s);

However if you want to work in stereo, you should keep this number to 2, i.e. the number of channels per orbit.

If your editor plugin (and therefore BootTidal.hs), then d1 will automatically be sent to orbit 0, d2 to orbit 1, and so on. Or you can be explicit by using the orbit control, e.g. d1 $ sound "bd" # orbit 3

You're now free to route the audio to a DAW for e.g. effects processing or recording, or record all the channels straight from supercollider into a single multichannel file. Have a look around the SuperDirt hacks folder for more fun with orbits.