Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AMEM #5

Open
probonopd opened this issue Nov 12, 2023 · 8 comments
Open

AMEM #5

probonopd opened this issue Nov 12, 2023 · 8 comments
Assignees

Comments

@probonopd
Copy link
Contributor

From #3

Dunno if it is worth to convert without AMEM. AMEM contains the controller settings (ModWheel, BreathController etc.), portamento settings, poly/mono...

Let's also convert AMEM and put its keys and values into the converted performance; that way, the MiniDexed developers have a target to work against :-)

@BobanSpasic
Copy link
Owner

I think you didn't understand me...
The converter does make use of a subset of AMEM, that what MiniDexed implements at the moment.
The files from YamahaBlackBoxes site do NOT contain the AMEM section, and that was the problem. The files from that site are not DX7II dumps, but pure DX7 dumps.

DX7 Voice (VMEM) bulk dump = 4104 bytes
DX7II Voice + Supplement (VMEM+AMEM) bulk dump = 4104 + 1135 = 5239 bytes
DX7II Performance (PMEM) bulk dump = 1650 bytes

Files bigger than the sizes above are probably a combination of multiple dumps in one file.

The converter can convert (to performance.ini):

  • DX7II Voice + Supplement
  • DX7II Voice + Supplement + DX7II Performance
  • TX7 and DX5 conversion (no AMEM here, but TX7 PMEM contains the parameters that we need)

The converter can also convert (implemented today, but it does not make much sense because we only get dual/split and detune parameters, but nothing about modulations from controllers):

  • DX7 Voice + DX7II Performance (that's what you get from yamahablackboxes website)

TX7/DX5 PMEM and DX7II PMEM are totally different stories. TX7 PMEM contains a lot of parameters from the DX7II AMEM

@probonopd
Copy link
Contributor Author

Now I understand, thanks for the clarification. So we need to find DX7II dumps that include AMEM.

@BobanSpasic
Copy link
Owner

I found some in BlackWinny collection (Bo Tomlyn, Michael Boddicker, Ten No Maki, Chi No Maki), but not the Yamaha originals

@probonopd
Copy link
Contributor Author

asb2m10/dexed#165 (comment) talks about the AMEM, is it contained in the zip there?

@BobanSpasic
Copy link
Owner

BobanSpasic commented Nov 12, 2023

Looks good:

DX7II Voice Bank Supplement - AMEM at position 16178
Calculated data size: 1120
Real data size: 1120
Checksum match
DX7/DX9 Voice Bank - VMEM at position 17306
Calculated data size: 4096
Real data size: 4096
Checksum match

@probonopd
Copy link
Contributor Author

probonopd commented Nov 12, 2023

The converter does make use of a subset of AMEM, that what MiniDexed implements at the moment.

It would be good if it would convert all AMEM parameters, just invent some names for the keys and put #TODO: in front.

This will increase the chances that MiniDexed will support more eventually.

@BobanSpasic
Copy link
Owner

It is a huge task. I can't do it in one evening, but I'll go for it in the near future.
My biggest problem is the non-standard format of INI files that MiniDexed is using.
Standard INI files have sections, and one can easily put a new entry in a section. The newly added line goes at the end of the section, but not at the end of the file. So, having sections [TG1], [TG2],...,[Effects] would make everything easier.
With INI format used by MiniDexed, one must create the file in one go, no later additions to the file are easy to do.

Explained other way around - MiniDexed INI-files are not suitable to write an unknown number of parameters. You need to know all the parameters you'll need before you create an empty INI file.

@probonopd
Copy link
Contributor Author

So, having sections [TG1], [TG2],...,[Effects] would make everything easier.

I agree... maybe we should implement that first?

@BobanSpasic BobanSpasic self-assigned this Dec 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants