I've exported the 3369 performances and using Java to decompose them so I can search for items of interest.
An example would be to find performances that use the extended element ON feature to see just how many elements
some perfs might use.
One of these scans was using the ELEMENT COUNT value as found on page 231 of the Data List doc.
This value is reported as 8 for drum parts which don't have elements. The doc shows a value range of 8-128 with
a default of 8 but I didnt' expect it to have a value for a drum part.
If this is the only item that is misrepresented then this anomaly can be taken into account when reporting the settings
of various perf, part and element/operator/drum attributes.
The problem is that there is no way to know how many, or which, other items might also be misrepresented so that
accurate reporting can be done.
There isn't an issue on the M8X itself since the ELEMENT COUNT parameter isn't availble to view or change for drum
parts - the drum screens are designed to display that parameter since it doesn't apply.
But anomalies like this will affect any external tools that try to take inventory of things.
The first bulk export I did actually contained part information for the unused parts of a performance that only had two parts.
1. load a performance with 8 parts and notice the part names.
2. load a performance with only 1 or 2 parts
3. edit part 1 to get to the edit screen for the part
4. now change the dropdown to select a part 5-8 that doesn't exist in the current perf
5. notice that the part names of parts NOT in the current perf match the part n;ames
of the 8 part performance.
In other words when a performance is loaded the edit buffer is NOT totally cleansed of data. The data areas needed
for the perf being loaded replaces the part slots that new perf needs but the other part slots are left with whatever data
they contained from the last perf that used that part slot.
Load a perf like INIT MULTI/GM that uses all 16 parts and then load a perf that uses only parts 1 and 4. If you edit part 1
and then use the dropdown to select parts 2, 3 or 5k-16 you will see they all contain the previous MULTI/GM data.
Somehow that first bulk dump I did actually exported the part data for parts 3-8 when the performance I exported only
used parts 1 and 2.
I reported that but haven't been able to reproduce it. The issue is that there is NOTHING in the export (or the Data List)
that I can find that actually indicates how many parts a performance has. So the only info available is the part records
in the dump. And this will be grossly misleading if the dump contains records for unused parts.
But I have no way of knowing if the ELEMENT COUNT issue reported above is an issue that needs fixed or just one,
of possibly many others, that you need to be aware of and be able to skip under appropriate conditions.
NOT EXACTLY the sort of thing that makes programmers happy.
You’re right no one would really care but programmers (possibly)… with the Edit and Recall buffers, and the SSS switching feature, it seems that some ‘hidden’ data might just be left in the shadowy areas. This is probably nothing for the user to worry about.
I notice if you delete a Control Assignment, for example, that it simply deactivates its (it does not delete it completely) — the settings for the entire Control Set simply remains in the shadows, hidden, but in tact. You can come back and decide to activate that Destination… what initially appears is the last item - the one you Deleted from that Control Set… (which many times is a good thing).
Eight is Enough
The AWM2 engine in Yamaha synths transitioned from 4 Elements to 8 Elements for Normal programs back in 2007 when Motif ES was replaced by Motif XS. The 8 Element Voice/now Part, has been a standard since that time.
But even back to the very first Motif, AWM2 Drum Kits have always featured 73 Elements; one per Key, C0 thru C6.
In the MONTAGE you had 8 Elements per Normal AWM2 Part… each of which had a radio button to show Element activity.
You had 73 Elements in a Drum AWM2 Part… of which 8 had a radio button to show Element activity. They are as follows:
BD, SN, HHC, HHP, HHO, LT, HT, CC
BassDrum = C1
SnareDrum = D1
Hihat closed = F#1
Hihat pedal = G#1
Hihat open = A#1
Low Tom = A1
High Tom = D2
Crash Cym = C#2
Although the Drum Kits have 73 Elements you don’t get to view them all together… you can view a screen which shows radio button activity of what are considered the ‘principal drums’ within the Kit. (Should sound familiar). The principal drums are the ones that give the Kit its name…
You’re right no one would really care but programmers (possibly)…
Would you happen to have any insight into what parameters, other than ELEMENT COUNT, listed in those 'part common' tables are NOT applicable to drum parts?
Page 230 is just the 'TwoByte' table and it lises a half dozen things with notes that say "Not available for Drum Part' but the element count isn't one of them.
,The 'OneByte' table on page 229 has some notes that say 'not drum' also but not the parms for all of the 'Receive' and 'Transmit' parms for the controllers and assign knobs.
I'm just trying to accurately list the parms and values for each part type: AWM2, FM, DRUM, VA.
I understand getting spooked but there's lots of docs (including Montage classic) that have errors and are never corrected. The checksum calculation in the last gen comes to mind. Plenty of other holes.
The programmers run into these small stumbling blocks then use observed behavior to fill in the gaps. Often it's not a huge leap so the hit on productivity is minimal.
I take it you discovered a need for another:
"Not
available for
Drum Part"
No biggie for that one. You're probably going to find more varied problems.
I haven't seen many reported (Yamaha synth) documentation errors that get corrected. Not agreeing with this - but us programmers need to finish what we're doing and that doesn't happen when waiting for docs to (maybe never) get scrubbed.
So although I agree with the utopian view, we have to often settle for reality.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R