wiki:hosting_atom_2_in_ns2

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
wiki:hosting_atom_2_in_ns2 [2021/05/03 03:07] MisplacedDevelopmentwiki:hosting_atom_2_in_ns2 [2021/05/14 22:55] (current) MisplacedDevelopment
Line 17: Line 17:
 {{ :wiki:atom2ns2:screenshot_2021-05-02_at_10.44.19.png?200 |}} {{ :wiki:atom2ns2:screenshot_2021-05-02_at_10.44.19.png?200 |}}
  
-If you intend on recording MIDI rather than manually adding notes in Atom then I recommend that you create a second instance of Atom 2 for each track.  This will be explained in more detail later on but you will use the second instance for recording and the first for triggering:+If you intend on recording MIDI rather than manually adding notes in Atom then I recommend that you create a second instance of Atom 2 for each track. This will be explained in more detail later on but you will use the second instance for recording and the first for triggering:
  
 {{ :wiki:atom2ns2:screenshot_2021-05-02_at_10.49.32.png?200 |}} {{ :wiki:atom2ns2:screenshot_2021-05-02_at_10.49.32.png?200 |}}
 +
 +**Edit/Note** I no longer use a second Atom instance in my workflow (see Advanced Topics section) but I have left this in case others prefer the way of working.
  
 ===== Initial setup ===== ===== Initial setup =====
Line 68: Line 70:
  
 The second pattern switch note added is C#2 (49).  This will cause “Pattern 2” to be switched to for the second instance of the trigger note C4 (72).  Having the second trigger note C4 (72) forces the playhead to return to the start after switching to “Pattern 2”. The second pattern switch note added is C#2 (49).  This will cause “Pattern 2” to be switched to for the second instance of the trigger note C4 (72).  Having the second trigger note C4 (72) forces the playhead to return to the start after switching to “Pattern 2”.
 +
 +**Important** If a pattern change is not happening as expected then try removing the pattern change note and re-add it, or move it forward one step and then back to its original point in the timeline.  For whatever reason, if you either move or delete/add the *clip* control note then you need to re-add the pattern change note.  There is probably some order which NS2 presents the notes to Atom which gets messed up by moving/re-adding the control note.
  
 **Note** The pattern switch notes mark state changes and so the length of those notes is not significant. **Note** The pattern switch notes mark state changes and so the length of those notes is not significant.
Line 181: Line 185:
 **Important** Hold off creating the controller data for the new track because we want to get the notes down in Atom 2 first and do not want the controller data bleeding into our recording. **Important** Hold off creating the controller data for the new track because we want to get the notes down in Atom 2 first and do not want the controller data bleeding into our recording.
  
-Rather than opening the controller Atom 2 plugin, open the second instance of the Atom plugin that we will use only for recording. The controller plugin is set to not pass through notes so in order to record anything to the recording plugin then we will need to disable the controller plugin otherwise it will eat the incoming notes.+Rather than opening the controller Atom 2 plugin, open the second instance of the Atom plugin that we will use only for recording. The controller plugin is set to not pass through notes so in order to record anything to the recording plugin then we will need to disable the controller plugin otherwise it will eat the incoming notes
 + 
 +{{ :wiki:atom2ns2:screenshot_2021-05-02_at_18.15.36.png?600 |}}
  
 Start the NS2 transport and open your recording plugin.  You will see the playhead moving relative to the main timeline and will start just before a bar boundary (our loop starts just before a bar boundary, remember).  The next part is **important** as it will mean the difference between a successful loop and a loop that goes off in seemingly random directions. Start the NS2 transport and open your recording plugin.  You will see the playhead moving relative to the main timeline and will start just before a bar boundary (our loop starts just before a bar boundary, remember).  The next part is **important** as it will mean the difference between a successful loop and a loop that goes off in seemingly random directions.
Line 245: Line 251:
  
 ===== Advanced Topics ===== ===== Advanced Topics =====
 +==== Recording MIDI ====
 +To record MIDI from Atom you will need the excellent MIDI Tools app https://apps.apple.com/gb/app/midi-tools/id1446209019
 +
 +Decide where you want the recorded notes to be sent to.  This might be a new track which sends to the instrument track, or might be the instrument track itself.  When you have decided where the notes are to be recorded then ensure that the track is listening on a specific “NanoStudio 2” channel which is only used by that track.  Set the track to receive MIDI “ALWAYS”, for example:
 +
 +{{:wiki:atom2ns2:screenshot_2021-05-14_at_13.39.12.png?400|}}
 +
 +Add the MIDI Route plugin **after** the Atom instance that you want to record:
 +
 +{{:wiki:atom2ns2:screenshot_2021-05-14_at_13.38.29.png?400|}}
 +
 +I think by default the plugin will point to NanoStudio 2 so all you need to do is ensure that the MIDI channel that is being sent to matches the MIDI channel of the track you set up above.
 +
 +Hit record in NS2 and the output of Atom will be routed by MIDI Route to the NS2 channel and recorded into the track listening on this channel.
 +
 +If you are using an iPhone then MIDI Route is not available but you may be able to use this workaround:
 +
 +https://www.blipinteractive.co.uk/community/index.php?p=/discussion/989/how-to-record-aufx-midi-out-on-iphone
 +
 +==== Alternative (better?) workflow ====
 +Since writing the initial version of this guide I have changed my workflow so that every instrument has a control track which contains a single Atom instance - no secondary Atom instance is used for recording.  This control track does a MIDI send to the instrument track.  The control track is set up as a dummy Slate instrument - see below on how to set this up.  This lets you have a nicely numbered piano roll where the numbers match the patterns in Atom.  The instrument track is set to listen on its own MIDI port and so you can hear both the notes as played by Atom as well as an external controller.
 +
 +To record I set up a blank pattern in the control track Atom instance and loop the part of the song I want to record over.  I then open AUM and record into Helium or Atom attached to the NS2 port for the instrument I want to record for, which lets me hear exactly how the recording will sound and has the advantage of being able to hear the lead in bars for that instrument.  If you have LINK enabled in AUM/NS2 then you can set up a loop to record over in Atom/Helium and it should be in sync with NS2.  A current advantage of using Helium is that you can use the multi-take feature to try a few different ideas out.
 +
 +**Tip:** To quickly get a recording from Helium to NS2/Atom - save to the Media Bay, long press on the new MIDI clip and with your finger held down, use the other hand to navigate to the Atom instance in NS2 containing the empty pattern you set up earlier.  If you now release your finger you should see that the clip is pasted directly into the empty pattern, meaning you can avoid the need to export/import via the file system.  If the number of bars was set up correctly in Helium then the clip you imported should fit exactly into your song with no further editing required.
 +
 ==== Using Slate to trigger patterns ==== ==== Using Slate to trigger patterns ====
-As you saw earlier, Slate kits allow you to name pads and these names appear in the piano roll.  Using this information we can create a simple Slate kit that does not actually contain any sound but can be used to more easily add patterns to controller clips.  The downside to this approach is that you end up with double the number of tracks and I’m not sure it is really worth the hassle but some may find it useful, especially if you create an NS2 template which has all of this set up by default.+As you saw earlier, Slate kits allow you to name pads and these names appear in the piano roll.  Using this information we can create a simple Slate kit that does not actually contain any sound but can be used to more easily add patterns to controller clips.
  
 Create a Slate track and then create an Init kit in the Slate editor: Create a Slate track and then create an Init kit in the Slate editor:
Line 256: Line 288:
 {{ :wiki:atom2ns2:screenshot_2021-05-02_at_17.40.16.png?600 |}} {{ :wiki:atom2ns2:screenshot_2021-05-02_at_17.40.16.png?600 |}}
  
-Now you can assign useful names to the notes.  Pad 25 should be labelled as the controller note as this is by default C4 (72).  If you used the suggested default “Root Offset” setting then you will find that this starts at pad 1 which defaults to C2 (48):+Now you can assign useful names to the notes, or just label the controller as the others will automatically be numbered.  Pad 25 should be labelled as the controller note as this is by default C4 (72).  If you used the suggested default “Root Offset” setting then you will find that this starts at pad 1 which defaults to C2 (48):
  
 {{ :wiki:atom2ns2:screenshot_2021-05-02_at_17.43.30.png?600 |}} {{ :wiki:atom2ns2:screenshot_2021-05-02_at_17.43.30.png?600 |}}
Line 263: Line 295:
  
 {{ :wiki:atom2ns2:screenshot_2021-05-02_at_17.44.54.png?600 |}} {{ :wiki:atom2ns2:screenshot_2021-05-02_at_17.44.54.png?600 |}}
 +
 +At the moment the control data is sitting on the Slate track and we need to use this to trigger Atom.  At this point you have two options - either store your Atom controller plugin with the Slate track and send all generated MIDI to an instrument track, OR host the Atom plugin on the instrument track and send only the controller data from the Slate track.  You route MIDI data in the usual way, either by grouping tracks or using MIDI Send from the Slate track:
 +
 +{{ :wiki:atom2ns2:screenshot_2021-05-02_at_18.21.31.png?600 |}}
  
  • wiki/hosting_atom_2_in_ns2.1619975257.txt.gz
  • Last modified: 2021/05/03 03:07
  • by MisplacedDevelopment