Custom Firmware - new features

1356712

Comments

  • you updated the actual lxr , not just copied the stuff onto sd card and turned it on ?
  • edited September 2015
    "so i did the firmware update procedure..."

    As stated in my post, yes.

    I formatted the sd card, put it into the LXR with power off, then turned the LXR on with the knob to the right from the screen pressed until update was done, then i rebooted the device and proceeded with the loading the samples as instructed.
  • Hi Brendan,
    I have a problem using the CC for muting the voices on the global channel.
    It works for individual voices, but not for the global channel.
    I choosed channel 1 for the global channel and set all voices to channel 0.
    When I send "CC113 1/0" drum1 should mute/unmute, but nothing happens.
    When I send a CC120 1/0 all channels are muted/unmouted at once.
    I am pretty shure it worked before.
    Maybe it got lost during the last update.
    I am using your last version of your firmware.
  • I switched to the original firmware and realized that presets saves as "all" with your firmware connot be loaded by the original firmware. Bad luck!
  • Hi! Been travelling the past couple weeks, hopefully I can get back to making some more updates, sorry if I missed anyone's messages!

    "so i did the firmware update procedure..."
    As stated in my post, yes.

    I formatted the sd card, put it into the LXR with power off, then turned the LXR on with the knob to the right from the screen pressed until update was done, then i rebooted the device and proceeded with the loading the samples as instructed.
    ok! a few things - if you're using my 'card image' from the website - the one with all the kits and patterns and the sample folder - many of these are named with strange alphanumerics - i have the LXR change with bank change messages so I usually don't bother to put in a sensible name.



    The sample loading has always been pretty 'alpha' in the LXR firmware. I have found strange behaviour with loading samples in both the stock firmware and mine (ie samples 1,2,3 etc go to slots 0,2,4,etc with slots 1,3,etc. empty), but that code isn't something I've ever messed around with. Also, worth a mention - my firmware takes up more space than the stock firmware - this does cut into the sample space a bit, so try loading 1 or 2 short (ie 10's of kb) samples and see if those load ok. There isn't anthing to let you know when you're trying to load more samples than there is space for - it just won't do or will behave strangely.
    I switched to the original firmware and realized that presets saves as "all" with your firmware connot be loaded by the original firmware. Bad luck!
    This I'll have to look into - is it just 'all' data types or are 'perfs' broken also? There's a couple things that could be going on here.

    On the muting, I will test that out and get it up and running again! it's something that I use, too, now!
  • Hi Brendan,
    thanks for your reply!

    is it just 'all' data types or are 'perfs' broken also? There's a couple things that could be going on here.
    I tested only 'all' data types so far, because it is the data type, which I use in general. After going back to your firmware I could load the file again. But the original firmware doesn't show 'loading pattern' after selecting the file. Old 'all' data type created with the original firmware are working.

    On the muting, I will test that out and get it up and running again! it's something that I use, too, now!
    That's great. Thank you!
  • hi brendan

    i was wondering , how about adding a few weird circuit bending type parameters ?
    i know its easy to suggest these ideas and i have no idea how it might be done , but some type of sound mangling  / pattern mangling could be interesting.
  • I switched to the original firmware and realized that presets saves as "all" with your firmware connot be loaded by the original firmware. Bad luck!
    The master channel muting should be working again! Use the new firmware at brendanclarke.com/files/LXR/FIRMWARE.BIN, or on github https://github.com/brendanclarke/LXR/tree/custom-develop-testmacro
    hi brendan

    i was wondering , how about adding a few weird circuit bending type parameters ?
    i know its easy to suggest these ideas and i have no idea how it might be done , but some type of sound mangling  / pattern mangling could be interesting.
    I like to make additions to the FW that focus on improving general usage, rather than specific sound changes. You can certainly set up things like morph or the macro params, or pattern automation, to do some pretty radical things.

    I think there are some other custom FW's that work on making the LXR sound different, but I'm pretty happy in general with how it sounds.

    I've got a few additions I want to do on the to-do list, but at the moment I will be focusing more on usability and stability improvements rather than new features, as the custom FW is something I use and perform with.
  • sure , I'm figuring out wavs and lfos etc and im using quite basic at the moment.
    also easier to shove through plugins to mangle it.

    i plan to switch over to your firmware this week... :)
  • sounds good! There's lots of cheap mangly guitar pedals too that play nice with the LXR, if you want to go that route. Hope you enjoy the firmware! let me know what you think, and remember - the MIDI CC assignments are different, if you do a lot of parameter automation from your DAW.
  • So I recently switched to your firmware, I totally like the ability to change the resolution of individual parts. If I load some short chords, it's almost possible to make a track in between one Pattern. Yeah! Thanks again!
  • Thanks for the appreciation! :) Yeah, it's become pretty indispensible for me, too. I tend to make one or two multi-bar patterns for a track and then use the rest of the 8 patterns for things like fills and variation, and switch between them on the fly.
  • Please can you explain the use of multibar/change resolution function to make variations in a pattern? It's very interesting, thank you :)
  • I read note 10 on your readme firmware about pattern scaling...so you can multiply length of a pattern per voice..how you use this function to make a track from only one or two pattern? Playing whit polyrhythms?
  • Yes, you can certainly set up different lengths for polyrhythms, there isn't a right or wrong way to use any of these features, but what I usually do is set up some base patterns and copy them, and then create variations by changing a couple drum parts on some of the copies. Then I use the 'instant pattern switch' feature to switch from the base patterns to the copies manually for fills, etc. This is a decent video of me working with the custom FW:

  • Ok thank you, I'm going to test the pattern scaling function tonight :)

    For me is not still clear what you mean when you wrote "make one or two multi-bar patterns for a track".
    In your video, the sequence go on slowly..I think bpm is low, so you usually set a slow bpm, then use pattern multiply funcion to create a long (articulate) pattern? Then is possible to use pattern length setting to cut the pattern in live use? Sorry if I misunderstood something..


  • edited September 2015
    i had a play tonight 

    the main thing i got to grips with was the micro steps and setting parameters per step.
    i was surprised that you can do 2 x parameters on each step , and the modulation targets are per step too , including the micro steps. (or whatever theyre called)

    i keep forgetting where the pattern scaling is.
    i keep forgetting where different values for roll exist.
    i got samples to import (it kept freezing but i had more than 400k samples in the folder).it seemed to allocated the samples on alternate numbers...but i dont know if theyre mono (i just found em and dropped em in)

    i'm not sure if i'm using the performance macro correctly.
    i set up a few parameters and i don't hear any change when i increase / decrease the values like id expect (presumably its a bit like dialing through morph target but altering 2 x things modulated with 1 x value ?) i didnt try an external controller.

    some quick ideas
    display copy / paste if your doing it with a track ?
    could shift > a number be used for shortcuts in some way ? i couldnt see if they did anything using that combo.

    check if samples exceed 400k (or whatever the limit it) and display a warning.
    display some type of progress when importing samples.
    perhaps use seq 8 to pre define a roll pattern ?
    any way to define my default step modulation targets or perhaps is there a way of copying it .. or maybe theres another way of doing thing i havent figured out yet ?

    but overall its starting to click in my head.i'm using this more than my rtym , i think it largely down to getting feedback from the forum/you guys working on the firmware ..

    more playing tomorrow :)


  • edited October 2015
    Glad you're finding it useful :) Another handy thing I added to the sequencer automation that you might find fun is setting step velocity to 0 for "no retrigger" automation - you can have a single sound change as it plays without re-triggering the envelopes. Think of it as a 'trigless lock'
    i keep forgetting where the pattern scaling is.
    Yeah me too. It's a pain to add more pages on 'mix' as things stand now. Ideally, there would be a place to display pattern track params (scale, length, midi channel) that makes it obvious that they are different from kit params... in 'step' mode, maybe? But that's set up to show step data. It's tricky.
    i keep forgetting where different values for roll exist.
    You mean because there are multiple 'perf' pages? I have to come back to the roll code some time to clean things up a bit, let me know if you get used to the arrangement of controls.
    i got samples to import (it kept freezing but i had more than 400k samples in the folder).
    I've had a number of sample problems in both the original FW and mine. The sample code is pretty 'alpha' from what I've read of Julian's descriptions and isn't something I really want to screw around with much. Some sample sets that do load in the original firmware may be too large to load in my FW because the program size is a bit larger, so there is slightly less left for samples.
    i'm not sure if i'm using the performance macro correctly.
    i set up a few parameters and i don't hear any change when i increase / decrease the values like id expect (presumably its a bit like dialing through morph target but altering 2 x things modulated with 1 x value ?)
    Yeah, the macros are a bit tricky because of the way the LXR handles modulation. Remember, if you want to vary a value from 0-64 with an LFO, set the parameter to 64 and the LFO depth to 127. The LFO can only ever reduce a parameter. The macros work the same way.

    Say you want to have a macro control the entire sweep of filter frequency. Set the filter's param to 127, then assign the macro destination to the filter, and set the depth to +63. Now, when the macro's front value is 0, the filter will be at the lowest possible frequency. When the front value is 127, the filter will be at the highest frequency.

    I made the 'depth' bipolar so you can, for example, crossfade 2 parts. So, if you set the 'depth' of the filter assignment above to be -63, the lowest filter frequency will be at a front macro value of 127 and the highest at 0. Confused yet? :)
    i didnt try an external controller.

    some quick ideas
    display copy / paste if your doing it with a track ?
    could shift > a number be used for shortcuts in some way ? i couldnt see if they did anything using that combo.

    check if samples exceed 400k (or whatever the limit it) and display a warning.
    display some type of progress when importing samples.
    perhaps use seq 8 to pre define a roll pattern ?
    any way to define my default step modulation targets or perhaps is there a way of copying it .. or maybe theres another way of doing thing i havent figured out yet ?

    but overall its starting to click in my head.i'm using this more than my rtym , i think it largely down to getting feedback from the forum/you guys working on the firmware ..

    more playing tomorrow :)


    - I agree copy/paste should display more feeback, If i get time to implement it :)
    - Not sure what you mean by the number buttons - some modes don't use shift+seq(1-16) and some don't use shift+select(1-8) but eg step mode does use both. I'm surely open to other functions if they are useful :)
    - 'patterned' rolls gets a little complicated for my tastes, but I am kicking around the idea of per-track roll frequency (by default - to be overridden by the 'perf' control)
    - some step automation shortcuts that might be useful:
      -- hold a seq step until it flashes, turn a knob, the automation is assigned to the step (to the slot that is set under the shift-record menu). I don't think this works with multiple steps, but it'd be nice if it did. It's kind of a headache to implement though.
      -- main steps, sub steps can be copied (there isn't a way to selectively copy only the automation, I've been thinking about whether this would be worthwhile)
      -- of course, you can always turn record on and furiously tweak the parameter you want to assign the destination of all steps in that track

    hope that helps!
  • edited October 2015
    Ok thank you, I'm going to test the pattern scaling function tonight :)

    For me is not still clear what you mean when you wrote "make one or two multi-bar patterns for a track".
    In your video, the sequence go on slowly..I think bpm is low, so you usually set a slow bpm, then use pattern multiply funcion to create a long (articulate) pattern? Then is possible to use pattern length setting to cut the pattern in live use? Sorry if I misunderstood something..


    The bpm is 120 something, I haven't used the old electribe trick of halving the tempo to give a larger pattern length or anything like that. The advantage of the per-track scaling is you can have some parts be slow with a long repeat time, and other parts fast with high resolution or polyrhythm. A 'bar' being (in 4/4 time) equal to 4 quarter notes, if you set the 'scale' of a track to be, say, "x8", you get each sub-step with a length of a 16th note, and the track will repeat after 8 bars.

    I am super boring and usually program in 16ths, so losing the 128th note sub-step resolution isn't a big deal for me, but it's only an option :) I try not to add anything that removes functionality.
  • edited October 2015
    pattern scaling with sub step trigger , shuffle and probability can add a lot , getting away from obvious loops.
    but i do tend to keep it simple too.


    thanks for the response too , ive been doing games dev for 30 years, there comes a point that you have to stop and bug fix for a while.
  • Thank you! Now I need to make experience in playing this fantastic drumsynth + modded firmware!
  • Hi Brendan,

    When i play the different voices in perfmode its simply not on point
    to the BPM and really not quantized to the grid when you hear the
    voices while playing. Seems like there is a problem with the
    quantization while playing the voices. dont know why but maybe the
    processor is at the limit of capabilitys or sth ?
    It looks like you made some Fix about this issue like 3 Months ago on Github ?

    front/ (roll with scaled tracks; better quantize rolls; dotted interval rolls)
    edited 3 months ago.

    Did u fix the quantize-problem ?

    If you managed to fix this problem could you maybe compile a fixed
    firmware.bin for us? really dont know how to program/compile and
    all that stuff.

    Is there any way to make the PERF-Button an intelligent toggle/momentary ?

    Like when im in voicemode and keep the perfButton pushed down that it
    will stay in perf-mode for the time i keep the button pressed and
    automaticly switch back to voice-mode afterwards? so that it acts as a
    toggle/latch when being pressed short and as a momentary when being
    pressed longer than for example 500 ms or something and switch back to
    voicemode after unpressing ?
    happens a lot that when we switch to perfmode and kick in the beat
    intuitively that we simply forget that we are still in perfmode when
    we want to edit the parameters of the voices and select an empty
    pattern instead.
    Is there any way to implement this feature into the firmware ?

    Peace
  • ok, I just tried a fix on the roll-quantize. Try the new version from my website or custom-develop-testmacro from github.

    A couple of points - I changed the way the rolls work so that the roll is continuous across multiple bars. In the stock firmware, the steps on which the roll occurred were calculated for the entire bar, which meant that every bar was always the same - you couldn't do complex polyrhythms with the rolls. try playing with the roll rate while you hold the button to see what I mean.

    When you turn quantize on with the roll, there are 2 different cases for when the first sound triggers. If you've triggered a roll more than halfway between two quantized steps (ie 'just before' the quantization), the sequencer will insert a delay and trigger the roll on the next quantized step. If you've triggered a roll less than halfway between quantization steps (ie 'just after'), the roll will trigger immediately, and then come in quantized on the next quantize step. Recorded rolls will always be quantized.

    This is to avoid the case where a very long roll time has been selected (ie whole notes, etc), and if the roll is triggered even one step late, the sequencer would wait nearly the entire roll time until triggering. It assumes that the user is 'reasonably close' to the quantization timing in pressing the button.

    However, this can cause something that sounds like a 'flam' on the first trigger if the timing is far off. For example, if the roll is 16ths with quantization 16ths, and the first roll trigger comes in on sub-step 2 (ie 3/128ths after the top of the bar), the voice will trigger immediately, even though this first note will sound more like it comes in on a 32nd note grid than 16ths. The sequencer will then wait 5/128ths until triggering again, and this and all subsequent triggers will come in on the 16th note grid.

    I hope that clears things up - I made a judgement call that the occasional 'flam' sound was better than nothing at all if the user's timing was a little late - and, to be fair, my timing can be BAD :). The quantization did need a fix, so this was probably confounding things, but I want to separate this from the intended function that the first roll may indeed occasionally sound short.
  • Would it be possible for pattern scaling to multiply the existing pattern rather than scale it?

    ..reducing from x4 to x2 would chop off the later steps.

    Thanks so much - always exciting to see what you come up with.
  • Although you'd likely need to automaticly clear any probability settings... hmm
  • yeah, I agree, it would be speedier most of the time to have the sequencer re-arrange the steps to keep the timing the same when scaling but yeah, as you're thinking, it brings up a lot of problems. If the user is scaling to make the pattern longer, then any timing that is at a fine resolution would get lost. If scaling shorter, then steps at the end would get truncated, so there would need to be some confirmation or option dialog that comes up. That's a possibility some day, but it's a lot to program for a small usability boost.
  • edited November 2015
    Just reposting this as a FYI in case it affects anybody adversely:
    Hi,

    When I control the LXR via an external sequencer the LXR steps are choked by the note/gate length coming in. This doesn't happen (obviously) on the LXR on board sequencer

    Is there a way to stop this happening? Or do I have to find a pad controller that does not output note/gate length?

    Thanks
    The LXR will turn off a note if it receives a 'note off' for that voice. The workaround is to set your sequencer/controller to not send 'note off', or to set the note lengths so that they do not choke one another.

    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.

    If this is an issue for anyone, I can make this switchable with a global option, but it's hard to think of cases where this would be desirable. If someone really wants a voice to 'click' off immediately, this can be accomplished by sending automation for setting envelope decay to 0.

  • You would want this switchable globally. If you were to sequence a non drum voice and not send "note off" you will cause certain keyboards and things like midi to cv interfaces to hang. Older synths will not recognize velocity and midi-to-cv interfaces, if they recognize it at all, will just interpret the signal as an additional control voltage, to be patched to (for example) a filter.

    To get specific my pittsburgh MIDI3 will hang whenever it encounters a stuck note (ie does not receive a a note off) and require the power on the modular to be cycled. This behavior is common among older synths and midi retrofits.
  • You would want this switchable globally. If you were to sequence a non drum voice and not send "note off" you will cause certain keyboards and things like midi to cv interfaces to hang.
    Yes, I remember I added some code to deal with how the lxr sequences external instruments - there isn't a 'note off' that can be set for sequencer steps, but I think I added something so that steps with velocity=0 should send a note-off instead of note on, v=0. If not, ideally, I think that's the best way to proceed.

    The above change should only apply to the LXR's internal sounds, completely separate from the sequencing. The sequencer should still work as follows: when recording onto tracks, both note-offs and note-ons with veocity=0 are recorded as velocity=0 steps. These are then transmitted as note-offs.
  • edited November 2015
    Hi, thanks for your awesome work!
    Just a request ...  in Performance mode,  I 'd like the LED for the next pattern to be played ( when it is cued or when a chain is set up)  to flash.  Is there any chance you could make a version with this feature enabled? I'd find this a lot  more useful than the current behaviour.
    Thanks
Sign In or Register to comment.