Yamaha RX7 UI

Home Forums General Programming Yamaha RX7 UI

Tagged: 

Viewing 20 posts - 21 through 40 (of 44 total)
  • Author
    Posts
  • #83498
    human fly
    Participant
      • Topics: 124
      • Replies: 1070
      • Total: 1194
      • ★★★★

      cut-down version:
      having a little detour to sort out how to display
      drum pad voice assignments on the midi keyboard.
      not quite right yet…getting there, but some issues
      (it is highlighting wrong key with single pad, but seems
      ok with full ‘kits’)
      suggestions appreciated!

      i’m mixing up which list it should be calling from…
      also some issues with how to display:
      1/more keys in given space
      2/more number characters for each key – can only do 2…

      • This reply was modified 5 years, 11 months ago by human fly.
      Attachments:
      You must be logged in to view attached files.
      #83505
      human fly
      Participant
        • Topics: 124
        • Replies: 1070
        • Total: 1194
        • ★★★★

        >>>

        #83780
        human fly
        Participant
          • Topics: 124
          • Replies: 1070
          • Total: 1194
          • ★★★★

          have a new version here.
          pad select method just redone, unpacking subfunctions,
          then condensing(could go further; it stops working if
          i change too much in one go. just realised i now have
          to do this with the other main methods too)

          once again, the idea is to use a few modulators to
          show data from many parameter groups, so it’s more
          of an experiment than a panel project (if it ever gets
          that far).

          next hurdle is how to make the current voice the ‘multi’
          voice: with the rx5 and 7, when editing, you’re offered
          the choice to make that voice the multi voice, spread
          across the top 12 pads. (not figured out yet…)

          little check that system is working:
          if you randomise the voice on any pad, and then go to another
          pad, and call up the same voice there, the parameters will
          jump to the same settings when you click on the new pad.
          (have to make that automatic)
          of course: it’s the same voice table it’s being updated with.

          Attachments:
          You must be logged in to view attached files.
          #83794
          human fly
          Participant
            • Topics: 124
            • Replies: 1070
            • Total: 1194
            • ★★★★

            Checking the screenshots of the Soundquest editor may be interesting. The interface is as ugly as it gets but you can see the editable parameters.
            You can see that there are two midi modes. One spreads all voices on the keyboard and You can edit for each of the 100 voices at which note it should play. This way you can trigger more than one voice per note. The other mode assigns a voice on each midi channel. It will then play one voice spread across the whole keyboard.
            It’s probably possible to switch mode by sysex messages.

            https://www.squest.com/Products/MidiQuest11/Instruments/YamahaRX7/index.html

            interesting interpretation. i admit i wasn’t seeing it quite like that.
            but i have not at all used the Multi job, or had the RX7 connected to
            a MIDI keyboard yet.

            i just assume that ‘multi voice/yes’ assigns the current pad’s voice to
            the top row of 12 pads. until now i have been focusing on regular drum
            machine mode, where, as i see it, the 1OO Voices can be assigned to
            any Pad/Key, as many times as you want, with the ‘Key Assign’ parameters
            defining MIDI IN Note and Channel, and somehow, MIDI OUT Note and Channel.
            the manual and service manual are not very clear about this.

            i need to check it out with a midi keyboard plugged into it.

            #83795
            Possemo
            Participant
              • Topics: 14
              • Replies: 638
              • Total: 652
              • ★★★

              I think connecting a keyboard and trying to send messages from the panel to the rx7 would be a good idea. I had a bit the impression that you are putting the cart before the horse when you were developing the panel without sending any sysex to the device. I see that it is hard to build messages for the rx7. Most sysex messages include a checksum. It would have been one of my first actions to make a routine who calulates the checksum. Then I would start with something relatively simple like editing the voice parameters.

              But that’s just me, you can develop your panel as you like.

              #83796
              human fly
              Participant
                • Topics: 124
                • Replies: 1070
                • Total: 1194
                • ★★★★

                Hi Poss’
                the cool thing about the RX7 is that it will send its
                last-edited parameter when you press the ‘enter’ button,
                so i figured i could reverse-engineer from that, and i
                have done a list already of all the messages.

                you are no doubt right about working out that routine,
                and this is perhaps the point where i must look at that.
                i wanted to figure out the overall structure of how the
                panel would work first, thought that was an important
                decision, ie: to have my tables system, or make individual
                modulators for … (120 x (21+12))x2 parameters ! (which
                i want to avoid)

                figuring out the multi-voice is the last step i need to
                get through before i attempt the sysex. but maybe i should
                try to get a message to it first and see what happens, yes.

                i tend to not sit with the device next to me, connected to
                Ctrlr – mainly because i’ve been learning Lua primarily.
                this tables build/retrieve system is quite adventurous for me.
                time to pull out the RX7 🙂 and i would really appreciate
                your input as i attempt to make a rock-solid sysex
                send/receive system, as it could go horribly wrong crashing
                an old slow box like this. (it’s easy to do a factory reset
                though) – it will be a few day yet before i have something
                to show there, and in the meantime, i have a couple of users
                responding on yamahablackboxes group, to talk about this
                multi-voice mode. most confusing system, i must say…

                #83804
                Possemo
                Participant
                  • Topics: 14
                  • Replies: 638
                  • Total: 652
                  • ★★★

                  I see, yes this could probably be a way to make a comprehensive panel. I usually start with the simplest possible task e.g. making a panel where you can select a voice and edit its parameters. I hadn’t the sysex implementation in mind when I mentioned the checksum. Fortunately it is not needed for editing voice parameters. But creating a voice editor is not as trivial as it may seem. For many paremeters you will have to split values into two MIDI-bytes. Yamahas sysex documentation is typically “japanese awkward style” but nevertheless it explains everyting you can do when controlling the device via MIDI/sysex. Studying the data sent by the device is no doubt very helpful but for understanding the whole MIDI/sysex implementation there will be no alternative to studying the documentation thoroughly.

                  #83808
                  human fly
                  Participant
                    • Topics: 124
                    • Replies: 1070
                    • Total: 1194
                    • ★★★★

                    indeed!

                    i have read this kind of sysex doc’ before, so
                    i’m fairly confident i can figure something out,
                    and ‘cheat’ with the Enter button for quick
                    visual confirmation in midiox.

                    haha we’ll see though 🙂
                    i did decide to set it to one side while i worked
                    out if i could do my tables thing: very valid for
                    things like drum machines where you get lots of
                    repetition. remains to be seen what will happen
                    when sysex-time comes. i’ll probably be calling out
                    for help then, to get some sort of timed-release
                    message thing set up.

                    #83848
                    human fly
                    Participant
                      • Topics: 124
                      • Replies: 1070
                      • Total: 1194
                      • ★★★★

                      here’s the sysex results i’ve got from it so far, to have
                      a look at the format:
                      (this is what i discovered reading off messages with my lazy
                      technique of hitting ‘enter’ and picking them up with midiox)

                      voice bulk dump (voice #00, BD1):
                      43 Bytes:(highlighted voice number with asterisks)

                      F0 43 00 0B 00 23 4C 4D 20 20 38 35 31 35 56*00*02 78
                      36 07 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                      00 00 00 00 00 36 F7

                      single parameter message:
                      (‘??’ was where i found variations, i think; must be msb)
                      F0 43 10 03 51 V# pp ?? vv F7

                      eg:(value byte as per what i found with this voice)
                      voice edit/job 02-05
                      decay F0 43 10 03 51 41 01 19 F7
                      brate F0 43 10 03 51 41 02 00 F7
                      bRange F0 43 10 03 51 41 03 00 F7
                      level F0 43 10 03 51 41 04 36 F7
                      pan F0 43 10 03 51 41 05 08 F7
                      (etc.)
                      and here’s what happens with negative values,
                      eg: pan:

                      repeat pan: -14<>+14
                      (4th repeat,pan = 14h (param byte)

                      F0 43 10 03 51 41 14 72 F7 > 72h-7Fh = <-14 - -01<0>
                      (last values)
                      F0 43 10 03 51 41 14 0E F7 > 00h-0Eh = <0> – +14>
                      (first values)


                      just to have a look. can’t remember off top of my head
                      what i concluded from the -/+ parameters, but it made
                      sense seen as a midiox list.
                      right, i’m off to make a little fader with a message
                      on it to see if i can get the RX7 to respond.

                      #83849
                      human fly
                      Participant
                        • Topics: 124
                        • Replies: 1070
                        • Total: 1194
                        • ★★★★

                        in fact, i’m still trying to refine behaviour of
                        the Pad select method – it works but can be condensed
                        a bit.

                        it gets a bit complicated trying to introduce ‘multi’,
                        so that the last selected voice gets mapped to the top
                        12 pads, because those then get a different set of values
                        and voice assignments.

                        it means introducing an ‘if’ statement somewhere, dependent
                        on the state of the single/multi button. if i put it in the
                        wrong place, method gets broken.

                        #83963
                        human fly
                        Participant
                          • Topics: 124
                          • Replies: 1070
                          • Total: 1194
                          • ★★★★

                          yeah well, it’s getting horribly complicated with the
                          ‘multi’ thing.

                          what happens on the drum machine itself is that you
                          get the top row all the same voice, with pitch offset,
                          and then the rest retain their normal function.

                          trying to represent this in Lua is total :p
                          nowhere near sending a sysex message yet !

                          i will have to do a simple panel with a few faders to
                          test that.

                          or maybe just skip Multi for the time being. made a start
                          on it anyway; found out how to have the same voice for all
                          12 pads, or revert back to normal selection if not the top row.
                          (actually almost about the sell the machine anyway)

                          • This reply was modified 5 years, 10 months ago by human fly.
                          #84002
                          human fly
                          Participant
                            • Topics: 124
                            • Replies: 1070
                            • Total: 1194
                            • ★★★★

                            little bit of progress.
                            see what you think of this version > panel below
                            (these panels have no external resources so they
                            should run straight off as intended)

                            it’s happening in ‘panelSelect’ method – very drawn out
                            in there at the moment, with parts repeated – why i wanted
                            to use subfunctions – but it’s beginning to behave like the
                            multi-voice mode. have not yet built the pitch etc. offsets
                            per ‘multi-key’ (toprow 1-12) – and: not confident yet how
                            many voices can be multikey: i assume one multikey per
                            ‘keydata’ set? ie: 0-4

                            maybe that’s wrong: you were talking about being able to
                            have one multi on each midi channel. what happens on the
                            machine is you get to job# 03? and it says multi or voice?
                            and you go ‘yes’ to go multi with that Voice. eg: all the
                            top row ‘Keys’ of that RAM keydata group now adopt that
                            Voice, and the Multi pitch offset etc. parameters.

                            the remaining bottom row behave as before, with their
                            individual ‘Key Assign’ parameters dictating their pitch,
                            and other Key Assign parameters.

                            yup, so that answers it for me: 5 multi tables needed,
                            working in same way as tables for the Voice and Key Assign
                            tabs. (when Multi is selected, the uiTabs calls a 3rd page.
                            these parameters will use the same system for retrieving
                            and writing to individual tables, is the plan.)

                            feel free to point out if that’s wrong, it’s how i
                            interpret it atm.

                            also, one thing that is confusing in the sysex spec is
                            where the midi note and channel settings belong:
                            note and channel in, but also
                            note and channel out, which appear to be in separate
                            parameter categories. eg: per voice, or key, or system.

                            Attachments:
                            You must be logged in to view attached files.
                            #84004
                            human fly
                            Participant
                              • Topics: 124
                              • Replies: 1070
                              • Total: 1194
                              • ★★★★

                              note that it captures last selected Key as the source
                              of the Voice that will be place across the top row.

                              (all very rough-sketched, proof of concept etc.)

                              edit: there’s a bug if you click ‘Keyboard'(/’Pads’)
                              when ‘Multi’ is enabled: the pad uiTabs disappears.

                              have to select ‘Single’ and operate the Keyboard/Pads
                              button to restore view.

                              #84006
                              human fly
                              Participant
                                • Topics: 124
                                • Replies: 1070
                                • Total: 1194
                                • ★★★★

                                slightly improved version. that’s it for today.

                                Attachments:
                                You must be logged in to view attached files.
                                #84023
                                human fly
                                Participant
                                  • Topics: 124
                                  • Replies: 1070
                                  • Total: 1194
                                  • ★★★★

                                  now memorising and recalling offset parameters for
                                  12 multisteps x 5 user keydata.

                                  ie: each ‘keydata’ memory can only have one multi,
                                  the multi just replaces the regular ‘key assign’ status
                                  of those pads. that would mean you can set up 5 multis
                                  using all 5 user keydata.

                                  using same sort of thing as with writing voices and
                                  keyassign parameters.
                                  value change triggers buildMultistep method.
                                  fetchMultistep is in LibraryA
                                  added a couple of new tables for it.
                                  (a bit of a mess in there still but it sort of hangs
                                  together)

                                  Attachments:
                                  You must be logged in to view attached files.
                                  #84025
                                  human fly
                                  Participant
                                    • Topics: 124
                                    • Replies: 1070
                                    • Total: 1194
                                    • ★★★★

                                    sorry, that one crashes a method, try this one,fixed.

                                    Attachments:
                                    You must be logged in to view attached files.
                                    #84027
                                    human fly
                                    Participant
                                      • Topics: 124
                                      • Replies: 1070
                                      • Total: 1194
                                      • ★★★★

                                      last version for today. now only shows
                                      the current kit button in multimode.
                                      have to exit to change kits now.
                                      >panel

                                      Attachments:
                                      You must be logged in to view attached files.
                                      #84030
                                      human fly
                                      Participant
                                        • Topics: 124
                                        • Replies: 1070
                                        • Total: 1194
                                        • ★★★★

                                        re-arranged, simplified the UI:
                                        (ahem.. quite chuffed with this: memorizes and retrieves
                                        tables for Voice, KeyAssign, and the Multi steps – check
                                        by randomizing pad values, changing keydata, etc.)
                                        ‘dev reload’ resets everything. single/multi assigns
                                        current selected pad to 12 top pads in that KeyData memory.
                                        (none of the other left side buttons do anything yet, apart
                                        from save which collects some info on keydata to console,
                                        and keybd/pad which toggles the keyboard display view, in
                                        progress)

                                        so this is more or less the structure for the operation
                                        of the panel. now needs work on LCD layout, more info in
                                        the Multi display – and MIDI channel and note in/out.

                                        • This reply was modified 5 years, 10 months ago by human fly.
                                        Attachments:
                                        You must be logged in to view attached files.
                                        #84097
                                        human fly
                                        Participant
                                          • Topics: 124
                                          • Replies: 1070
                                          • Total: 1194
                                          • ★★★★

                                          would like to randomise and overwrite a key/index
                                          in a table, for 12 consecutively numbered tables.
                                          ie: get the first key, ‘pitch offset’, for each
                                          of the 12 multi-step pads, and perform operations,
                                          usch as randomise, reset, pitch ascending, descending,
                                          etc.

                                          wondering how i can do this if i only have one set of
                                          modulators… each pad recalls a table of values to send
                                          to the modulators. it has to rewrite the tables, randomising
                                          the value of myTable..n[ 1 ], for 12 individual pad tables.
                                          and then retrieve the appropriate table depending on which
                                          pad is currently selected. (…)

                                          #84190
                                          human fly
                                          Participant
                                            • Topics: 124
                                            • Replies: 1070
                                            • Total: 1194
                                            • ★★★★

                                            getting more elegant with the layout, smaller/more compact.
                                            still got loads to figure out. one or two little tricks in
                                            Lua though – hey i eventually learnt to do a few things with
                                            it :p

                                            so it looks like the only way to amend table entries would
                                            be to rewrite the table, maybe using a temporary local table?
                                            i’ll check this out again later.

                                            >>panel version below

                                            • This reply was modified 5 years, 10 months ago by human fly.
                                            Attachments:
                                            You must be logged in to view attached files.
                                          Viewing 20 posts - 21 through 40 (of 44 total)
                                          • The forum ‘Programming’ is closed to new topics and replies.
                                          There is currently 0 users and 60 guests online
                                          No users are currently active
                                          Forum Statistics
                                          Threads: 2,495, Posts: 17,374, Members: 77,605
                                          Most users ever online was 12 on January 22, 2019 3:47 pm
                                          Ctrlr