a better search for max devices
Arp Control screenshot

Arp Control

by SimonR

*** Disclaimer notice *** This device has been constr...

View on maxforlive.com

Type
MIDI Effect
Author
SimonR
Version
1.3.1
License
None
Live version
10.1.2
Max version
8.5.0
Downloads
8,076
Updated
2024-05-10

Description

*** Disclaimer notice ***

This device has been constructed upon the M4L Arp device designed by Maxforcats and available with the free Max for Live Essentials pack on Ableton’s website. My aim was to correct some malfunctions as well as to add a few new features for personal use, after which I ended up feeling like more people could benefit from it. I do not claim to have created most of what constitutes this device and will detail in the following lines what I have added and changed to the original Arp device.

To download the original Arp, follow this link: https://www.ableton.com/en/packs/max-live-essentials/#?

Maxforcats : http://maxforcats.com/

---------------

Hi all, here is my first introduction to the Max programming world. I’ve been wanting to use an arp for improvising in a live context and found the arp in the Max for Live Essentials pack more useful than the native Live one, but still found a few limitations which left me a bit frustrated. And so I decided to dive right into the programming world and it’s been a fun ride since (although a very sleepless one). So here’s what I came up with :

Improvements / Fixes :

* On Hold mode, note patterns are now created as soon as the keys are pressed, rather than when they are released (the original arp would only trigger the first note and then play all of them when you would release them). Moreover, note sequences are not retriggered until all the keys have been released and a new key or chord is pressed, making it possible to change the set of notes without retriggering the sequence, just like when the Hold button is off.

* When toggling between Sync and Free mode, the step sequencer now comes back in phase with Live’s transport on Sync mode (the steps would randomly fall out of phase when going to Free mode and coming back to Sync mode, so you had to start Live’s transport again to resync).

* Removed unwanted text from the presentation when device is off

* Fixed an error in Chord mode where one of note from the chord would get triggered twice.

* Created 7 parameter banks for controllers, with control over pretty much every important parameter including the first 8 steps, the first 8 velocity values as well as note lengths. I omitted the Map mode parameters as I don’t plan on using it.

Additions:

* Velocity and Note Length Activator buttons:

- Added toggle buttons like the Advanced mode button which toggles the velocity and note length being controlled by the steps. When off, note velocities are determined by the velocity of the last played note. As for Note lengths, when button is off, all notes are played legato.

* Velocity Sensitivity:

- When Velocity Activator is On, notes are played at the various velocities determined by each step. However, the Velocity Sensitivity slider scales the steps’ velocity towards the velocity of the last played note, according to the chosen value (at 0, all notes are played exactly as determined by each step).

* Velocity Random:

- Introduces randomness for each step’s velocity value, for a maximum range of +-64.

* Note Length Random:

- Introduces randomness for each note’s length value, for a maximum range of +-64.

* Min/Max Velocity and Note Length:

- The Minimum and maximum range set by the slider above the random trigger now also sets the output range for velocity and note length values. All values are scaled according to those 2 values (Velocity Sensitivity and Random processes come BEFORE the min/max scaling).

* Beat Retrigger:

- Inspired by the Retrigger section of the native Live arp, the Beat Retrigger section has multiple options that let you have more control over both your note patterns and step patterns.

* Note Count:

- Retrigger note sequence, step sequence or both after a specified amount of notes.

* *2 button:

- Multiplies the Note Count by 2

* Stop button:

- Instead of retriggering, stop the notes or steps after the specified amount of notes, until the next bar retrigger or until the next keys are pressed.

* Bar Count:

- Retrigger notes, steps or both after a specified amount of bars.

* Bar Quantization:

- Synchronize the retrigger with the 1st beat of Live’s transport after the specified amount of bars (if Off, the moment you press the keys is considered the 1st beat).

* Dry/Wet:

- Scales between the “dry” MIDI notes and the arpeggiated notes. At 50%, both are played at their full velocity value. However, when the percentage is < = than the specified Gate value, the dial turns pink and the arp input gate closes, letting the held notes arpeggiate indefinitely as you play on top of it.

* Gate:

- Sets the Dry/Wet percentage at which the arp input gate opens.

* Sustain Button:

- Determines whether or not the Sustain Pedal toggles the Hold button on and off.

Hope you enjoy!

------

UPDATE 1.1

- Added a Random parameter for random rhythmic variations. Inspired by the "Humanizer" M4L device, it adds random delay to all notes, ranging from a subtle and more humanized feel to a total randomized chaotic mess.

- Velocity Random is now effective on individual chord notes.

- Sustain Pedal button now behaves as toggle between Hold on and off, rather than momentary. It also filters CC64 messages.

- Added knobs for being able to map to Min and Max Velocity as well as Note Lengths outputs. All of them are linked with their respective slider (which didn't allow for mapping).

- Changed the interface for a more compact layout.

------

UPDATE 1.2

- Fixed the Sync issue

- Added Follow button for linking the Note Count knob with the number of keys pressed. Useful for arpeggiating chords when combined with "Stop", or for linking the number of steps with the number of arpeggiated notes.

- Octave button for multiplying the note count by the number of octaves selected. Replaces the *2 button.

------

UPDATE 1.3

- Fixed a bug when original Arp was loaded in same Live Set which reversed the Division values.

- Added a Learn function which enables to enter individual notes or chords in each step. More of a personal use, where I wanted to be able to create chord tremolos on the fly. Unfortunately, the notes entered with this function can't be modulated by the usual arp functions, they're just played as-is.

- Reorganized and simplified the Parameter Banks

------

UPDATE 1.3.1

- Fixed the off-sync rendering issue

Comments (36)

  • Crampe · February 20 2019
    Wow, awesome job!
    You should definitely send it to Christian Kleine (maxforcats).
  • iloyd · February 20 2019
    Great job!
    So many arp/seq devices (even those from Ableton) are buggy.. Thanks for fixing this one and making it better!
  • iloyd · February 20 2019
    Spending more time with it, many great ideas in it! But have a small issue with Swing (at 1/16). At value 25% tt sounds great realtime but sounds broken when rendered or frozen. Maybe an issue on the Max side.
  • SimonR · February 21 2019
    Thanks you two! I did send it to Christian Kleine. :)
    @iloyd : thanks, will check this out, although I doubt that's something I could correct inside the patch...
  • braduro · February 23 2019
    I'm embarrassed to admit this, but after all these years I still can't figure out how to get a m4l device to associate to its bundled presets when installing into the finder. Whenever I put a folder into my user library with the device and the presets alike, I get "Could not access the Max device file ["Arp Control.amxd"]"
    Could you help me solve this mystery once and for all?
  • SimonR · February 25 2019
    @braduro : Can't you manage the device file so that you reference the preset to the device? Or do you have to that everytime?
    Does this happen to everyone? I've never downloaded any M4L device with presets so I can't see for myself.
  • SimonR · March 16 2019
    @iloyd : sorry for the slow response. My guess is that your Record Quantization is set to 1/16. When I set it to None, Rendering sounds perfect and frozen as well. Let me know if that worked ok for you!
  • eletron · September 18 2019
    Thanks for the Device. But your new Version is out of Sync on Ableton 10.1
  • eletron · September 18 2019
    Version 1.0 works is there a way to download this old version again?
  • SimonR · September 25 2019
    Yes, sorry about that. It had to do with the Random Delay implemented. I'll work on a better solution for it to trigger randomness before and after the beat, rather than acting simply as a delay.
  • eletron · September 25 2019
    Thank you for your work. 1.2 works again and in sync :)
  • hatyn · February 05 2020
    really good!
  • cjadams · April 01 2020
    I would love you to add on stuff like this into your arp: Arpology has been my go to arp for ages now.. nothing is as flex-able. But sadly it’s trapped inside kontakt!!!! grrrrrrrr!
    See this screenshot:
    https://adriaantaylor.com/live
  • cjadams · April 01 2020
    There isn’t a way to edit so.. here - The main product page - This should inspire you - i love what you started here but adding in the options here would be totally amazing!
    https://www.samplelogic.com/products/arpology/
  • Ginza · April 15 2020
    Such a great Arp!!! I really love how you extended the functionality and still kept it simple.
    Unfortunately I got a strange glitch recently.
    When i reopened a project after a couple of days your arp was replaced by the Arp from the Essentials Bundle. Funny thing is on the UI it was written 1/16 but it played 1/4 (and 1/4 where 1/16) It looks like your "Arp Control" kinda still was there.
    Will let you know if it happens again...
  • GarrettNorvell · July 01 2020
    This is amazing! Thanks for making a wonderful device 'wonderfuller' (o;
    I would love to be able to have 24 steps for jazz runs; Any chance you could either give me some help in Max to customize it myself, or include that in your next update? Thanks so much!!!
    cheers n' blessings,
    G
    ps, I did try editing various parameters for the slider and bpatchers on my own, but am a novice and hopelessly lost.
  • GarrettNorvell · July 01 2020
    Oooo, and a button to randomize which steps are activated? (o:
  • SimonR · July 12 2020
    @GarrettNorvell : pm me at [email protected] if you want help to customize it. My music has taken a different direction and probably won't be working on the arp for quite some time, but I can help you if you have specific questions. Keep learning to use Max, it's going to give you great freedom!
    Cheers!
  • Ginza · July 18 2020
    arp control would be my go to arp in every set.
    sadly it keeps changing the time division when reopening a project. 16th becoming 4th for example. It is still written 16th though, just playing 4th. Like, behind the UI, it would play the original arp device where the values are flipped compared to the arp control.
    Would be so great if there was a fix cause the arp has all I need. no more no less :)
  • SimonR · July 23 2020
    @Ginza : did you have an instance of the original Arp device loaded in the same set? I did some tests and this issue only happened when I loaded the original Arp. I changed the name of some objects which seemed to resolve the conflict on my end. Let me know if that worked out well for you.
  • NickHydeViolin · October 25 2020
    The sync seems to be off broken. It seems to go out of sync randomly, but I can easily replicate it by just repeatedly hitting the play button in live.
    I'm a max developer but I cannot easily look at the code and fix it myself, because there seems to be a lot of code to make it sync properly, even though it should be able to be accomplished easily via plugsync~ and some mod math
  • SimonR · November 04 2020
    @NickHydeViolin : I can't seem to replicate your bug. If you open an empty Live Set and load a default instance of Arp Control (no preset), is it still happening? Make sure the Random Variations is at 0 and you're in Sync mode.
  • no1dea · March 08 2021
    That's a great device, I only wish it had a step-based traspose options.
  • zaion · March 18 2021
    Ive just spent about 3 hours looking for an arp device, free or paid, that would make sense to use alongside the very powerful Live's stock arp. Ive tested about 5 devices and the only one that impressed me was this one. Great job!
  • Ginza · March 27 2021
    did want to answer on you debug since ages...
    time division bug is gone. I guess the renaming fixed the problem. by far the best arp I know. thnx so much!!!!!
  • maky357 · April 07 2021
    Wow this is improvement over the original in every way!!!
    Nice work!!!!!!!!!!
  • maky357 · April 07 2021
    I may doing something wrong but in Live 11 every time I set loop length to 16, save and reopen project, loop length goes to 1. I need to readjust loop length to 16 every time I reopen session. Settings and patterns are recalled correctly, it's just that loop length is set to 1. Any clue?
  • hovig808 · August 16 2021
    such a great tool bro i just need one or two more 'map' maping parrameters if thats possible would be amazing if u can show how to patch it for more mapping destination cs i tried and seem its only. mapping to one destination. thank u so much
  • audioengine · October 18 2021
    Hi SimonR! THanks so much for upgrading this device! It has been a very useful tool. I find it more useful in my applications to have the Sustain Pedal behave in Momentary mode instead of Toggle mode. Is there a way to change this? Thanks again!
  • Calagan · December 07 2021
    Is it tested on Live 11 ?
    Looks cool, I'll try and give some feedback but if someone knows about some bugs on Live 11 please let us know here...
  • WXCLTVVV · December 28 2023
    please help :) experienced ableton user here ....
    this is such a great device - but no matter what (when I freeze the track or bounce out the audio):
    - playback of sync or just behaving randomly even just on a single track with simpler
    - Same issue with the live essentials version
    What am I missing here?
  • SimonR · December 30 2023
    @WXCLTVVV:
    Unfortunately, there doesn't seem to be an easy fix for this. I have no idea why it would go off-sync only when freezing the track. I'm not really using the device any longer and don't have the time to look into it.
    If someone wanted to try to fix this, I would say the best way to go at it would be to find an arpeggiator that doesn't have that problem and compare the patching related to the synchronization with Live's transport.
  • WXCLTVVV · December 30 2023
    Thank you Simon! It's a problem forsure as it's also the native ableton essentials version too. Live 11.3 beta same issue. Confused how such basic functionality could be overlooked. It's deffo a sync issue - appreciate your efforts - hope this post serves the group interest :)
  • WXCLTVVV · December 30 2023
    thank you @SimonR for your time and awesome coding effort !
  • SimonR · May 10 2024
    Off-sync rendering issue should be fixed now!
  • jimlette · May 10 2024
    Everything an arpeggiator should be. Well done!

← Back to search