To set up “Jnana”, a few crucial steps must be taken within Ableton. Unfortunately this setup cannot be entirely automated due to limitations of the Ableton Live API. I have attempted to document the required steps throughly here.

Requirements

Installation

Installation via command-line

To install Jnana, the easiest way is to use the terminal and the makefile distributed with the project. If you are uncomfortable with the terminal or do not have the developer’s tools installed, skip to the next section where I describe how to install Jnana manually.

  1. Download and unzip Jnana into a temporary directory, you can delete it later.
wget https://github.com/colinsullivan/Jnana/archive/v0.1.zip --no-check-certificate
unzip v0.1.zip
cd Jnana-0.1/

Bash
  1. Install Jnana with make.
make install

Bash
  1. In the Ableton Live browser, you should now see CSDevices/CSJnanaClips and CSDevices/CSJnanaLive under the Max MIDI Effect/ directory.

Installation without command-line

If you are unfamiliar with using the command-line, we can also install Jnana manually.

  1. Download Jnana
  2. Download and unzip Jnana into a temporary directory, you can delete it later: github.com/colinsullivan/Jnana/archive/v0.1.zip
  3. Install Jnana

    1. In the build/ directory, you will see two sub-directories: jsextensions/ and Max-MIDI-Effect/.
    2. Copy everything from the jsextensions/ directory into the Max/MSP jsextensions/ directory:

      • For Live 8 and Max 5 use /Applications/Max5/Cycling '74/jsextensions/
      • For Live 9 and Max 6.1 use /Applications/Max 6.1/Cycling '74/jsextensions/
    3. Copy everything from the Max-MIDI-Effect/ directory into the Ableton Live Max MIDI Effect directory:

      • For Live 8 and Max 5 use /Users/yourname/Library/Application Support/Ableton/Library/Presets/MIDI Effects/Max MIDI Effect/
      • For Live 9 and Max 6.1 use /Users/yourname/Music/Ableton/User Library/Presets/Midi Effects/Max Midi Effect/
  4. In the Ableton Live browser, you should now see CSDevices/CSJnanaClips and CSDevices/CSJnanaLive under the Max MIDI Effect/ directory.

Setup and Usage

To use the Jnana Live and Jnana Clip plug-ins on an Ableton track, the track needs clips to be created and configured in a particular way. This is so the plug-in can properly populate and trigger clips and so the plug-in knows which clips to analyze.

Jnana Live Tutorial

The Jnana Live plug-in will take live input from an Ableton track and integrate it into the analysis each time a phrase has “ended”. For more information on the functionality of Jnana Live, see the Jnana Live functionality section.

Setup tutorial for Jnana Live

Screenshot of the clip setup for a track using the Jnana Live plug-in. The `-auto` clip will be used when Jnana automatically responds, and the two numbered clips will be used when generating for an arbitrary duration.

To get Jnana Live up and running:

  1. Create a clip with a name ending in -auto and ensure that it is not looped. This will be the clip used when auto response is enabled.
    1. Double click on an empty clip slot
    2. Right-click on your newly created clip and select Rename
    3. Name the clip something ending in -auto, like accomp-auto
    4. In the clip properties turn Loop off
  2. Create two clips with names ending in -manual1 and -manual2 that are also not looped and have a length of a few bars:
    1. Create and name the clip as described above, but this time name the clip something ending in -manual1, like accomp-manual1
    2. Make sure to turn Loop off
    3. Drag the loop end and clip end indicators to measure 5, making the length of the clip 4 bars (this is arbitrary for now, it doesn’t matter as long as -manual1 and -manual2 are the same duration.)
    4. Do the same for -manual2 in the slot below -manual1.
  3. Set the follow mode of -manual1 and -manual2 such that they play back and forth. These clips will be used when the hold to generate button is being pressed.

    Appropriate attributes for the -manual1 clip on a Jnana Live track. The length of 4 bars is arbitrary, but must match the Follow Action Duration. The -manual2 clip properties should be the same, except the Follow Action A should be set to Previous ( ).

    1. Double click on the -manual1 clip, and in the Launch pane, select Next ( ) from the Follow Action A drop-down and set the Follow Action Chance A number box to 1 (i.e. always). This will cause the -manual2 clip to be always triggered when the -manual1 clip is finished.
    2. Also in the launch pane, set the “Follow action time” to 4 0 0 or whatever the Length of the clip is currently.
      1. To open the launch pane, click on the L below the clip properties at the bottom of the screen
    3. Do the same for the -manual2 clip, but set its Follow Action A to Previous ( ). This will cause the -manual1 clip to be triggered when the -manual2 clip finishes.

You are now ready to send Jnana Live some midi and listen to it respond! Try enabling auto analyze and auto response. Put a simple synthesizer after the CSJnanaLive plug-in and enable midi passthrough always so we can hear our MIDI input through the synth. Set the phrase duration timeout to 1000 milliseconds and play a phrase into the system. Stop playing and after 1 second Jnana should respond to you with something similar to what you just played!

Jnana Clips Tutorial

The Jnana Clips plug-in has the ability to analyze preexisting clips within an Ableton Live session and generate new ones based on this analysis. For more information on the functionality of Jnana Clips, see the Jnana Clips functionality section.

Setup tutorial for Jnana Clips

To get Jnana Clips up and running:

Screenshot of the clip setup for a track using the Jnana Clips plug-in. The numbered clips are the manually entered clips to analyze, and the `-auto` clips are populated by Jnana.

  1. Create at least two clips with names ending in -auto, like riff-auto. These will be the clips populated with generated material. A clip will not generate if it is currently playing, thus you must trigger another clip in order to give the previous one a chance to generate. Try setting the Follow mode of two -auto clips such that they bounce back and forth between each other, giving the non-playing clip a chance to generate.
  2. Make the -auto clips the duration you wish the generated phrases to be by dragging the start, end, and loop indicators in the clip to the desired duration. Each time a phrase is generated, the loop indicators will shift forward but will remain the same duration. So make sure there are no notes after the loop end indicator.
  3. Add the clips you wish to analyze into the track and change their names to end in numbers like riff-01, riff-02, etc. These will be the clips used for learning.
  4. Press the analyze track button so the system can learn from the manually entered clips.

Your clips have now been analyzed and you are ready to start generating! Try enabling auto generate and setting plays between generations to 2. Press play on your first clip and after two plays, trigger the second clip, and listen to a new variation every two clip repetitions. This process can be automated by using the Follow Mode functionality in Ableton.