mySoftware [Updates]

Once you create a user profile on Motifator and update with the appropriate information, the updates shown here will be specific to you.

newProducts [YOK]

rssFeeds [Syndicate]


Old Motifator threads are available in the Archive.

Viewing topic "bank/pc irregularities and incompatibility to Motif-XS"

Posted on: May 08, 2021 @ 02:29 AM
Total Posts:  1
Joined  05-08-2021
status: Newcomer

Hello, I recently tried to analyze datalists of MX## and Motif-XS, particulary Motif-Rack XS, to COMPARE the sounds on both of them and by parsing datalists voice tables, and sampling examples of both synths, I found that despite mentioned basing of MX on older Motif-XS, there are FEW irregularities, which effectivelly make bank/pc between the two incompatible - its interesting WHY this happened, if it was somehow intentional or so, I am interested in history of development of MX-series in fact. Somewhere was told that MX has half the ROM (MX 170M, where XS has 350M approx), but that MX IS simply based on Motif XS sounds and ENGINE. So this lead me to comparing the datalists by my scripting java tools. Basically I found something like this, having MX as primary and diffs in voice table pointing to XS voices. Here are the “split points” which make both in fact incompatible because of FEW voices added/missing on both of them… What drives me crazy is WHY the hell yamaha changes both lists so weird way, that Bank/PC simply dont match :) Knows anybody something about this? Is the SW/FW engine really the same or is it somehow new re-implementation? (I expect its DSP/MCU software based anyway in used chips - truth is that MX has digital io/out through USB and probably better DA convertors, maybe 24bit as there seems to be lower noise floor even on analog outputs against 10 years older Motif-XS and both sounds almost identically or may be MX even better/brighter, despite half the sample ROM??). Just interesting thing :-) Thanks

//set PC irregularities offsets
if (line.equals("63/0/79")) diff=+1;
if (line.equals("63/0/91")) diff=0;
if (line.equals("63/1/57")) diff=-1;
if (line.equals("63/1/69")) diff=0;
if (line.equals("63/2/1")) diff=+2;
if (line.equals("63/4/73")) diff=+1;
if (line.equals("63/4/83")) diff=0;
if (line.equals("63/6/76")) diff=-2;

if (line.equals("63/32/1")) diff=0;
if (line.equals("63/32/49")) diff=+1;
if (line.equals("63/32/54")) diff=+4;

  [ Ignore ]