Midi file driven sampler, (RXS) is this a possibility if so where should i start?


    Jul 13 2021 | 7:59 pm
    Im looking for insight on how to execute this idea At its core function RXS is a hardware version of the Dr Octorex by Reason Studios, a sampler with midi file looper all in one. You press 1 button and a midi clock sync’d .mid file triggers notes C2(36)-G9(127).
    Most looping stations rely on time stretching algorithms to not change the pitch while changing the tempo. This leads to a stretching stuttering sound effect if the loop is played a slower tempos, which sounds unnatural. The principal idea of RXS is to alter the tempo of a music loop without changing its pitch or otherwise altering its sound. Using Reason Studios Recycle, loops are "sliced" into a series of separate "beats" or "hits". By altering the timing of these slices (or even quantizing them) with out altering the length of them, a loop can play at different speeds whilst using unmodified sounds for each slice or beat/hit. This process preserves the original pitch and sound of the loop while allowing a greater variety of speed/timing tweaks vs traditional stretching algorithms.
    Functionality
    * receives midi clock * outputs stereo audio * Attack Decay Sustain Release Knobs have control over each “hit” or “note” * Multiple banks can be loaded into RAM to be able to switch on quickly (each bank/folder is as large as 2 megs) * Banks are tied/altered by Midi Program Change Messages. Change Program Change Message = Change Bank (midi file and samples) * Midi note ON C1 (24) Starts the midi loop. Midi note OFF C1 stops the midi loop

    • Jul 13 2021 | 8:02 pm
      I got close BUT im having trouble with the data coming out of the seq object spitting to much information
    • Jul 16 2021 | 3:37 pm
      Assuming the sequence is sending out MIDI notes, then the 'next' message is being triggered for note-ons and note-offs. Try the stripnote object.
    • Jul 16 2021 | 4:08 pm
      OK THANKS so much for your insight Holland!
    • Jul 20 2021 | 6:29 pm
      Assuming the sequence is sending out MIDI notes,
      i guess it isn't cause the stripnote object doesn't work.
    • Jul 21 2021 | 11:56 am
      You need to learn what seq outputs - it is a stream of raw midi events. for a single Note 0n it is 3 bytes , status byte for note on, pitch, velocity and each of them bangs that next message in your patch Depending what else that midi file has inside, like note off, controllers or whatever , each message will produce at least 2 bytes, in most cases 3 and again each of them bangs the next message. I guess you place single notes in the midi file to trigger that next message, to play new sample. if it is for example midi note C3 on channel 1, then message would be 144 48 100 for velocity 100 Note off might come in as note on with velocity 0, or dedicated note off message with release velocity 128 48 64 for example. To make it simple for you, I'd suggest output of seq should go to midiparse and you create detector for given Note On to trigger that next message.
      Even when that works, that samples will sound choped and maybe produce clicks and pops, if new note gets triggered before the previous one faded out. You need poly or some kind of cross player to fix that.
    • Jul 21 2021 | 10:54 pm
      Thank you so much for you insight MUCH appreciated!