MelaM
Mela
Aug 23

Option to trigger Arpeggiator on Note-on

At the moment Arpeggiator follows DAW's beat position as a trigger. Would be very useful to also have the note-on event as a trigger option.
CompletedCompleted

Feb 23, 2023

This feature has been implemented in Mela 3.9.

Jan 10, 2023

Samuel Lindeman I was looking at your old post on Mela Forums (https://mela.freeflarum.com/d/41-mela-⁠33-beta-added-scale-a…). You said: > Might also be worth to add 're-trig' arpeggio pattern on note on? (if one is using a slow arpeggio speed newly triggered nots won't play until it's time for the arpeggiator to trigger?!). I'm considering adding Retrig to arpeggiator. But thinking about it more it's not as clear what it is supposed to do as I initially thought. Also, checked various arpeggiators and they all behave slightly differently with regard to retrig. e.g. some just restart the pattern but otherwise, they still follow the DAW grid. My initial thought was I would also retrigger the timing, i.e. pattern start time would fall on note-on exactly (even if it didn't align with the DAW grid). Also, looking at your original suggestion it's not clear what you meant. You said slow arpeggio speeds wouldn't get to newly triggered notes. Unless you meant the chord pattern mode, it may still not get to newly triggered notes as they would have to come later in the pattern (e.g. in Up mode). Another issue to consider is, when would we want the arpeggiator to retrig, on every new note-on or on a note-on after all notes have been released. (p.s. planning to import more suggestions from the old Mela Forum here at some point) Alexey Podolsky also tagging you here, in case you have thoughts on this feature.

Jan 10, 2023

Nikolozi: I'll explain in more detail what I mean regarding 're-trig' for the arpeggiator. The primary function of arp re-trig is to start the 'arpeggio sequence' from the start on note-on. If the arpeggio speed is 'slow' and you play fast notes the playing can feel 'laggy' as the note will have to wait until the arpeggiator triggers it. This makes 'live' playing the arpeggio ok, but becomes a bit tricky when mixing non-arpeggiated notes and arpeggio in the playing. This will also become especially important if/when a 'arpeggio sequencer' is added. (Here the sequence would start from step 1 on first note-on). Think of the 'arpeggio sequencer' as a director that tells the arpeggiator what to do on each step. (In a similar manner the 'strum direction' works). Each step can be 'skipped'(ie. a 'rest'), 'ratcheted'(ie. the step is divided into sub-steps that are triggered), do a 'chord' (trigger all held notes on a step) or select one of the held keys, if the number is higher than any held key (ie. 4 when 3 notes are held) it defaults to 1. There are a few apps that have this type of arpeggiator with different implementations. StepPoly Arp, The Arps in both IceGear and Virsyn Apps to name a few. I know a straight copy is not ideal so I'd suggest giving the arps in the mentioned apps a spin and create some 'magic' by combining the features from all of them :) Again this is just a 'wish' from my side and not something that has to be implemented... Cheers! /Samuel

Jan 10, 2023

Samuel Lindeman: thanks for the quick response. I wanted to just focus on the retrig feature. I would like to do all the other things like full programmability: skipped, ratcheted steps etc. But that will have to come later. And of course, I'm always happy to look for inspiration from other apps and developers. And I wouldn't want to make a carbon copy. That wouldn't interest me at all. But happy to be influenced and inspired :) Anyway, back to the topic at hand. In the next version, I want to keep the scope small for arpeggiator changes. And one of the things was this Retrig feature (and the other Rate/Sync stuff). I think I didn't make it clear in my original post, but I want to distinguish 2 types of behaviour (maybe 3). Restarting sequence may happen in one of 2 main ways: Behaviour 1: Restarts the sequence but timing is still locked to the host's grid. For example, you have the Rate set to 1/4 and you're playing note C, the mode is "Up". Say you trigger note G when only 25% of 1/4 of C has passed. What happens in this scenario is that nothing changes until the rest 75% of the 1/4 time has passed. i.e. Note C is fully played out. After which the arp sequence restarts. And since it's in Up mode, it will play C for 1/4 and then G for 1/4. Looks like Ableton Live and Bitwig have this behaviour. Behaviour 2: Restarts the sequence but also restarts timing (completely ignoring the host's grid). The above example would play out like this. After 25% has passed and G is played into arp, existing C stops playing. And new C note is triggered again for 1/4 followed by G for 1/4. From my tests, VirSyn's Addictive Synth and iceGear's Lagrange behave this way. I have a feeling you prefer the second behaviour. Probably works better in a live situation? (Bonus) One more distinction between Addictive Synth and Lagrange is that their retriggers behave differently. Addictive Synth waits for all notes to be released. Otherwise, it doesn't retrigger if there are notes already playing and new notes are being added (behaviour 2a). Whereas iceGear retriggers on any new note even if other notes are already playing (behaviour 2b). So my question is, which is preferred: 1, 2a or 2b? (in theory, there can be 1a and 1b behaviours also).

Jan 10, 2023

Nikolozi: 2a as it would allow me to play the arpeggiator 'off beat' while still triggering at the set rate.(if the arpeggiator plays at 1/4) i could start it at 'off beat'. So if you have a beat 1 anna 2 anna 3 anna 4 anna. I could start the synced 1/4 arpeggio on the 'anna'. For this to work the arpeggio would run at 1/4 but 'sync' to 1/8 for the initial note-on. I'll give the new betas a spin and see if I can clarify further. Cheers!

Jan 10, 2023

Samuel Lindeman: awesome. Thanks for clarifying. Another bonus question. Would Arpeggio Rate in milliseconds be a useful option? Both Ableton and Bitwig do it. But I don’t often hear people talk about it or request it.

Jan 10, 2023

Nikolozi: In 'mono legato mode' only for me... I'm one of those 'chip tune' junkies and chip arpeggios on a 50Hz PAL machine change pitch once per frame (20ms interval), so in mono-legato mode it could work :) If you ever implement a modulation step sequencer (in addition to the LFOs) for the synth in Mela 3, think of the step timing. Cheers!

Feb 3, 2023

Samuel Lindeman: 2a behaviour has been implemented in 3.9, you can check out the build 45 and let me know if it works as expected. To turn it on Retrig parameter must be toggled on.

Feb 3, 2023

Nikolozi: For the most part it seems to work ok but... If you have a cycle/loop enabled on logic the note 'sustains' at the loop end of the cycle until it reaches the point where the note was triggered?! https://www.dropbox.com/s/55e5cwq58ozitc5/hang.mov?dl=0

Feb 6, 2023

Samuel Lindeman: That looks like a bug, I'll have a look. Thanks for the feedback.

Feb 14, 2023

Samuel Lindeman this should be fixed in build 46.

Feb 14, 2023

Ended up fixing a couple of relating issues in Note Length and Note Echo modules.

Feb 14, 2023

Nikolozi: Nice. Just installed build 48 and it's fixed. Well done!