Synth Forum

Notifications
Clear all

MODX Library Management Reference Materials

15 Posts
5 Users
0 Likes
7,094 Views
Posts: 0
Active Member
Topic starter
 

Hi all - can anyone point me to articles or posts that explain more about libraries, user memory, etc and management of this? MODX is fundamentally different than my other Yamaha boards. I read the User Manual and Ref manual sections related to loading files etc - it doen’t answer many of my questions. I don’t want to pepper the board with questions if material is already here but short version of my first “task”

- I own both Motif XF and MOXF, and have/use User Voices and Performances
- MOXF library conssists of the XF library plus some additional work I did after transferring to MOXF
- hence these two sets are 90% redundant, 10%

I want to prevent redundant duplication of the same Voices and Performances that are common between two. How to combine libraries, move libraries to User locations, etc . - not clearly explained for my thick head to understand ...

 
Posted : 11/10/2018 1:01 pm
Posts: 0
Active Member
 

Hello,the MODX has the same file management as the Montage, i too was a little confused when i first got the Montage.
https://www.yamahasynth.com/yamaha-synth-rss/user-and-library
http://www.moessieurs.com/library-base-montage.html
http://www.moessieurs.com/assembly_files-montage.html
You can also search in the Montage forums if the article doesn't sort you out.

 
Posted : 11/10/2018 2:57 pm
Posts: 0
Active Member
Topic starter
 

Thanks Marius! i'll read these and come back if still confused.
Do Library files in the keyboard consume user Flash space - or is it only if/when they are installed into user memory?

 
Posted : 11/10/2018 3:22 pm
Jason
Posts: 7917
Illustrious Member
 

Flash memory is shared between user and library areas. There's 1.0GB of flash available for custom performances (user + library). If your content does not have custom samples and only leverages internal sounds (preset Waveforms) - the flash memory, regardless of location (user or library) will hardly be consumed.

Even libraries or user bank content that use custom Waveforms may not be "large" and consume little. Commercial libraries have, for the most part, their size and resource requirements published online at Yamahamusicsoft.

To drive the point home - if you installed a Library that was 500MB into a Library bank and the MODX was previously "emtpy" - then the flash would be 1/2 way consumed (500MB used, 500MB free). If you imported (import brings in all Waveforms/samples) that same content from the Library area to your user area then there would be 2 copies (one in Library, one in user). In this case, flash memory would be 100% used. If you then deleted your Library - so now only the user bank was used - then your instrument would have 500MB used and 500MB free (no difference as the same content being exclusively in the Library area).

The functional difference between the two areas (user, library) for you would be how each area can be manipulated. Each library can only be changed in its entirety. You cannot delete individual performances within a library - you can only delete the entire library. You cannot add one Performance to an existing library. Libraries can only be installed, deleted, or created. Libraries cannot be edited on MODX.

The user area, unlike library area, can be edited. Individual Performances can be added, deleted, or edited within the user area.

In order to create a new library on MODX - you would turn your user area into a library.

With these rules - if you wanted to add one Performance to a library you would:

1) Install library to a library slot (the one you want to add to)
2) Backup then clear the user area so it is empty
3) Create the one user Performance you want to add to the library (eventually) in the user area. The user area now has one Performance you want to add to the installed library.
4) Import the entire Library you installed in step 1 to the user area. The act of "import" does not overwrite the user area. It will make sure all necessary content in the library, including custom waveforms, are copied (imported) into the user area.
5) Create a new library from the user area. This new library will be the original one plus the one (in this example) user Performance you wanted to add.
6) Delete the previous library
7) Install the new library

 
Posted : 11/10/2018 8:30 pm
Posts: 0
Active Member
Topic starter
 

Thanks Jason.- this is very helpful. Another basic question set as I’m going to try my first imports this weekend

I have a Motif XF library that consists of, lets say 300 User Voices and 130 User Performances.
- The Performances point to both User Voices and Preset Voices.
- A subset of User Voices utilize user waveforms. Approx 200MB
- I have one User Drum that is mapped to a user waveform sample I use

What’s the best way tto load this data set so I have both all of the User Voices and Performances but don’t duplicate user waveforms - or is that not possible to avoid. In prior Yamaha boards, the Voice is only saved once, and as many Performaces point to it as needed but my understanding of MODX is each Performance contains a full version of it? Maybe its just the Voice data (now Part data) but not duplicate waveforms?

I might import the MOXF library instead. As per my OP, its 90% the same with some differences. It was designed for 61 key but it is probably easier (faster) to re-layout splits and zones than create the missing Voices and Performances.

Come to think of it - the majority of the user waveforms is a piano library - but the MODX stock piano is already better - I may switch all those Performances to a preset AP before I transfer, then switch them to MODX AP once there.

 
Posted : 12/10/2018 11:58 pm
Jason
Posts: 7917
Illustrious Member
 

Depends. If your Performances are what you use (Motif XF) then just import Performances. All voice content will automatically be pulled in. You just won't have the scaled-down voices. If there are voices that are not used in any XF Performance, you may want to load the voices. Depends.

 
Posted : 13/10/2018 2:47 pm
Posts: 0
Active Member
Topic starter
 

Depends. If your Performances are what you use (Motif XF) then just import Performances. All voice content will automatically be pulled in. You just won't have the scaled-down voices. If there are voices that are not used in any XF Performance, you may want to load the voices. Depends.

its a combination. I have user voices linked to performances, but I also have user voices that are not - that i might want to use later. hence this is my uncertainty. Do i load Performances, then delete all voices associated with these and then load Voices? Doesn't seem to be a way to import XF or MOXF "library" of Voices and Performances?

 
Posted : 13/10/2018 8:59 pm
Jason
Posts: 7917
Illustrious Member
 

I haven't done any loading since the option to load either Performance or Voice data was added. Therefore, I'm not sure what is "handled" for you. Not knowing, I can just say what will work - but may be more steps than needed:

1) Load voices
2) Delete all voices except the ones not used in Performances - ensure your user area is empty except for these few converted voices - can create a library of these voices
3) Load performances
4) Combine converted voices + converted performances using library shuffle techniques (previously discussed)

It would be ideal if one could convert Performances + Orphan Voices so that all of your content would be available in a single conversion step without having to delete a lot of voices that were duplicated inside Performances.

 
Posted : 14/10/2018 5:07 am
Posts: 0
New Member
 

Hello everybody,

I have recently migrated my custom voices and Performances from my MOTIF XS7 to MODX.
I´m using bandhelper app incl. midi presets to trigger program changes on my setup (MODX + Nord Stage 2 + Mainstage/MBP). This works in total well with my current "custom library" on MODX.

Now, I have a question regarding MIDI / details on prog chg messages (MSB LSB data).
The question is: what will happen to MSB / LSB data if I want to add some new custom performances to my created custom library.
As I understood, I would first have to import my custom library data into user storage. Then, create a "new custom library" and re-install it to MODX (this would also mean - deleting the "previous version".

Would this have an impact on MSB / LSB data of the former existing performances of my initial custom library?
Do I have to re-assign midi Presets in bandhelper? If yes, is there a more appropriate way for this process?

Apologize my poor English, I hope you can understand my problem.

Thank you in advance!

Kind Regards
Alex

In order to create a new library on MODX - you would turn your user area into a library.

With these rules - if you wanted to add one Performance to a library you would:

1) Install library to a library slot (the one you want to add to)
2) Backup then clear the user area so it is empty
3) Create the one user Performance you want to add to the library (eventually) in the user area. The user area now has one Performance you want to add to the installed library.
4) Import the entire Library you installed in step 1 to the user area. The act of "import" does not overwrite the user area. It will make sure all necessary content in the library, including custom waveforms, are copied (imported) into the user area.
5) Create a new library from the user area. This new library will be the original one plus the one (in this example) user Performance you wanted to add.
6) Delete the previous library
7) Install the new library

 
Posted : 29/05/2020 10:25 am
Jason
Posts: 7917
Illustrious Member
 

MSB/LSB+PC depends on a few things (for libraries):

1) Which library slot?
2) Order of each performance within the library itself.

You should more-or-less have control over each of these. Placing your new/updated library in the same old slot may involve plugging up holes.

Here's a scenario:

1) You install (load) library "Library1.X8L" into an empty MODX. The first library slot is open so Slot 1 = Library1
2) Then you install "Library2.X8L". MODX picks the next free slot, so Slot 2 = Library2
3) You install "Library3.X8L". MODX picks the next free slot, so Slot 3 = Library3
4) You DELETE Library1 - now the first free slot is Slot 1.
5) You import Library3 - make changes - save it Library3_NEW.X8L
6) You DELETE Library3 - so slot 3 is free (but Slot 1 is free too)
7) You install (load) Library3_NEW.X8L. The first free slot is Slot 1 - so Slot1 = Library3_NEW. Oops! now the MSB/LSB pair is different since Slot 1 was open - it didn't put the library back in slot 3.

A "brute force" way of ensuring a library gets put back into the right library slot is to fill up the library slots completely. You can save an X8L library with essentially no data in it. Just a single FM-X performance (even the same as the initialized FM-X performance with just a pure sine wave) and call the performance "Placeholder". Your user area would have only a single user performance - the "Placeholder" performance. And save this user area to an X8L with the filename "PHOLD.X8L".

Now in the above scenario - if between steps 5 and 6 (before deleting your library you want to replace) you fill up ALL of the open library slots with PHOLD.X8L (basically keep loading until you get a library full error) - then in step 6 when you delete Library 3 - only slot 3 will be open and you can be sure that step 7 will install the library into the correct position. Last, you would delete all of the "PHOLD" libraries to clean up after yourself.

... note if you have no "holes" before the library you're swapping - there's no need to go through all of this. To find out if there are holes - you'll have to look at the properties of any performance in each library slot and look at the MSB/LSB/PC reported to decode which library slot each library name is installed to. By "hole" I mean that there's a free/open library slot between slot 1 and the last occupied library slot. Unfortunately, MODX doesn't show empty slots nor do I think it reports the library slot by number - so you'll need to "math" to figure this out.

#2 is a little easier to deal with. The first steps of this process are to backup your user area (so you don't lose anything - or don't backup if you do not need any of the data or already have a backup and are OK with "lost forever" ) and then initialize (clear) the user area. With a blank user area - when you IMPORT the library and pick every single Performance in the library - the order in the library area should be the same as the order in the library area. So the old data should be "indexed" in the same way as the original library data. Certainly the new performances you add will have new addresses. That's the theory at least. I haven't actually tested it.

 
Posted : 29/05/2020 8:19 pm
Bad Mister
Posts: 12304
 

what will happen to MSB / LSB data if I want to add some new custom performances to my created custom library.
As I understood, I would first have to import my custom library data into user storage. Then, create a "new custom library" and re-install it to MODX (this would also mean - deleting the "previous version".

In order to ‘add some new custom performances’ to any LIBRARY, you basically have to create an entirely new Library. Libraries are in READ ONLY MEMORY, so all you can do is read the data. Think of your Library as a published book. To update it you must create an entirely new edition (and remove the old one from the market).

Would this have an impact on MSB / LSB data of the former existing performances of my initial custom library?

If you create a new Library and DELETE one, the newly created Library will be loaded to the next available Library slot. There are eight Library slots.

You can simply query the MODX Performance as to the MSB/LSB and Program Change Number of the Library location.

__ Each Library Performance will tell you exactly where it is located.
Press [CATEGORY]
Set “Bank/Favorite” to the Library you wish to search
Set the “Attribute” to All (search results will be blue and green signifying Multi and Single Part Performances)
With the search order set to “Default” the programs will be listed from low to high.
Select the first item in the search results

Go to the HOME screen of that Performance
Tap the Performance Name box to see the pop-in menu
Touch “Property”
The MSB 64, LSB xx and Program Number will appear for the selected Library Performance (the LSB will be a number between 40-79)
Selecting a Performance like this changes all Parts.

__ Each Single Part Library Performance that is a complete standalone instrument will tell you exactly where it is located — used when replacing one Part within the currently active Performance.
Press [CATEGORY]
Set “Bank/Favorite” to the Library you wish to search
Set the “Attribute” to Single (search results will be green signifying Single Part Performances)
With the search order set to “Default” the programs will be listed from low to high.
Select the first item in the search results

Go to the HOME screen of that Single Part Performance
Tap the TYPE/NAME box for Part 1 to select the Part and see the pop-in menu
Touch “Property”
The MSB 63, LSB xx and Program Number will appear for the selected Library Performance (the LSB will be a number between 40-79)
Selecting a Single Part Performances will be implemented on the correspondingly numbered MIDI Channel... only the individual Part slot will be affected.

Each Library is made up of 640 Performance locations — 5 banks of 128
There are 8 Library locations... that’s a total of 40 Library banks of 128

Please see the MODX Data List booklet pages 190-191 for a list of MSB/LSB Bank Selects. But knowing you can query the MODX itself, you can know where any of your data is located.

Summary: Technically, you do not add data to an existing Library, you create an entirely new entity. When you install it it will tell you where it placed the data.

 
Posted : 29/05/2020 10:28 pm
Jason
Posts: 7917
Illustrious Member
 

Keep in mind that part of the rub for Alexander was having built a "set list" using external software. The external aware being unaware of what's going on in MODX - all of the pointers are hand assigned in the software - so the desire was to load the modified library into the same slot as the deleted library in order to prevent the library address from moving and invalidating the setlist program's pointers (MSB/LSB).

A generic way to do this is to plug any library holes (if they exist) before your installed library. Such that deleting the library you want to replace makes that library slot the first available slot. And so installing (loading) the new modified library will go into a specific slot (the same one as you deleted).

 
Posted : 30/05/2020 6:52 am
Bad Mister
Posts: 12304
 

Keep in mind... if you build a new Library, you may need to build a new set list.

The elegant way to this is with the John Melas Tools for the MONTAGE/MODX — Otherwise you wind up ‘thinking‘ you have a decision in where things are placed. With the Melas Tools you can involve yourself in where your Library gets installed (which Library slot). The system on the MODX does not let you pick which Library slot the data is housed.

A generic way to do this is to plug any library holes (if they exist) before your installed library. Such that deleting the library you want to replace makes that library slot the first available slot. And so installing (loading) the new modified library will go into a specific slot (the same one as you deleted).

I’m not sure that this guarantees success in all cases. Only then would I recommend it.

Because the Data size of Libraries can vary significantly, I’m not sure (and don’t know how you can be) that the ‘decision’ to place new Library data doesn’t include a prioritization of contiguous space... I’ve not yet figured out what impact the Waveform “Optimize” job has and if the amount of Waveform data in a Library can impact *where* the system determines it will place the new Library. I only know it is not the user’s choice. If in one instance you ‘trick’ it into fitting the new version into the abandoned old library’s slot — I’m not ready to recommend that as a method.
For the user to choose the Library slot I recommend the external editor.

I do know that with the Melas Tools you can place your Library data exactly where you want it — the entire operation can be done offline (external to the synth) — once you place all Library data where you desire, you wind up with a file you can load to your instrument.

 
Posted : 30/05/2020 9:38 am
Posts: 0
New Member
 

Thank you Jason and Bad Mister for your answers.
I will analyse first the structure of my "old" library by using the Melas tool.
As second step, I´ll create a new library (combination of existing and "new" performances) out of USER memory. Then, I´ll compare the "new" structure again.
Last but not least, I´ll delete the old / install the new library - and hoping that mappings will still work 😉 I´ll keep you informed.

 
Posted : 02/06/2020 2:31 pm
Bad Mister
Posts: 12304
 

Please do let us know... there maybe another approach to dealing with new editions to your set list...
Each performers situation can be unique.

 
Posted : 02/06/2020 4:46 pm
Share:

© 2024 Yamaha Corporation of America and Yamaha Corporation. All rights reserved.    Terms of Use | Privacy Policy | Contact Us