Small menu improvement - It always annoyed me that the voice menu "forgot" where you were when you switched away from it. It shouldn't now. It's possible there are some small inconsistencies in menu switching I missed, as that change meant moving a LOT of code around, but let me know and I'll fix them.
I also slightly changed how to commit a transpose to a pattern. Once you have all the voices transposed the way you like, hold the "record" button for a couple seconds (transpose needs to be 'on' of course!). It will flash, when you release the button, the whole pattern will be written at once (sub-pattern, whatever, just the currently selected one of 8, not the whole pattern set). The trasnspose amount for each voice will also be reset to 0 when you do this, to keep from double-transposing if the sequencer is playing.
Definitely possible. I had to move a few things around within step processing for the individual pattern switch/looper stuff. Should be able to fix that pretty easy when I get back to my laptop tonight. Thanks!
Great work! Simultaneous rolls are fixed now. Amazing!
The video is great too, really clear, I'm looking forward to watch the other ones.
On the topic of rolls:
I totally understand your point of view and I think that your new way of handling the rolls is bringing more human touch to the LXR.
nevertheless, I think it is mainly a matter of use and point of view. I know i'm weird with my workflow, but I actually mainly use the roll buttons not to do proper rolls (that indeed should go across bars and measures, I'm originally a drummer so I totally get that) but as a live writing tool. When i play with my improvisation formation during 2 hours, I actually find more fun, rewarding and immediate to write pattern on the fly with the roll function rather than step by step. I sometimes come back to the sequencer menu and edit the details, but most of my sequences are written with the "record" and "roll" option.
In this case, when I write small patterns of one step with roll function (like this for an example X---XX----X--X-X), the audition part will never be perfect. After the first run of recording, it then will be perfectly quantized, but the live recording of it will be a bit "off".
To be honest, I could live with it and simply train myself to hit the button at the exact right time so it sounds the same as when quantized, but I'd rather spend more time and focus on the fun I have creating on the fly and playing with my Shruthi, the synthesis part and my effect pedals than focusing on having perfects auditioned sequences.
I don't know if I am clear enough here and I guess it really depends on how you use the LXR, but on my side, I'd love to have the option to switch between "quantized first notes on the rolls" (like the older firmware) and your "human touch first notes rolls". I'm not familiar enough with the code to know if this would be possible, or easy to implement though.
I don't know if I am clear enough here and I guess it really depends on how you use the LXR, but on my side, I'd love to have the option to switch between "quantized first notes on the rolls" (like the older firmware) and your "human touch first notes rolls". I'm not familiar enough with the code to know if this would be possible, or easy to implement though.
OK, it's not really a choice between having a quantized or not quantized first roll trigger, it comes down to a first roll trigger that is either unquantized or completely missing half the time.
But you asked for it - and until we run out of space for global options, why the hell not There is now a global option "SFR" or "SequencerSkp1Roll" that when enabled, will skip that first trigger if the roll is started late. This isn't strictly old-style triggering, it still technically starts the roll on the closest quantize step and only suppresses the trigger (and the recording thereof), with the slightly odd result that the first actual sound of a roll may not occur on a quantize division, if the two don't line up. Anyway, I suspect that won't be an issue, it does away with the 'flam' onset, and if you like that better, you can save the option and never worry about it again!
Yes exactly that's it! I had some trouble picturing exactly the solution here, skipping the first trigger is exactly what I had in mind.
Thank you very much! And thank you for you work, especially for reading through all the reports and odd requests from the community.
I'm really excited to get wild with your firmware on Saturday night's gig!
I'll do an intensive testing of it especially with the new note and velocity function of the roll as I using one track of the LXR to sequence a Shruthi!
as always: thanks a lot for sharing your great work!
with your help, the LXR feels more and more like a strong drumcomputer!
a question:
I also like chaining some patterns and playing via drumroll live the instruments for recording.
1. It's such a pain to set up the chaining. I would love an action where you would just hold some pattern buttons down in order to get them chained. E.g. press and hold pattern 1 buttun, then press pattern 8 button. then release. Now you had an 8 bar pattern. Would this be possible?
2. don't know, if it's user error or a bug: when I chain the 8 bars and start recording, only the "active" or selected pattern gets recorded, although seeing the sequencer stepping through the 8 bars.
But actually, it should record like I play 8 bars and then repeat
another future question:
I was thinking about a compromise for the ability of longer patterns than possible until now:
If every one of the 8 pattern was an 8 bar pattern, using the subseps for bar advancing - we'd lose our beloved substeps.
what, if we could still record these via ROLL but not see them anymore? this means, if you messed up your roll recording, you have to restart the sequence for that instrument as you couldn't change the substeps anymore!
I wouldn't have a problem at all with that compromise, as I never used the substeps for editing but I regularly record rolls into my patterns.
a cool function would be then: every one of the main 8 patterns of a set/performance would start as one bar pattern as long as you wouldn't change it.
If you pressed substep 1 then, then hold it, and press substep 2, you would get your 2 bar loop - but, of course bar 1 would automatically be copied into bar 2 which is substep 2. if you press then substep 1 and hold, then press substep 4 - you would have your 4 bars, and the first two bars are automatically copied into bar three and 4!
this way, the flame echometer works and I don't know a faster and more fluid workflow for evolving beats
...something like this :-) one would have to go into detail here, of course
like this, we would have 64 bars:-)
..don't know anymore if you already talked about something like this with the substeps..?
1 - Yeah, chaining patterns could be better. I've yet to think of a way to make it easier and at the same time not break everyone's existing pattern chains. I might do something with this in a few months, and fix that longstanding bug (in the stock firmware) that messes with the chaining when loading a pattern while the sequencer is running.
2 - Sounds like a bug! Do you have pattern follow on or off? I would expect turning follow ON would correct this, but yeah - as a rule the sequencer should always live-record into the pattern that is playing.
other stuff - You can do this now, see track scaling. If you set scale to x8 for all tracks you get an 8-bar pattern. Each main step is then half a bar. There isn't a utility to 'copy' a 1-bar pattern out to longer lengths, but you can copy entire main steps. So- what you can do is start a track with scale x8 and length 2 (so it repeats as 1 bar), write your 1-bar pattern, then copy-paste the main steps, and finally change the track length back to 16. Copy-pasting main steps and sub-steps works exactly like you think it does, just keep in mind that the main steps don't get made 'active' (light up) when you paste them. Yet. I will fix that at some point.
rolls will be recorded normally, provided the scale supports that resolution. At default scale, the sequencer has a resolution of 1/128th notes. Each increase in scale halves that, so for 1/64th notes, you can use x2 scale (2 bars).
Hey there ! Happy brendanclarcke FW user here, just a question about a possible bug : it seems that the output assignment for each voices are lost when a performance is recalled (haven't test it with only kit recall I realize, since I always use the performance recall). Actually the correct ouptut assignment is written (for example L1 etc..) but every voice in actually fed in the stereo1 it seems, you have to re-select the desired output to get it to go were it should. Or am I missing something ?
I just updated to your firmware and love it so far. Thanks for all the work and especially the new vid. Can't wait for the detailed ones....
So I maybe discovered a bug: in my global settings my LXR does not recieve Program Changes. When I change the sound from Drum 1, 2 and 3 to my desire and my sequencer sends a PC on the first 1 of the pattern all changes jump back to Kit Slack. This is pretty odd I guess and I'm not sure if this is a bug or a problem at my end. (I therefore experimented a bit with PC in general and I am highly confused, but that's just a a sidenote...)
I did a quick check if sequencing other Instruments with the LXR was a topic so far and only stumbled upon this:
I've honestly never understood this behavior - maybe to accommodate more envelope options in the future? I've tentatively 'fixed' this in my custom FW. Now, voices will not switch off if they receive a 'note off' midi signal, but note offs will still be recorded as velocity 0 steps when record is on to accomodate sequencing other instruments with the LXR.
so my request would be: is it possible to add a feature to the step mode to set the length of the midi note?
I mean it's basically not a big deal inserting a velocity 0 step, so if there's no interest from anyone, it's fine for me. It just came to my mind...
Another thing that came to my mind just writing this post: would it be possible to implement sending chord notes via midi?
I don't now how much work this is and how complicated that is, but it would make the LXR way more powerful for sequencing other gear imho. Because I really like using my LXR as a step sequencer for other instruments and then record these notes to my sequencer (qy300) so I can use the track from the LXR for drums again. Especially with mutlitimbral synths it is really great with the polyrhythmic abilities of the LXR. (and now in my mind I'm like: oh and put an arp on that thing hahaha)
I am not shure about performances, but I use the type 'all' for saving my tracks together with output assignments.
seems to do the trick indeed thanks !
Well actually not. Turned on my LXR this morning, recalled an "all" memory, and found again one voice that was set to "R1" actually going out on both L1 and R1 :-( Am I the only one experiencing this ?
I also noticed this bug just before a liveset. The output assignment is correctly written but not correctly assigned, everything goes to stereo. The only way is to go over all voices and re-assign the outputs.
I also have noticed the same bug but with note assignment on output. If my roll is set on, let's say, C#1 but I have my snare voice set to only output C#4, on powering on, the output assignment will show C#4, but the written notes (with rolls or with the sequencer) are C#1 (and therefore the sequenced synth will play C#1).
When I go over the note assignment again and move it a bit to come back to C#4, it works well again, until i power the synth off.
... every voice in actually fed in the stereo1 it seems, you have to re-select the desired output to get it to go were it should.
It's going to be a couple weeks till I can get in there and do some bugfixes, but I will make sure this gets corrected.
... my LXR does not recieve Program Changes. When I change the sound from Drum 1, 2 and 3 to my desire ...
What message value are you sending? Program changes are for changing the pattern, bank changes are for load instrument parameters. A quick summary:
Program Change - global channel, value 0-7: change to specified pattern
Program Change - global channel, value 8-15: change to specified pattern, reset kit to last loaded (kit/perf/all)
Bank Change (CC0) - global channel: load either kit OR performance file (value#) based on the global menu selection (bank2perf option).
Bank Change (CC0) - instrument channel: load instrument from (value#) kit.
my request would be: is it possible to add a feature to the step mode to set the length of the midi note? ... Another thing that came to my mind just writing this post: would it be possible to implement sending chord notes via midi?
Length - yes, I would like to add this in the future, the current method is basically a hack to let the LXR send note-offs at all. I would be the first to admit that it is very inelegant. I'm not going to implement chords or an arp - It's not really appropriate for a drum machine ...
That said, you can kinda do chords now, as long as they are stummed in 128th notes Just, recording them in from a keyboard is pain.
Since I'm here, another thing that is bothering me (did some search but couldn't find anything about it) : messy pattern chaining. Let's say I have 3 different patterns. If I switch between them live by pushing the corresponding button, that's fine. But if I chain them, using the nxt pattern function, it doesn't make sense. Notes are played in a pattern whereas they are not on this pattern (but in another one), or notes that are in a pattern are not played (being not played in another one). As if the sequencer is sort of confusing the contents of the patterns. Once again, if I desactivate the "nxt" function and chain them manually, they're fine.
2 - I think, I tried both ways and got the same results. will try again! perhaps, anyone else could confirm?
I can confitm, that something is strange here. I had some patterns with different notes and everything is fine when I select them manually. But when I try to chain them only the first pattern is played. Although the sequencer steps between the patterns.
Another issue I discovered is that transposed notes are no longer recorded to a pattern while record is on. I hope this helps!
What message value are you sending? Program changes are for changing the pattern, bank changes are for load instrument parameters. A quick summary:
Program Change - global channel, value 0-7: change to specified pattern Program Change - global channel, value 8-15: change to specified pattern, reset kit to last loaded (kit/perf/all)
Bank Change (CC32) - global channel: load either kit OR performance file (value#) based on the global menu selection (bank2perf option). Bank Change (CC32) - instrument channel: load instrument from (value#) kit.
This gives me headaches. I'm still quite new to midi, making music and everything, so I guess I am the problem.
From my Sequencer the qy700 I can select to either send ProgChanges and select a value (000-000-000) or I can choose CC where I can select the Ctrl.Number and the data or Vale.
I did had have my different patterns, kits. etc everything saved as ALL. So I saved two different ALLs under two different Perf Numbers 4 and 6 to try if I can switch/load between them via CC. So I'd send CC32 with #4 or #6. Did not work at all. I made sure to check each time the global Midi settings (Bnk2Perf ON).
[And as I used the assignable pitchwheel on the qy the lxr just crushed....]
Or do I totally getting it wrong and it is not possible to LOAD a certain performance via CC?
As I first encounter the problem with the selection of different kits for Drum 1,2,3 etc I did send CC 000 with a value of 127 and a PC at the same time, trying to force my Blofeld to select a specified Multi-Setting. I recreated that now and the problem is gone. Either with receiving just R and with receiving PCR it works fine. I have no idea what was going on the last time.
I will reboot to windows and try to send CC via Ableton and see what happens.
Comments
Small menu improvement - It always annoyed me that the voice menu "forgot" where you were when you switched away from it. It shouldn't now. It's possible there are some small inconsistencies in menu switching I missed, as that change meant moving a LOT of code around, but let me know and I'll fix them.
I also slightly changed how to commit a transpose to a pattern. Once you have all the voices transposed the way you like, hold the "record" button for a couple seconds (transpose needs to be 'on' of course!). It will flash, when you release the button, the whole pattern will be written at once (sub-pattern, whatever, just the currently selected one of 8, not the whole pattern set). The trasnspose amount for each voice will also be reset to 0 when you do this, to keep from double-transposing if the sequencer is playing.
Enjoy!
http://brendanclarke.com/2016/02/15/lxr-custom-firmware-tutorials/
But you asked for it - and until we run out of space for global options, why the hell not
2 - Sounds like a bug! Do you have pattern follow on or off? I would expect turning follow ON would correct this, but yeah - as a rule the sequencer should always live-record into the pattern that is playing.
other stuff -
You can do this now, see track scaling. If you set scale to x8 for all tracks you get an 8-bar pattern. Each main step is then half a bar. There isn't a utility to 'copy' a 1-bar pattern out to longer lengths, but you can copy entire main steps. So- what you can do is start a track with scale x8 and length 2 (so it repeats as 1 bar), write your 1-bar pattern, then copy-paste the main steps, and finally change the track length back to 16. Copy-pasting main steps and sub-steps works exactly like you think it does, just keep in mind that the main steps don't get made 'active' (light up) when you paste them. Yet. I will fix that at some point.
thank you for your work !
So I maybe discovered a bug: in my global settings my LXR does not recieve Program Changes. When I change the sound from Drum 1, 2 and 3 to my desire and my sequencer sends a PC on the first 1 of the pattern all changes jump back to Kit Slack. This is pretty odd I guess and I'm not sure if this is a bug or a problem at my end.
(I therefore experimented a bit with PC in general and I am highly confused, but that's just a a sidenote...)
I mean it's basically not a big deal inserting a velocity 0 step, so if there's no interest from anyone, it's fine for me. It just came to my mind...
Program Change - global channel, value 0-7: change to specified pattern
Program Change - global channel, value 8-15: change to specified pattern, reset kit to last loaded (kit/perf/all)
Bank Change (CC0) - global channel: load either kit OR performance file (value#) based on the global menu selection (bank2perf option).
Bank Change (CC0) - instrument channel: load instrument from (value#) kit. Length - yes, I would like to add this in the future, the current method is basically a hack to let the LXR send note-offs at all. I would be the first to admit that it is very inelegant. I'm not going to implement chords or an arp - It's not really appropriate for a drum machine ...
That said, you can kinda do chords now, as long as they are stummed in 128th notes
Since I'm here, another thing that is bothering me (did some search but couldn't find anything about it) : messy pattern chaining. Let's say I have 3 different patterns. If I switch between them live by pushing the corresponding button, that's fine. But if I chain them, using the nxt pattern function, it doesn't make sense. Notes are played in a pattern whereas they are not on this pattern (but in another one), or notes that are in a pattern are not played (being not played in another one). As if the sequencer is sort of confusing the contents of the patterns. Once again, if I desactivate the "nxt" function and chain them manually, they're fine.
I can confitm, that something is strange here. I had some patterns with different notes and everything is fine when I select them manually. But when I try to chain them only the first pattern is played. Although the sequencer steps between the patterns.
Another issue I discovered is that transposed notes are no longer recorded to a pattern while record is on.
I hope this helps!