Sequencer/MIDI New Features

edited October 2014 in General
Hi all,
After getting familiarized with the code and expanding the copy functions, I got to thinking about some other possible features that might go in the firmware. I'm no DSP programmer (I think the synthesis side is pretty much perfect as-is), but I have decent familiarity with MIDI, so I'm willing to consider any suggestions for improvements to the sequencing and MIDI functions of the LXR that don't reduce the existing functionality. Here's a list of things I'd like to get off the ground eventually:
- Instant pattern switching - when a pattern button is pressed, switches on the next sub-step rather than end of bar (keeping current timing). Global option. (I have this working, I just have to put the global option in the UI)
- Morph from MIDI CC. I'd like to put this on Mod Wheel (CC1) for the global channel, as this is currently unassigned.
- Sequential pattern chaining (global option to switch between this and standard repeat/next), something like this:
http://forum.sonic-potions.com/discussion/190/wishlist-easier-pattern-chaining
- pattern change as a p-lock destination. not entirely sure this is workable, but would be madness.
- I can take a look at importing individual voices from kits, but I expect this to be trickier for me. I'd like to make this p-lockable, too, but that might be entirely impossible.

I see Julian just posted a note in the 'program change for drumkits,' thread so I'd like to see what comes out of that, otherwise after I take a crack at the above, I can look at that too.
Anything else?

Comments

  • Instant pattern switching as a global option added!
    firmware direct: http://www.brendanclarke.com/files/LXR/FIRMWARE.BIN
    the code branch is: https://github.com/brendanclarke/LXR/tree/instapattern

    This introduces a new option in the global settings menu, called 'pci', just after 'pcr'. The long name for the setting is 'SequencrPCInstnt'. The default is 'off', which is the normal LXR pattern change behavior. When this is set to 'on', manual pattern changes happen on the next step (that is, sub-step) rather than at the end of the bar. The position of the sequencer is not reset when the pattern change happens in this mode.

    This should give some new performance options - you can now freely drop in and out of any of the 8 patterns at any time, and the sequencer timing should just roll right along. Works just fine with the LXR clocked externally too, as far as I can tell.

    There is some ambiguity, I think, to how this should work in combination with the PCReset option and with chained patterns in general. I have to examine this in more detail. I set it up so that only full pattern plays count towards the repeat count. Ie, if you insta-switch halfway through a bar into pattern 1, which is set 'rpt 3, nxt p2', the sequencer will finish the half-bar on pattern 1, play that pattern 3 more times, then switch to pattern 2.

    I found this to make the most sense musically, but I could be wrong about that, I'm open to opinions :)
  • Brendan,
     if you could get the drumkit program change working, that would be pure awesomeness! Heroic even!
    Cheers!
  • Yeah, as julian said its on his to do list i dont want to replicate what he might be working on. Its certainly on my list too though, so i will work on it if i get the other features done first. 
  • Morphing on CC1 (MW) would be awesome! I miss that one desperately.

    Concerning drumkits, there was a discussion in other thread. Issue was to keep the consistence with current switching of patterns via Program Changes, to have both accessible through PC. Also, would the PC switch both, normal Kit and Morph Kit together? Anyway, there is a lot of LXRians waiting for these features and we are happy for any progress.

    Thanks for your work!
  • I think the most sensible thing would be to leave program (pattern) change the way it is for now and put kit changes for the first 128 saved kits on bank MSB (CC0), which I think is currently unassigned. Since the current MIDI program (pattern) change function only uses 8 values, the remaining 120 could conceivably be used to load the first 120 pattern sets from memory.

    That is an interesting point about Morph Kits - I don't know enough about how morph kits load and function to comment on what is or isn't possible, but my personal preference would be that kits always load with a reference to another kit as morph target.

    Anyway, Mod wheel to morph should be reasonably simple, there's no menu programming to do :) I hope to knock that out by the end of the week.
  • Yes, +1 for Kit and MorphKit being loaded together.
  • oof, I see why MIDI CC 1 and 0 are not trivial additions... there's a -1 offset that gets applied to every MIDI CC for some reason. It's not unfixable, but I have to go through all the bits that handle the back and forth between the front and mainboards and make sure they are all consistent or I'll end up breaking all the CC's
  • Would it possible to add an option for multiple sequencer directions, i.e. forward, back, pendulum, and in particular, random? That would really open up the whole machine (although I have no idea if thats an easy thing to implement!)
  • That's cool - I don't see why not, It's more a question of where to put the option and how far I can push it :)
  • If you're doing pendulum/forward/back type stuff, you might want to take a look at the MIDIbox Seq V4's "track direction" functions - see the "Track Direction Page" section here: http://www.ucapps.de/index.html?page=midibox_seq_manual_hw.html

    Check out "Repeat/Skip/Interval Progression Parameters".

    Pete Kvitek has also implemented this in his MIDIalf.  Pretty fun functionality.
  • Cool, I will take a look! I haven't used one of those before, but maybe it will give me some ideas. I'm going to need to put the programming on a bit of a hiatus for the next couple weeks while I prep for a small gig (call it 'stability testing) :) but I will come back to this!
  • The SEQ V4s are amazing sequencers, and open source and very hackable.  Very much worth building one if you feel so inclined at some point.
Sign In or Register to comment.