Device Details

Device Overview

Name/Version: deeploops 1.2
Author: aiton  
Description: deeploops is a drum pattern generator using AI. It creates a MIDI clip of 2 bars length. Drag deeploops.amxd on a drum track, and press on the button to create a clip. The clip contains MIDI notes for a typical ableton drum rack. You can influence how much "chaos" is in the notes. 1 is a good value to start with. With smaller values, the generated drum patterns might not vary much. With higher values, there is more randomness in the notes.

You can influence the generated notes, by creating a primer clip on the drum track. deeploops will take the notes in the primer clip and try to continue the sequence in a musically meaningfull way. Check out the included demo set for 2 examples of the primer. The primer clip should have the name "primer" to be recognized as such.

deeploops comes with a pre-trained deep neural network. The trained model is based on Google Magentas drums_rnn: https://github.com/tensorflow/magenta/tree/master/magenta/models/drums_rnn


INSTALL (PC)
============
after unzip, 2 lines are to be added to C:\ProgramData\Ableton\Live 10 Suite\Resources\Max
esources\packages\max-mxj\java-classes\max.java.config.txt, or wherever M4L is installed. First save a backup copy of the original file, and then open it with a text editor and add the following two lines:

max.dynamic.jar.dir [deeploops-root]/java/lib
max.jvm.option -Djava.library.path=[deeploops-root]/bin

where [deeploops-root] is the folder containing deeploops.amxd. Use slashes '/' instead of backslashes e.g. c:/mywork/deeploops. Restart Ableton.


INSTALL (Mac)
=============
1) Please verify that the Java Development Kit is installed and that you can work with the mxj max object. If not yet done, you have to install the max-mxj package first. See https://github.com/Cycling74/max-mxj/wiki/Install-Java
2) You have to find the max.java.config.txt file, which should be at /Applications/Ableton Live 10 Suite.app/Contents/App-Resources/Max/Max.app/Contents/Resources/C74/packages/max-mxj/java-classes/max.java.config.txt, or wherever M4L is installed. If no such file exists, load the deeploops device in Ableton first, for the location to be created, and then close Ableton again.
3) Save a backup copy of the original config file, and then open it with a text editor and add the following two lines:

max.dynamic.jar.dir [deeploops-root]/java/lib
max.jvm.option -Djava.library.path=[deeploops-root]/bin

where [deeploops-root] is the folder containing deeploops.amxd.
4) Restart Ableton.



LIMITATIONS
===========
- Generated clips are quantized, and notes have all same length.
- Only one trained genre: EDM. If you have many MIDI drum loops of any other genre, please get in touch, and we might train it for another style of music.


RELEASE NOTES
=============
v1.2: Added MacOS libraries, and generated notes are a bit longer now.
v1.1: fixed issue with detecting path to pickle file
v1.0: initial revision


KNOWN ISSUES
============
- After moving the folder of the device to a new location, restart of Ableton is necessary.
- The influence of the primer on the generated clip works best if the primer contains pitches deeploops "knows" from the training. Other notes are ignored. To find out what notes are trained, just look at generated clips.

CONTACT
=======
For now, use the device page on maxforlive.com

 

Device Details

Tags drum, utility
Live Version Used: 10.0.1
Max Version Used: 8
Date Added: Mar 23 2018 22:12:12
Date Last Updated: May 25 2018 07:26:41
Device Type: midi_device
Download URL (report link) http://aiton.de/deeploops-v1.2.zip
License (more info): AttributionNoDerivatives


Comments

A little demo how it sounds: https://twitter.com/holllyhook/status/954788301415821315

Seems the zip file is corrupt?

fixed that, thanks

It would be nice to have something like mutable instruments grids or some of the noise engineering stuff.
Apparently they analyzed patterns from songs in classic genre and tribal ones. Like african rythm and patterns done live by tribes.
Could the AI actually learn from some audio files you give them or does it have to be midi ?
It would be really dope

Never tried the original Grids, but I tested @mots M4L port. I think deeploops is quite different, it is more "creative", though arguably whether creativity in a machine can exist. It generates quite surprising ideas for drum patterns. The intention is that a musician can take them as inspiration for breaks.

Right now training needs MIDI files. I'm currently looking into AI methods to generate drum patterns from audio, but can't say yet that this will work reliable enough.

Hi - i get an error on the device that says it can't load the pickle file. Is this related to my java paths or something? Max settings seem correct, since I get different errors if I don't correctly fill out the directory paths specified in the readme.txt

I put the deeploops folder on another drive, other than root of C and everything seems to be ok now. Was having super weird issues after putting the folder into my User/.../Music too (log errors about finding some Maxglu commands)

there seems to be an issue in determining the path where the device is located... thanks for reporting that, i will look into it.
Great to hear that you got it to run nevertheless!

Fixed detection of data folder with v1.1

really interested in further development of this project btw. I would like to experiement with training itself to see what can be achieved so then i can generate albums and make lots of money.

I'm happy to help port to OS X and help provide hip hop midi files to train. Contact me (my user name [at] gmail)

Thanks eclipxe, the device should now also run on Mac.

Live 10 (Win 10), it doesn't work here, gives error:

java.lang.NoClassDefFoundError: Could not initialize class org.tensorflow.TensorFlow
at Maxglu.version(Maxglu.java:126)
at Maxglu.bang(Maxglu.java:62)


Do you use the 32bit version of ableton?

No, it is Live 10.0.2b8 (beta), no 32-bit anymore. Win 10 is 64-bit too.

The error means it either it cannot load the tensorflow DLL, or the tensorflow jar file. Could you please double check the installation instructions, as described above? Like typos in the config file or so

Maybe you have multiple max.java.config.txt files on your system and Ableton uses a different one?

Nice work Aiton!

Working and impressive. (Mac OS).

For anyone on Mac struggling with install - you need Java Development Kit not just Java.

https://github.com/Cycling74/max-mxj/wiki/Install-Java



Aiton, What does "No Primer Clip Found, Start with Kick" mean?





Ignore question above^ :) Loaded the demo file and see how it works now. Good stuff.

@dystopiandisco
thanks for the hint about the JDK, I updated the installation description accordingly.

I'm getting the same error message as someone mentioned previously

java.lang.NoClassDefFoundError: Could not initialize class org.tensorflow.TensorFlow
at Maxglu.version(Maxglu.java:126)
at Maxglu.bang(Maxglu.java:62)

I am on a Mac however, what can I do here?

Can you please verify that the 2 options in max.java.config.txt are setup correctly? See section INSTALL (Mac) in the description above.

Login to comment on this device.

[ browse device library ]