Customized firmware

edited November 2013 in General
Hi all,
I've pushed a custom firmware that fixes a few things that were annoying me. Anyone else is welcome to try it and use it.
Remember, it's not the official firmware, so obviously not supported by Sonic Potions. Probably some of the fixes I've made will end up being made by Julian at some point in the official firmware. Anyway here is a list of things that I've changed:
- Midi off - sequencer will send a midi note-off message before sending the next note-on message or when stopping the sequencer
- Note names - Instead of seeing a number, you will see a note name displayed (eg G#2). makes sequencing midi gear easier
- Note override - Added midi note setting for each voice. This is the midi note that's sent when the voice triggers. If set to C0 it will trigger the note on the step. This allows for more flexibility than the old midi mode, so I removed that.
- LFO/Velocity Mod/Automation target fixes - The displaying and editing of these settings is much easier and more descriptive.
- Separate open/closed hi hat decay setting onto separate voice buttons
- some other minor cosmetic bugs that were annoying me

If anyone wants to try it, here it is https://github.com/rudeog/LXR/tree/master/firmware image
The code is also in that tree.

«1

Comments

  • Nice! I'll check it out.

    Thanks
  • thanks rudeog! does this include the sample upload?
  • Deffo trying this one out, thanks :)
  • edited November 2013
    Cool, thank you for sharing!
    I like the idea to have the whole selection displayed in upper chase. Very nice!
    While tweaking arround I recognized that the dsc value in the mod menue can not be altered by the knobs when it is on off. It is only possible to change it with the encoder method. After selecting something I was not able to select the off value afterwards. It seems that the knobs doesn't see the off value.
    I will test the sequencer later.
  • @Möbius Thanks for pointing that one out. I've fixed it and pushed it up.

    @mokomo this does not include the sample upload. Julian hasn't pushed the code for that to his branch yet, so I can't merge it to mine.
  • edited November 2013
    Very cool, will be trying this out later. Could Julian integrate this with his code easily?
  • When I try to boot off of this new firmware I get a header error. If I put the original .24a back it it boots fine. I am booting with the data knob held down. Am I missing something?

    Thanks!
  • @tsv if you are browsing github with your web browser, make sure you follow the firmware.bin link and then go and click on the "raw" button and save it that way (as opposed to right clicking the firmware.bin link and save as).

    @sackley85 it will depend on how many changes he's made to his branch since I took a snap of it. Also, he might envision different ways of solving these same issues.
  • great!

    I have to fix some stuff in my current version before i'll push it to my git, then I'll have a look at your modifications and will probably inlude them to the main tree.

    thanks a lot!
  • Thanks rudeog! That worked!


  • As promised I tested the sequencer yesterday and this definitely rocks!
    I could not sequence other hardware because of the missing note-off command before.
    Here are a few remarks:
    • It seems that the option for the midi channel in the mix menu has the same bug like the lfo/mod menu. I connot change the channel or bring it back to "off" after selecting something by using the knob underneath. This is only possible with the encoder.
    • I like the note option, which is perfect for triggering different drum sounds on the keyboard. Would it be possible to define it in that way, that it sets maybe the first note in the pattern to the selected note and transposes the other notes in the pattern relative to that first note? Thus, the effect for drum sounds would be the same (which are played on a single note in general), but additionally it would provide a nice transposition tool for bass lines, which have to be in tune to a specific note.
  • @julian Great stuff. Hopefully nothing I've done is too cryptic.

    @Mobius The midi channel in the mix menu has only 16 values. It might be in the off position initially (if your settings were saved with that value). I wanted to add an option of turning the midi off for the voice, but didn't get to it yet. For now just turn it to channel 16 and don't put anything on that channel. It's still a pain because it will still send data, but at least it will be off to the side. I like the transposition idea.
  • Thank you for the explanation!
  • Nice

    I will try this!

    Note names is a great idea !!!

    How can you go in the firmware? Wat program to use , i am just a rookie in this stuf but is it possible to change firmware in other machines to? I am a collector of roland MC's and it would be great to make some changes in these devices .
  • @julian Great stuff. Hopefully nothing I've done is too cryptic.
    exactly my thought, too! ;)
  • Nice

    I will try this!

    Note names is a great idea !!!

    How can you go in the firmware? Wat program to use , i am just a rookie in this stuf but is it possible to change firmware in other machines to? I am a collector of roland MC's and it would be great to make some changes in these devices .
    no chance with commercial machines.
    For the LXR and other DIYsynths like the shruthi, the complete sourcecode of the firmware is available.
    So making changes is easy.

    The commercial synths from big companies are all closed source, often even with encrypted firmware images. So to make changes in those firmwares, you would have to decrypt and disassemble the whole firmware, which is avery very cumbersome task!
  • My dream would be to have the source and spec of the Roland MC909. An awesome and potentially powerful beast, but pretty handicapped due to some poor software decisions, and remaining bugs (which they obviously have no incentive to fix now).
    The only other commercial box that I know of that had custom firmware was the MPC. Although I'm sure the guy that wrote it had some kind of connection with Akai. I wonder if there are others.

  • One guy over at the synthesizerforum did some bug fixes for the matrix (i think)
    but this was achieved with reverse engineering the binary :-p
  • ok, I'm currently trying to learn how to sync rudeogs changes back into my master branch for testing.
    If the merge succeeds I'll fix some more MIDI bugs and will upload a new official firmware
  • Yes great!! I'm looking forward to this. I 'll test it as soon as it becomes available.
  • wow, you did much more than adding a few features. Lot's of refacturing, too! I'm impressed.
    And I say this after not having finished the first file yet.
    Unfortunately I did some refactoring myself while implementing the sample upload and the AVR menu.c is a big red blob ;)
  • Yes, menu.c is where I spent a lot of time. I will pull your changes into mine, then we can see where we stand.
  • I have added the new sample upload capability into the customized firmware and also added a small feature to the cursor when editing kit/pattern name. Julian should be getting these back into his master branch soon. At that point we will have all the features in the official firmware.

    Time to work on some new ones :D
  • Awesome!!!! Thanks so much!
  • ok... now the merge was quite straight forward and I have your changes in my new development branch.
    I'm now going to test everything and continue with the MIDI fixes.
    Do you have a detailed changelog or should I stick to the commit log?
  • by the way... the new mod matrix target selection is just wonderfull! :D
  • I'm not entirely sure about the MIDI note name implementation.

    On the one hand it is great for external sequencing.
    on the other hand it confuses the hell out of me while trying to programm notes with the internal synth engine, since the coarse tune setting is throwing all the note values off.

    gotta play around with it a little bit more. maybe I'll get the hang of it ;)
  • Is having note representations that can understand the base coarse value (which I would also like to see using note values) a possibility? IMO there should be zero difference between the two modes other than the visual representation.
  • I thought a little bit about it.

    I would prefer the note value display for the coarse parameter as well.
    This would also mean I have to change the sequencer note value display.
    One option would be to calculate the real note value on the sequencer note parameter.

    for example coarse of the main OSC is set to C1.
    Now with a note setting of zero (like it was before) the sequencer would also show C1.
    A change in the seq. note to +2 would yield in a displayed note D1.

    if coarse is set to F4, with a note value of zero the sequencer would show F4, with a note valueof +4 it would show A4...

    Of course the coarse osc setting would not effect the send midi note value.
    So for external gear the displayed note would be off again :-/
    I think rudeogs main reason for adding note names in the sequencer was to make it easier to sequence external gear.

    I would propose to make the sequencer note display dependant on the midi mode setting.
    Since the pitch mode is only used to sequence external gear, one could display the sent midi note number in the sequencer when it is active and show the played notes value (including the coarse offset) when trigger midi mode is active?

    or would that be too confusing?
Sign In or Register to comment.