Would it be possible to add velocity randomization?
You can do this now! Just use one of the LFO's with a random waveform and modulate volume or whatevs. Pitch might be a bit trickier - I think if you modulate pitch, it doesn't end up quantized, but you could, if you wanted, put in some automation-only (velocity 0) notes on other tracks with randomness and a square LFO set to a harmonic interval. That would give you some random lower-pitched notes. I would love to, if possible, add a second LFO destination, there's a huge number of things you can do with them.
Awesome! I just built my LXR a week and a half ago so I have a lot to explore and learn about the machine still. I was just telling myself I needed to get a more thorough understanding of the LFO options as they seem pretty extensive and powerful.
Yeah! I love the use of LFO in square wave mode to mute some step of a rhythm, this create nice pattern variations... and with 2 destinations could be very funny!
Yup, it's in the back of my mind. I'm on the fence about whether to do a second destination (and also, where in the menus that would go...), or just add a seventh full LFO (on HiHat open). What do you think would be more useful?
both would be nice, but we're bumping up against having 256 audio parameters (I think we're at 246 or so now, but it may be possible to shuffle some things around to free some up). More than 256 would require a significant code re-write, with all parameter references needing to become 2 bytes instead of 1. Not impossible by any means, but very likely to introduce a number of bugs and slow things down on the atmega side.
1. Is it possible to make Looper synced to steps somehow? Currently it behaves like it is too sensitive or conversely insensitive to button press (which is not surprising with default buttons) so it can start to repeat triggers off grid at first (then it seems to realign). Maybe it could be made optionally quantisation-dependant like rolls? I really love Looper and I want to do beat synced repeats in live situation but i avoid to do it since it can sound pretty chaotic and out of place sometimes. Sometimes it sounds interesting though like in this track on since 3:29 mark https://clyp.it/iqghdjo3 (it is also pretty representative example imo)
Also regarding Looper when you loop short fragment it can sound irregular. Instead of zzzzzzz you get zzzxzzxzz. Dunno, maybe that's because of realignment algorithm or so.
2. When you use sample as OSC sample is not affected by filter it seems.
Something slightly different: is it possible to have the oscillators not reset when triggered? When having overlapping envelopes on e.g. bass drums, we now get really annoying clicks. And I really like long booming bass drums ;-)
Aside of LFO destinations etc 1. Is it possible to make Looper synced to steps somehow? ...
I haven't noticed anything off about the looper. It does take into account whether quantize is on or off, as far as where the start point is placed, but the length should always be some multiple or division of 1/16. It can sound a little ... *unexpected* at times because it's looping *triggers* not audio, so if it starts on a trigger just after a drum sound you were expecting, that drum sound won't happen... I find it works best with longer loops, after muting the kick part, YMMV.
2. When you use sample as OSC sample is not affected by filter it seems.
That is very strange, I'll look at that. Not sure how that could have happened.
Something slightly different: is it possible to have the oscillators not reset when triggered? ...
Yes, others have mentioned this and I've looked into it. I can do it, but just "flipping that switch" so to speak, ends up making other things like the filter not work. So, it would take a fair bit of poking around to get it working properly. It would also need to be switchable and/or gated by the envelope, which is tricky, and may change how people's patches sound across the board, so it's not been a priority for me.
Hi brendan, I've noticed that the clock in & out have only 1ppm than 4ppm as resolution, for a correct synch with my doepfer module or my SQ1 i need 2ppq resolution, have you idea of implementing it in the next CF update?
Hi brendan, I've noticed that the clock in & out have only 1ppm than 4ppm as resolution, for a correct synch with my doepfer module or my SQ1 i need 2ppq resolution, have you idea of implementing it in the next CF update?
than.... an arpeggiator would be great!
You can use a clock multiplier like the Doepfer A-160-5.
Hi brendan, I've noticed that the clock in & out have only 1ppm than 4ppm as resolution, for a correct synch with my doepfer module or my SQ1 i need 2ppq resolution, have you idea of implementing it in the next CF update?
than.... an arpeggiator would be great!
You can use a clock multiplier like the Doepfer A-160-5.
mmmhhhh.... i think that add another ppq option between 1 and 4 is the simpler way
Hey Brendan, I've also noticed that the asynchronous bug happens more if the patterns have different pattern lengths or scaling, it's still random whether it occurs or not though. Cheers!
Ok, maybe I'll just have the sequencer re-align at every pattern change if that's tripping up the pattern switching. It might make scaling more straightforward to use. I had a lot of fun mangling the timing of patterns by briefly switching into patterns with different scales, but might be more confusion than it's worth, and IMO, rotating patterns is much better now and can do similar things, with a tighter focus.
Just finishing up a "fast file load" mode. It's not actually much faster, but the new load functions allow for reading things out of order, so it can grab the current pattern from a file and import it in about 1/4 of a second instead of having to wait the full 2 or so seconds to load all the patterns before switching. It drops a few notes while switching, which is acceptable to me, but I've put in a global toggle to keep the 'wait for pattern switch to use new patterns' if you prefer the standard method. You can also import individual drum/pattern combinations from performance or 'all' files, and this is really fast - about 30ms - which is a great option for transitioning between 2 files live.
Also something very subtle, but I think it helps a lot to smooth out transitions - when loading a new voice, the parameters are 'cached', and are not used until the voice retriggers. What this means is that sounds with long decays can sustain across file changes. Need to work out some edge cases, but it sounds beautiful so far.
Not live yet, but I'll post again this weekend when it is.
I don't know why the option isn't included. I don't have a trigger board, so it's not something I've ever thought of working on. Maybe some day.
ok, now I've solved synching via MIDI the LXR from the Analog Four that is abel to give the right ppm clock to the doepfer modules... but if you could fill this "bad" gap i think a lot of people will thank you!
haha well, I've got something that works up on github, but I haven't really tested it out much. If you're willing to be a guinea pig, the branch I'm working on is called custom-develop-patload2. my user account on there is the same.
Definitely back up your files. I checked that loading and saving some of my files produces the same hex data, but I make no guarantees for all cases.
There's a switch at the end of the global menu to turn it on.
also, this and any future firmwares will realign the tracks at every pattern change.
"also, this and any future firmwares will realign the tracks at every pattern change" Great stuff, thanks Brendan. One of your biggest features for me is instant pattern switching. Many years ago I used to dj Jungle, and this brings back that heavy crossfader style I used to employ! When do you think you'll have a 'stable' release of this? Thanks
seems reasonably good now, I'll probably move it over to my site tomorrow, I just put another couple commits in to re-enable some things. If you want to try the github one, it should not explode anything, just back your card up first.
Yeah, the "instant" switching is all I do these days. extra tip: when you're in the perf menu, you can hold a voice button and press a pattern button to switch just that voice
Provided there aren't any major bugs in the stuff I just did, I'll be wrapping things up for a while. I'd like to try one last thing - being able to reset envelope positions via automation, but that requires moving a few things around.
Looks like I got in just in time! Yeah per voice pattern switch is great for adding a bit of intensity, without actually going balls deep! It's really a testament to both yourself and Julian that we have such a deep drum machine, and it's so much sweeter that the whole thing is affordable. Thanks again
Perfomance switching via MIDI CC and PC from Octatrack stopped working completely for me after update to this FW version. Loaded manually perfomance loads up and plays fine. Global menu tweaking, reloading, rebooting etc, nothing helps.
If i start to switch perfomances via cc with manually preloaded perfomance everything can work as expected sometimes though. But i can get some ui freezes (push encoder and its current menu section works except buttons) too.
new firmware is up on my site, or as the 'custom-develop-patload-envmod' branch on github. Program Change/ Bank Change messages seem to be working correctly, now. Also, take note that you will get a startup message. Feel free to ignore it if you're just testing the firmware and intend to go back to a previous version.
Here's the long description:
Envelope position modulation - "Veloc EGPosition" is now available as an automation destination. If this is entered on a step, the envelope of the voice will be set to the specified position, without resetting the oscillator, LFO's etc. The value of the automation governs where the EG is reset to: 0: the AD and Decay (pitchmod) envelopes (if available) are retriggered 1: for drums/snare, this will trigger the decay envelope, but skip the AD to the decay phase - this is useful for removing the 'click' from voices that have their 'attack' value set to 0. 2-63: a relative position in the attack phase of the envelope 64-127: a relative position in the decay phase of the envelope
This can also be set as an LFO destination. To do this, the envelope position "target" must first be set with track automation. It is advised to use an automation value of 127 for this, or the envelope will always be open.
To make space for this, the "note" parameters of the voices has been moved out of 'Kit' files, and into 'Global' settings. MIDI note (and channel) are also stored in 'All' and 'Perf' file types.
*The first time you start up, if "note" parameters are not detected in Global Settings, the LXR will load note settings from the default kit (kit number 0) and you will get a message to re-save your global settings, which will then contain these values.
DO NOT OVERWRITE KIT 0 BEFORE SAVING SETTINGS - you won't really screw anything up, but you will have some random junk where your 'note' settings are supposed to be the next time you load
Also, when recording automation, if automation is to be recorded into an inactive step (except every 8th, ie the 'main' steps), the step is made 'automation only' (set to velocity 0). The steps still need to be made active, but this will hopefully speed up workflow if you want to use the automation as a 'motion recorder'
tldr - if the 'oscillator reset click' is pissing you off on your kickdrums, instead of a new trigger, set a step with velocity 0 and automate "Veloc EGPosition=1". no more click.
Comments
since 3:29 mark https://clyp.it/iqghdjo3 (it is also pretty representative example imo)
2. When you use sample as OSC sample is not affected by filter it seems.
I haven't noticed anything off about the looper. It does take into account whether quantize is on or off, as far as where the start point is placed, but the length should always be some multiple or division of 1/16. It can sound a little ... *unexpected* at times because it's looping *triggers* not audio, so if it starts on a trigger just after a drum sound you were expecting, that drum sound won't happen... I find it works best with longer loops, after muting the kick part, YMMV. That is very strange, I'll look at that. Not sure how that could have happened. Yes, others have mentioned this and I've looked into it. I can do it, but just "flipping that switch" so to speak, ends up making other things like the filter not work. So, it would take a fair bit of poking around to get it working properly. It would also need to be switchable and/or gated by the envelope, which is tricky, and may change how people's patches sound across the board, so it's not been a priority for me.
than.... an arpeggiator would be great!
Cheers!
Just finishing up a "fast file load" mode. It's not actually much faster, but the new load functions allow for reading things out of order, so it can grab the current pattern from a file and import it in about 1/4 of a second instead of having to wait the full 2 or so seconds to load all the patterns before switching. It drops a few notes while switching, which is acceptable to me, but I've put in a global toggle to keep the 'wait for pattern switch to use new patterns' if you prefer the standard method. You can also import individual drum/pattern combinations from performance or 'all' files, and this is really fast - about 30ms - which is a great option for transitioning between 2 files live.
Also something very subtle, but I think it helps a lot to smooth out transitions - when loading a new voice, the parameters are 'cached', and are not used until the voice retriggers. What this means is that sounds with long decays can sustain across file changes. Need to work out some edge cases, but it sounds beautiful so far.
Not live yet, but I'll post again this weekend when it is.
Definitely back up your files. I checked that loading and saving some of my files produces the same hex data, but I make no guarantees for all cases.
There's a switch at the end of the global menu to turn it on.
also, this and any future firmwares will realign the tracks at every pattern change.
Great stuff, thanks Brendan. One of your biggest features for me is instant pattern switching. Many years ago I used to dj Jungle, and this brings back that heavy crossfader style I used to employ!
When do you think you'll have a 'stable' release of this?
Thanks
Yeah, the "instant" switching is all I do these days. extra tip: when you're in the perf menu, you can hold a voice button and press a pattern button to switch just that voice
Provided there aren't any major bugs in the stuff I just did, I'll be wrapping things up for a while. I'd like to try one last thing - being able to reset envelope positions via automation, but that requires moving a few things around.
Yeah per voice pattern switch is great for adding a bit of intensity, without actually going balls deep!
It's really a testament to both yourself and Julian that we have such a deep drum machine, and it's so much sweeter that the whole thing is affordable.
Thanks again
Here's the long description:
Envelope position modulation - "Veloc EGPosition" is now available as an automation destination. If this is entered on a step, the envelope of the voice will be set to the specified position, without resetting the oscillator, LFO's etc. The value of the automation governs where the EG is reset to:
0: the AD and Decay (pitchmod) envelopes (if available) are retriggered
1: for drums/snare, this will trigger the decay envelope, but skip the AD to the decay phase - this is useful for removing the 'click' from voices that have their 'attack' value set to 0.
2-63: a relative position in the attack phase of the envelope
64-127: a relative position in the decay phase of the envelope
This can also be set as an LFO destination. To do this, the envelope position "target" must first be set with track automation. It is advised to use an automation value of 127 for this, or the envelope will always be open.
To make space for this, the "note" parameters of the voices has been moved out of 'Kit' files, and into 'Global' settings. MIDI note (and channel) are also stored in 'All' and 'Perf' file types.
*The first time you start up, if "note" parameters are not detected in Global Settings, the LXR will load note settings from the default kit (kit number 0) and you will get a message to re-save your global settings, which will then contain these values.
DO NOT OVERWRITE KIT 0 BEFORE SAVING SETTINGS
- you won't really screw anything up, but you will have some random junk where your 'note' settings are supposed to be the next time you load
Also, when recording automation, if automation is to be recorded into an inactive step (except every 8th, ie the 'main' steps), the step is made 'automation only' (set to velocity 0). The steps still need to be made active, but this will hopefully speed up workflow if you want to use the automation as a 'motion recorder'