Author Topic: Select EW4xx DSP effects via MIDI?  (Read 2348 times)

0 Members and 1 Guest are viewing this topic.

Offline pjd

Select EW4xx DSP effects via MIDI?
« on: January 01, 2020, 10:46:05 PM »
Hi --

Found a returned SHS-500 Sonogenic at a decent price and gave in to temptation.  :)  Should be here next week.

In the meantime, I've been studying the heck out of the SHS-500 and the PSR-EW4xx -- the hardware and software have many similarities.

Unlike the EW4xx, the Sonogenic cannot edit certain voice parameters (e.g., attack, release, etc.)  I'm thinking about an iPad-based editor using MIDI Designer. The goal is to tweak voice parameters, etc. and store the settings on the iPad via MIDI Designer presets.

Given the similarities between the SHS-500 and PSR-EW4xx, the same voice editor might apply to the EW, too, which would be cool.

Question -- has anyone made progress documenting MIDI features which Yamaha should have rightfully written down in the manuals/data list? I am especially interested in controlling the new DSP effects (rotary and so forth) via MIDI. Set-up and control may be limited by software to the front panel, but a person can dream.  :)

Thanks! I'll be poking around with MIDI-OX once I get the Sonogenic in hand.

All the best -- pj

P.S. The MIDI Designer iPad app looks like a very capable tool for building MIDI controllers/editors.
 

Offline pjd

Re: Select EW4xx DSP effects via MIDI?
« Reply #1 on: January 11, 2020, 10:45:01 PM »
Hi folks --

I just recently acquired an SHS-500 Sonogenic and started to probe its MIDI capabilities.

The basic sound engine is the same or very similar to the PSR-E463/EW410. It just has a different sound set. In fact, it has an unadvertised General MIDI (GM) sound set that is accessible over MIDI. It also has the new E-series reverb effects (e.g., Cathedral).

Yamaha's MIDI documentation is really underwhelming. Worse, the SHS-500 doesn't seem to transmit anything other than note on/off, modulation and pitch bend. So, monitoring via MIDI OX is not very informative. The SHS-500 doesn't even send program change messages!

The big unknown, right now, is how to select and modify DSP effects. The Sonogenic has the same DSP effects as the latest E453 and E463 (minus auto pan because the Sonogenic line out is mono. Huh?)

I'm hoping that the E453 or E463 (and the sister EWs) send MIDI data when turning the DSP effects on/off, when changing the DSP effect type, and when changing the DSP parameters with the live control knobs. Unfortunately, I don't have an approrpriate model to monitor.

So, to those folks who have the appropriate model and can monitor MIDI output with MIDI OX (or whatever), I would really appreciate the help. Do the latest E4xx send MIDI control info for the DSP effects? Would you be willing to capture the output from your MIDI monitor?

Thanks!

-- pj

P.S. I'm sorry if this request seems out of place, but the information should be of interest to E453/E463 players, too. Thanks.
 

Offline SeaGtGruff

Re: Select EW4xx DSP effects via MIDI?
« Reply #2 on: January 12, 2020, 09:24:15 AM »
Your request isn't out-of-place at all.

My observations with the PSR-E433 and PSR-E443 are that the features which don't generate MIDI OUT messages when you change them, yet which can nevertheless be recorded in a User Song and converted into a Standard MIDI File, are usually selected in the User Song by use of a Sequencer-Specific Meta Event. A Meta Event can't be transmitted through MIDI IN/OUT, since the Status Code for a Meta Event in a Standard MIDI File is the same as the status code for a System Reset in a live MIDI stream.

Sometimes a keyboard will have a System Exclusive message that can control the same parameter as a Sequencer-Specific Meta Event, and sometimes it also has a Registered Parameter Number to control the same parameter. But I haven't been able to uncover a System Exclusive version of these particular Sequencer-Specific Meta Events on the PSR-E models, and they don't use RPNs.
Michael Rideout
Current keyboards: Yamaha YPT-400, PSR-E433, PSR-E443, PSR-EW400, MX49 BK
Current controllers: M-Audio Axiom 61-II
Previous keyboards: Farfisa Matador 611; Casio CTK-710
 
The following users thanked this post: pjd

Offline pjd

Re: Select EW4xx DSP effects via MIDI?
« Reply #3 on: January 13, 2020, 05:21:33 PM »
Hi Michael --

Terrific analysis as usual. Thanks!

I see your points about using Sequencer-Specific Meta Events vis a vis transmission over MIDI. If you have a MIDI file or two with DSP-related events in them, I would sure appreciate a look. It might inspire some thoughts.

I think I will eventually contact Yamaha. I'm a little doubtful about the response that I'll get via customer support (the front door) and might have to try the back door (one of my contacts).

BTW, last night I had fun driving the SHS-500 using Yamaha's Synth Arp and Drum Pad app. I don't know if Yamaha is even selling this app anymore since it isn't advertised on the Yamaha USA web site. I had to change part (channel) voices using MIDI Designer, but it worked pretty well. I also tried the Sound Controller and Fader apps. Sound Controller and Faders use MIDI CC, pitch bend and modulation -- no SysEx. Gonna try Mobile Music Sequencer (MMS) today. MMS sends XG messages and can be tricked into sending General MIDI (GM) program change messages. (Tell MMS that it's talking to an MOX in the MOX GM bank.)

I'll write all of this up. Yamaha are heavily promoting Chord Tracker for Sonogenic, of course. The GM capability might help some folks get more out of their Sonogenic.

Thanks, again -- pj

P.S. Sonogenic responds to SysEx chord name messages. It displays the chord name when it is in Jam Mode.
 

Offline pjd

Re: Select EW4xx DSP effects via MIDI?
« Reply #4 on: January 16, 2020, 05:54:26 PM »
Hi Michael --

I read the E453 and E463 manuals more closely and see what you mean. I think I will need to crawl through a few user songs which have DSP control messages within them.

Interesting limitations -- track 1  or track A only. Feels like insert vs. system mode, but who knows?

You wouldn't happen to have a few SMF MIDI files available for examination?

Thanks -- pj
 

Offline Janus

Re: Select EW4xx DSP effects via MIDI?
« Reply #5 on: January 16, 2020, 06:12:56 PM »
Try to get a copy of xgworks
It works with meta events
The mixer  editor works with the mouse to add effects volume pan and so on
 

Offline pjd

Re: Select EW4xx DSP effects via MIDI?
« Reply #6 on: January 17, 2020, 12:07:07 AM »
Hi Janus --

Thanks for the suggestion. The issue isn't so much MIDI Meta events as figuring out what and how Yamaha have implemented the E453/E463 DSP effects. Since this is XGLite, they may have put the DSP effects beyond the reach of XG SysEx.

I have tried configuring the SHS-500 using XG SysEx from Sonar and have also tried Yamaha Mobile Music Sequencer (MMS). The mixer in MMS issues standard XG SysEx. Attempts to configure DSP effects using MMS have been unsuccessful.

Meta events are sequencer specific and internal to the sequencer. As Michael pointed out, a MIDI Meta event cannot be transmitted over MIDI due to Meta event encoding at the binary level. Ultimately, I will need to transmit SysEx because the SHS-500 has no internal sequencer of its own.

All the best -- pj
 

Offline pjd

Re: Select EW4xx DSP effects via MIDI?
« Reply #7 on: January 21, 2020, 06:49:13 PM »
Hi --

I took a field trip to Guitar Center and recorded a test song including song set-up data. Everything was saved as an SMF. I recorded with the Distortion effect turned on and turned the live control knobs while recording.

I analyzed the SMF in Sonar and dumped the file with Michael B's Styledump program. (Can't live without it!) The SMF did not contain any messages to set up the DSP effect nor did it contain any real-time controller messages for DSP.

This analysis after trying all sorts of XG messages on the Sonogenic leaves me pretty doubtful about controlling DSP effects via MIDI. This is a hole which Yamaha needs to fill in the future. I might send Yamaha a question about MIDI DSP control, but I think I already know the answer -- "No."

Oh, well -- pj
 

Offline SeaGtGruff

Re: Select EW4xx DSP effects via MIDI?
« Reply #8 on: January 21, 2020, 07:23:45 PM »
That's surprising. If the DSP type, settings, and changes are played back correctly in a User Song file, then there has to be some sort of MIDI messages for them-- right?
Michael Rideout
Current keyboards: Yamaha YPT-400, PSR-E433, PSR-E443, PSR-EW400, MX49 BK
Current controllers: M-Audio Axiom 61-II
Previous keyboards: Farfisa Matador 611; Casio CTK-710
 

Offline pjd

Re: Select EW4xx DSP effects via MIDI?
« Reply #9 on: January 21, 2020, 10:06:30 PM »
That's surprising. If the DSP type, settings, and changes are played back correctly in a User Song file, then there has to be some sort of MIDI messages for them-- right?

Hi Michael --

The DSP effect messages never made it into the Standard MIDI File. Is the User Song file different from an exported SMF?

In addition to "SONG001.MID", I wrote "USER004.USR" to the USB flash drive.

It's entirely possible that I made a pilot error some place along the way. The user interface seemed quite differently from the E443 that I once had. It's been a while...  ???

Is another field trip required?  :)  If someone posts a song file which enables a DSP effect (e.g., Dist.1) and cranks the live knobs, I'll certainly be happy to take a look at the file(s) and see what's inside.

Thanks -- pj

Update...

Page 73 of the PSR-E463 Owner's Manual: "The DSP effect (page 24) cannot be converted to SMF format." Bad news.
« Last Edit: January 21, 2020, 10:15:35 PM by pjd »
 

Offline SeaGtGruff

Re: Select EW4xx DSP effects via MIDI?
« Reply #10 on: January 21, 2020, 11:58:13 PM »
If you can send me the USR file, I can probably extract the User Song from it and see what's in it.

I suspect that perhaps Yamaha doesn't convert certain SysEx or Meta Event messages to the SMF format in order to keep the resulting SMF as "interchangeable" as possible. I'm not sure if that's the right word, but what I mean is that they probably want the user to be able to play back the SMF on other keyboards or MIDI-capable devices (such as a computer running a DAW or MIDI soft synth) and have the SMF play back successfully, even if it doesn't sound 100% the same as it does when played back on the original jeyboard.
Michael Rideout
Current keyboards: Yamaha YPT-400, PSR-E433, PSR-E443, PSR-EW400, MX49 BK
Current controllers: M-Audio Axiom 61-II
Previous keyboards: Farfisa Matador 611; Casio CTK-710
 

Offline SeaGtGruff

Re: Select EW4xx DSP effects via MIDI?
« Reply #11 on: January 22, 2020, 12:00:11 AM »
Note, I really ought to make a recording on my PSR-EW400 and extract the User Song from it, but I do want to see what a USR file from the PSR-E463 looks like. :)
Michael Rideout
Current keyboards: Yamaha YPT-400, PSR-E433, PSR-E443, PSR-EW400, MX49 BK
Current controllers: M-Audio Axiom 61-II
Previous keyboards: Farfisa Matador 611; Casio CTK-710
 

Offline pjd

Re: Select EW4xx DSP effects via MIDI?
« Reply #12 on: January 22, 2020, 12:48:54 AM »
Hi Michael --

Thanks for taking a look. I briefly opened the USR file in Emacs and didn't see any of the usual signposts/markers vis a vis MIDI. The URL to the file is below. I had to work around the file extension limitations for attachments...

Even if this doesn't pan out, at least I spent some time at GC while my spouse was shopping for shoes. (And I have no patience.  :) )

All the best -- pj

http://sandsoftwaresound.net/wp-content/uploads/2020/01/UserFiles.zip
 

Offline SeaGtGruff

Re: Select EW4xx DSP effects via MIDI?
« Reply #13 on: January 22, 2020, 01:37:04 AM »
Yeah, USR files are interesting creatures. The User Songs are split up into blocks of 512 bytes, and the blocks can be scattered throughout the memory out of order, so you have to find the blocks that are used for a particular User Song and put them in order. And then you have to create a header chunk for the track chunks. It's a fun little puzzle. :)
Michael Rideout
Current keyboards: Yamaha YPT-400, PSR-E433, PSR-E443, PSR-EW400, MX49 BK
Current controllers: M-Audio Axiom 61-II
Previous keyboards: Farfisa Matador 611; Casio CTK-710
 

Offline pjd

Re: Select EW4xx DSP effects via MIDI?
« Reply #14 on: January 22, 2020, 06:24:10 PM »
Hi Michael --

I took a closer look at the USER file with a hex dump program. There are eight places in the file with "MTrk" identifiers. I see some reverb and chorus SysEx messages along with other set-up messages.

There is one section with a mess of sequencer-specific messages starting at file offset 2646. Lots of "43 73" and "43 76" which smell like Yamaha-specific commands. One recurring message is something like:

f0 08 43 73 01 11 xx 61 00 f7

where xx is clearly a channel (part) number.

It's all interesting, but without a magic decoder ring, not useful WRT DSP effects. I'll think about it at the gym...  :)

All the best -- pj
 

Offline SeaGtGruff

Re: Select EW4xx DSP effects via MIDI?
« Reply #15 on: January 22, 2020, 09:57:55 PM »
I'll have to check my notes about the Sequencer-Specific messages, but I don't think that's a channel number; it may be a command number (for lack of a better term). My old computer's hard drive crashed, but I had copied most of my Yamaha-related notes to USB flash drives and an old external hard drive before that happened, so it's just a matter of locating where I copied my notes to. I posted some excerpts in this forum, but I don't remember if that was before or after The Great Purge, so you might be able to find them.
Michael Rideout
Current keyboards: Yamaha YPT-400, PSR-E433, PSR-E443, PSR-EW400, MX49 BK
Current controllers: M-Audio Axiom 61-II
Previous keyboards: Farfisa Matador 611; Casio CTK-710
 

Offline SeaGtGruff

Re: Select EW4xx DSP effects via MIDI?
« Reply #16 on: January 23, 2020, 12:43:29 AM »
Sorry, you were correct, those are channel numbers. Those are SysEx messages, not Meta Events, and those particular SysEx messages are for turning the eight style channels on or off.

The Meta Events would look more like FF 7F 05 43 76 1A 01 00, or like FF 7F 08 43 76 1A 03 31 00 31 00, and so forth.
Michael Rideout
Current keyboards: Yamaha YPT-400, PSR-E433, PSR-E443, PSR-EW400, MX49 BK
Current controllers: M-Audio Axiom 61-II
Previous keyboards: Farfisa Matador 611; Casio CTK-710
 

Offline pjd

Re: Select EW4xx DSP effects via MIDI?
« Reply #17 on: January 23, 2020, 02:42:08 AM »
Ah, thanks for clarifying the purpose of those messages. Makes sense. I probably should have posted a fuller dump. Saw plenty of FF meta-messages. I use F0 and FF as my sign posts and search on them the text editor highlights them. Then I start merging messages, one per line.

I probably should have done a factory reset or an init in test mode. Since the test instrument is a demo unit in a music store, the internal memory could be holding any old thing. We could even be looking at the bones of a style that someone loaded! Arg, hindsight sees best...

Thanks for looking at this stuff. Thee are so many undocumented SysEx and meta messages, we have to put our heads together.

pj
 

Offline SeaGtGruff

Re: Select EW4xx DSP effects via MIDI?
« Reply #18 on: January 23, 2020, 10:24:09 AM »
There were no style files loaded as User Styles in that USR file, nor any saved Registrations, so it was as close to a "factory reset" condition as you can get, other than any settings you had changed for your song recording.
Michael Rideout
Current keyboards: Yamaha YPT-400, PSR-E433, PSR-E443, PSR-EW400, MX49 BK
Current controllers: M-Audio Axiom 61-II
Previous keyboards: Farfisa Matador 611; Casio CTK-710
 

Offline pjd

Re: Select EW4xx DSP effects via MIDI?
« Reply #19 on: January 23, 2020, 04:37:27 PM »
Thanks! It's good to have an experienced eye. Given the quantity of data, this is gonna take a while...

I've included a typical edited dump below. There are extraneous bytes after the messages which are the MIDI delta values for timing. When a message "wraps" evenly, I leave the file offset at the beginning of the line and add little notes to myself, too. At some point I need to tackle the CC messages (Bx), too.

Take care -- pj


MTrk identifiers - Start addresses (decimal)

    1554
    2578     <<<< Time sig, tempo, etc.
    4114
    5138
    5650
    6674
    8210
    9234

Starting at 2646:

ff 7f 06 43 76 1a 04 00 f5 00
0002656 ff 7f 05 43 76 1a 02 64 00               Seq
        ff 7f 05 43 76 1a 01 00 00 b9 47         Seq
        ff 00 b9 4a ff 00 b9 5b
        ff 00 b9 5d ff 00
        f0 08 43 73 01 11 08 61 00 f7 00
        f0 08 43 73 01 11 09 61 00 f7 00
        f0 08 43 73 01 11 0a 61 00 f7 00
        f0 08 43 73 01 11 0b 61 00 f7 00
        f0 08 43 73 01 11 0c 61 00 f7 00
        f0 08 43 73 01 11 0d 61 00 f7 00
        f0 08 43 73 01 11 0e 61 00 f7 00
        f0 08 43 73 01 11 0f 61 00 f7 00
        ff 7f 05 43 76 1a 05 02 00               Seq
        f0 08 43 73 01 30 02 00 04 f7 00
        f0 08 43 73 01 30 03 00 0a f7 00
        f0 08 43 73 01 30 04 00 0f f7 00
        ff 7f 06 43 76 1b 01 00 01 00            Seq
        ff 7f 08 43 76 1a 03 31 00 7f 7f 9b 3e   Seq
        ff 7f 06 43 76 1a 04 00 f9 00            Seq
        f0 08 43 73 01 11 08 61 00 f7 00
0002864 f0 08 43 73 01 11 09 61 00 f7 00
        f0 08 43 73 01 11 0a 61 00 f7 00
        f0 08 43 73 01 11 0b 61 00 f7
0002896 00 f0 08 43 73 01 11 0c 61 00 f7 00
        f0 08 43 73 01 11 0d 61 00 f7 00
        f0 08 43 73 01 11 0e 61 00 f7 00
        f0 08 43 73 01 11 0f 61 00 f7 86 1a
        ff 7f 06 43 76 1a 04 00 f8 00            Seq
        f0 08 43 73 01 11 08 61 00 f7 00
        f0 08 43 73 01 11 09 61 00 f7 00
        f0 08 43 73 01 11 0a 61 00 f7 00
        f0 08 43 73 01 11 0b 61 00 f7 00
        f0 08 43 73 01 11 0c 61 00 f7 00
        f0 08 43 73 01 11 0d 61 00 f7 00
        f0 08 43 73 01 11 0e 61 00 f7 00
        f0 08 43 73 01 11 0f 61 00 f7 81 66
        f0 08 43 73 01 11 08 61 7f f7 81 29
        ff 7f 06 43 76 1a 04 00 f7 2b           Seq
        f0 08 43 73 01 11 08 61 00 f7 3a
        f0 08 43 73 01 11 08 61 7f f7 32
        f0 08 43 73 01 00 4c 00 0d 4a 00 65 5b 1c 00 58 1c 00 5f
0003104 24 05 5b 0

 

Offline SeaGtGruff

Re: Select EW4xx DSP effects via MIDI?
« Reply #20 on: January 23, 2020, 09:09:16 PM »
      | ff 7f | 06 | 43 76 1a 04 00 f5       | Sequencer-Specific: Select Style Number 246  (Pattern 01 Section A)
   00 | ff 7f | 05 | 43 76 1a 02 64          | Sequencer-Specific: Set Style Volume to 100
   00 | ff 7f | 05 | 43 76 1a 01 00          | Sequencer-Specific: Select Style Section "Main A"
   00 | b9 47 |    | ff                      | Channel 10 (Drums): Disable Filter Resonance (Set CC #71 to 255)
   00 | b9 4a |    | ff                      | Channel 10 (Drums): Disable Filter Cutoff    (Set CC #74 to 255)
   00 | b9 5b |    | ff                      | Channel 10 (Drums): Disable Reverb Depth     (Set CC #91 to 255)
   00 | b9 5d |    | ff                      | Channel 10 (Drums): Disable Chorus Depth     (Set CC #93 to 255)
   00 | f0    | 08 | 43 73 01 11 08 61 00 f7 | System Exclusive  : Turn on  Style Rhythm 1  (Channel 09)
   00 | f0    | 08 | 43 73 01 11 09 61 00 f7 | System Exclusive  : Turn on  Style Rhythm 2  (Channel 10)
   00 | f0    | 08 | 43 73 01 11 0a 61 00 f7 | System Exclusive  : Turn on  Style Bass      (Channel 11)
   00 | f0    | 08 | 43 73 01 11 0b 61 00 f7 | System Exclusive  : Turn on  Style Chords 1  (Channel 12)
   00 | f0    | 08 | 43 73 01 11 0c 61 00 f7 | System Exclusive  : Turn on  Style Chords 2  (Channel 13)
   00 | f0    | 08 | 43 73 01 11 0d 61 00 f7 | System Exclusive  : Turn on  Style Pad       (Channel 14)
   00 | f0    | 08 | 43 73 01 11 0e 61 00 f7 | System Exclusive  : Turn on  Style Phrase 1  (Channel 15)
   00 | f0    | 08 | 43 73 01 11 0f 61 00 f7 | System Exclusive  : Turn on  Style Phrase 2  (Channel 16)
   00 | ff 7f | 05 | 43 76 1a 05 02          | Sequencer-Specific: Set Pattern Retrigger Rate (???)
   00 | f0    | 08 | 43 73 01 30 02 00 04 f7 | System Exclusive  : ??? <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ???
   00 | f0    | 08 | 43 73 01 30 03 00 0a f7 | System Exclusive  : ??? <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ???
   00 | f0    | 08 | 43 73 01 30 04 00 0f f7 | System Exclusive  : ??? <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ???
   00 | ff 7f | 06 | 43 76 1b 01 00 01       | Sequencer-Specific: ??? <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ???
   00 | ff 7f | 08 | 43 76 1a 03 31 00 7f 7f | Sequencer-Specific: Select Style Chord C Major
------|-------|----|-------------------------|--------------------------------------------------------------------
9b 3e | ff 7f | 06 | 43 76 1a 04 00 f9       | Sequencer-Specific: Select Style Number 250  (Pattern 01 Section E)
   00 | f0    | 08 | 43 73 01 11 08 61 00 f7 | System Exclusive  : Turn on  Style Rhythm 1  (Channel 09)
   00 | f0    | 08 | 43 73 01 11 09 61 00 f7 | System Exclusive  : Turn on  Style Rhythm 2  (Channel 10)
   00 | f0    | 08 | 43 73 01 11 0a 61 00 f7 | System Exclusive  : Turn on  Style Bass      (Channel 11)
   00 | f0    | 08 | 43 73 01 11 0b 61 00 f7 | System Exclusive  : Turn on  Style Chords 1  (Channel 12)
   00 | f0    | 08 | 43 73 01 11 0c 61 00 f7 | System Exclusive  : Turn on  Style Chords 2  (Channel 13)
   00 | f0    | 08 | 43 73 01 11 0d 61 00 f7 | System Exclusive  : Turn on  Style Pad       (Channel 14)
   00 | f0    | 08 | 43 73 01 11 0e 61 00 f7 | System Exclusive  : Turn on  Style Phrase 1  (Channel 15)
   00 | f0    | 08 | 43 73 01 11 0f 61 00 f7 | System Exclusive  : Turn on  Style Phrase 2  (Channel 16)
------|-------|----|-------------------------|--------------------------------------------------------------------
86 1a | ff 7f | 06 | 43 76 1a 04 00 f8       | Sequencer-Specific: Select Style Number 249  (Pattern 01 Section D)
   00 | f0    | 08 | 43 73 01 11 08 61 00 f7 | System Exclusive  : Turn on  Style Rhythm 1  (Channel 09)
   00 | f0    | 08 | 43 73 01 11 09 61 00 f7 | System Exclusive  : Turn on  Style Rhythm 2  (Channel 10)
   00 | f0    | 08 | 43 73 01 11 0a 61 00 f7 | System Exclusive  : Turn on  Style Bass      (Channel 11)
   00 | f0    | 08 | 43 73 01 11 0b 61 00 f7 | System Exclusive  : Turn on  Style Chords 1  (Channel 12)
   00 | f0    | 08 | 43 73 01 11 0c 61 00 f7 | System Exclusive  : Turn on  Style Chords 2  (Channel 13)
   00 | f0    | 08 | 43 73 01 11 0d 61 00 f7 | System Exclusive  : Turn on  Style Pad       (Channel 14)
   00 | f0    | 08 | 43 73 01 11 0e 61 00 f7 | System Exclusive  : Turn on  Style Phrase 1  (Channel 15)
   00 | f0    | 08 | 43 73 01 11 0f 61 00 f7 | System Exclusive  : Turn on  Style Phrase 2  (Channel 16)
------|-------|----|-------------------------|--------------------------------------------------------------------
81 66 | f0    | 08 | 43 73 01 11 08 61 7f f7 | System Exclusive  : Turn off Style Rhythm 1  (Channel 09)
------|-------|----|-------------------------|--------------------------------------------------------------------
81 29 | ff 7f | 06 | 43 76 1a 04 00 f7       | Sequencer-Specific: Select Style Number 248  (Pattern 01 Section C)
------|-------|----|-------------------------|--------------------------------------------------------------------
   2b | f0    | 08 | 43 73 01 11 08 61 00 f7 | System Exclusive  : Turn on  Style Rhythm 1  (Channel 09)
------|-------|----|-------------------------|--------------------------------------------------------------------
   3a | f0    | 08 | 43 73 01 11 08 61 7f f7 | System Exclusive  : Turn off Style Rhythm 1  (Channel 09)
------|-------|----|-------------------------|--------------------------------------------------------------------
   32 | f0    | 08 | 43 73 01 ...            | System Exclusive  : (???)


I started to correct the message parsing, but I have to stop and do a favor for my sister, so I'll finish later.

EDIT: My sister wasn't ready so I did a little more. I'll explain the changes after I get back.

EDIT #2: I put the numbers in columns in a way that I like, to help me keep things straight.

The bytes in the first column (up to the first vertical bar) are the delta times for the messages. Usually the delta time is a 1-byte value, but if it's more than 127 ticks then it can be made up of 2 or more bytes, in which case the additional bytes have their high bit set (which means their high nibbles are 8 or more), and the last byte of the delta time has the high bit cleared to indicate that it's the final byte.

The bytes in the second column (between the first and second vertical bars) are the MIDI message type and (if applicable) subtype.

The byte in the third column (if present) is a length, indicating how many bytes of data are to follow.

The bytes in the next-to-last column are the actual data bytes for the message.

The final column is a brief description of the message.

There are four messages I'm not sure about yet-- three SysEx messages followed by a Sequencer-Specific message. I'll see if I can find out what they mean.

EDIT #3: I think the three unknown SysEx messages look similar to XG messages for modifying a drum kit, but I'm not sure how those types of messages work because I've never had much of a reason to investigate them before.

I'm not sure about the unknown Sequencer-Specific message, but I'm wondering if it has anything to do with our mystery of the DSP effects.

EDIT #4: Actually, those three unknown SysEx messages aren't XG messages (ID = 4C), so I don't think they modify the drum kit as would be the case with that parameter address (30 xx 00) in an XG message. They're actually Clavinova-compliant messages (ID = 73), but I can't find any information about parameter addresses that start with 30. So I'll need to investigate these, because they (along with the unknown Sequencer-Specific message) might be what we're looking for.
« Last Edit: January 24, 2020, 12:05:49 AM by SeaGtGruff »
Michael Rideout
Current keyboards: Yamaha YPT-400, PSR-E433, PSR-E443, PSR-EW400, MX49 BK
Current controllers: M-Audio Axiom 61-II
Previous keyboards: Farfisa Matador 611; Casio CTK-710
 

Offline pjd

Re: Select EW4xx DSP effects via MIDI?
« Reply #21 on: January 24, 2020, 12:38:32 AM »
Holy smokes, Michael, nice work! I like the way you format the information, especially separating out the length information.

I've tried intercepting MIDI over USB messages between PC and Genos, and again, the length information and packet bundling can drive one crazy. I'll keep your format in mind if I attempt to climb that hill one more time.

BTW, there are a zillion more undocumented Clavinova compliance, etc. messages for file handling, voice parameter editing, etc. I wish this darned stuff was documented.  ::)

Thanks -- pj

P.S. Just flat out of time for the day. My Sonogenic UI is nearly complete. Should work with E-series, too.
« Last Edit: January 24, 2020, 12:39:38 AM by pjd »
 

Offline SeaGtGruff

Re: Select EW4xx DSP effects via MIDI?
« Reply #22 on: January 24, 2020, 01:52:57 AM »
If I know the SysEx message type (XG or ID 4C, Clavinova or ID 73, etc.), I'll look through the Data Lists for models in that keyboard line to see if I can put together a list of parameter addresses, what those parameters are for, and what data values they can use.

But so far I haven't found any Clavinova parameter addresses that have a high byte of 30.
Michael Rideout
Current keyboards: Yamaha YPT-400, PSR-E433, PSR-E443, PSR-EW400, MX49 BK
Current controllers: M-Audio Axiom 61-II
Previous keyboards: Farfisa Matador 611; Casio CTK-710
 

Offline pjd

Re: Select EW4xx DSP effects via MIDI?
« Reply #23 on: January 24, 2020, 06:18:40 PM »

Hi Michael --

Thought I'd mention what I did during the test recording session:

    1. Turned off accompaniment
    2. Selected "Funky EP" as the panel voice
    3. Selected the DSP effect via FUNCTION
    4. EXECUTED'ed set up
    5. Played a few notes here and there
    6. Randomly messed with the live knobs like a two year old :-)

Wish I took precise notes, but I was feeling my way through the user interface.

Thus, I would expect many events related to live knob control and not many actual MIDI note messages.

There is a big block of "F0 08 43 73 01 30 ... F7" messages starting at file offsets 9744. This is a mixture of two types of messages:

    F0 08 43 73 01 30 03 01 xx F7
    F0 08 43 73 01 30 04 01 xx F7

differing in the seventh byte (03 vs. 04). Quite possibly, these are the messages for step 6 (above). These messages dominate starting from 9744 until the end of the file.

I spotted other potential set-up sequence at roughly the following file offsets:

    2587  [This is the one we looked at yesterday]
    5147
    6683
    9243

There are tempo (ff 51 03) and time signature (ff 58 04) meta-events in those vicinities.

Good chance the "F0 08 43 73 01 30 ..." are DSP-related.

Gym time -- pj

P.S. Since these are SysEx, I wonder what happens if I sling them at the Sonigenic?
 

Offline SeaGtGruff

Re: Select EW4xx DSP effects via MIDI?
« Reply #24 on: January 24, 2020, 07:45:41 PM »
Just to fill you in a bit on the way the User Songs work, each track is recorded to a separate "MTrk" chunk. I'm referring to tracks 1 through 6, which are selected using the six Track Control panel buttons. Tracks 1 through 5 can each contain two voices-- Main and Dual-- whereas track 6 is for the Accompaniment.

So even if you record just one song, you might see multiple "MTrk" chunks for it. Also, it's possible that someone else had already recorded a User Song on the keyboard you were trying out in the store, so there might be more "MTrk" chunks than expected for that reason as well.
Michael Rideout
Current keyboards: Yamaha YPT-400, PSR-E433, PSR-E443, PSR-EW400, MX49 BK
Current controllers: M-Audio Axiom 61-II
Previous keyboards: Farfisa Matador 611; Casio CTK-710