I saved an old .x4a file (guaranteed without samples) from MOX in MOXF as a .x6a file (still without samples) and then loaded it into MODX. This works without problems, except that at the end of the loading process I get the error message "some keybanks are not loaded". But this has no influence on the performances, they work flawlessly. Of course, this has no effect on the sample memory, which remains unchanged.
Then I import 128 performances from the loaded library into the user memory, and save it as a new library. When I then load this new library back into MODX, no more error messages appear, but the sample memory is reduced by about 120 MB. I only noticed this because I did it again with a second file, and then the sample memory was full (I already had about 790 MB in it before).
How can that be? Which samples does MODX store in the library that were not needed by the library before?
How can that be? Which samples does MODX store in the library that were not needed by the library before?
I feel like this is one of those Mensa teaser questions in the Airline Magazines... err, none, because there are no samples in the MOX data. Right?
What most likely happened is that your instrument had 120MB of data in the USER designated Waveform memory area, that at some point was purged. It is removed whenever you load data to USER.
Did you start with an initialized User area?
Or did you begin without paying attention to what was in User when you started?
I’m guessing, because we cannot verify what the conditions were... did the MOXF have Waveforms in memory when you converted the MOX data (even Waveforms not associated with User Voices are loaded by MODX... in other words a Waveform used in a Song or Patter (called a SP or “Sample Voice” or can be an MV “Mixing Voice”)... the MOXF is another potential *wildcard*. (Although if you loaded as an ALL file that should overrule this issue).
Also the MODX seems to handle Waveform data dynamically... have you ever optimized the Flash?... at some point it must report just writeable memory (contiguous space) after optimizing I’m sure it reports a different amount. If you had 790MB in Flash, it was juggling memory at some point.
Again, I am guessing because the MODX does the management of the Waveform and Samples hidden from the User... and it seems to allocate memory for whatever tasks you ask it to do. Where it keeps things (temporarily) and what it reports as available Memory is based on stuff it keeps catalogued. If tagged as a User Waveform, the data remains in memory between power cycles, but is purged when new User data is loaded. I’m thinking the difference you are seeing has something to do with that.
Hi Phil,
thank you for your efforts.
Here are a few additions to illustrate the problem:
1. Of course I deleted all performances in the user memory of MODX before the whole action.
2. The x6a file was created in MOXF without waveforms and samples. It is exactly 2782 kByte in size, in it 120 MByte of samples can hardly hide.
3. There is no change of the free capacity of the sample memory of the MODX by loading the x6a file.
4. All voices of the loaded x6a file work perfectly in MODX.
5. The MODX library created from the x6a file is 124 MByte (!) in size.
The only reason I wanted to convert the loaded x6a file into a MODX library is that I only need 128 voices from the x6a file, so 256 are unnecessary. However, if the result of this conversion is 120 MByte of occupied sample memory, I prefer to keep the unnecessary 256 MOXF voices.
You asked "have you ever optimized the Flash? ..."
I found no function in the manual to optimize the flash, only to delete and reload everything again.Is that what you mean?
Thank you and have a nice day
When I read your original post and saw:
"some keybanks are not loaded"
I thought this was inconsistent with the assertion that the data had no samples. Keybanks are part of Waveforms which implies samples. Your other observations (that the sample memory doesn't increase after the load) is consistent with your theory that 120MB of data didn't come from the original file. However, it's not exactly consistent that NO samples were in the original data, as the error message refutes this.
(@Rainer) I'm not sure what's going on, but there seem to be some incorrect assumptions. It may be good to walk through this with BM and be open to feedback.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
Ok. I see, at the moment nobody seems to have a solution for the problem: MODX creates a 124 MB library from a 2.8 MB x6a file (without waveforms and samples), which occupies 120 MB of sample memory when reloading it.
The question remains: is there a function to optimize the flash memory (see Bad Mister's answer), that I can't find? Or do I just have to delete everything and load it again?
Greetings
The question remains: is there a function to optimize the flash memory (see Bad Mister's answer), that I can't find?
Yes. There is... it’s the *JOB* found when looking at your “Waveform” Folder. It appears when you data if fragmented.
Yes, I would definitely recommend that you delete it and try again. When your reaction is “Of course I deleted...” then we’ll assume you know what your doing but since we cannot duplicate your experience, and you are the only one with the data in question, of course, there is nothing more we can do but wait for you to delete it all and try again. Let us know.
If you’d like someone else to attempt what you’re doing - layout exactly what you are attempting.
Here’s what I did:
I took an old .X4A File, loaded it into a MOXF, saved it as a .X6A File
Loaded that .X6A File to MODX USER Bank using “Import Option = Voice” creating 416 Single Part Performances.
The “Data Utility” > “Waveform” Folder reports 0.0bytes out of 1.0GB.
Saved the data in a MODX .X8U File.
I then loaded that same .X6A File to MODX User Bank using “Import Option = Perf” creating 256 Multi Part Performances
The “Data Utility” > “Waveform” Folder reports 0.0bytes out of 1.0GB
I cannot verify your results. Let us know what happens if/when you retry.
All right. But I cannot delete and reload everything until the weekend. I will then report again
Hello again,
So, I've been experimenting and... the problem is solved. Heureka. My steps in detail:
First, in MODX I cleared the entire user memory and deleted all libraries. Sample memory is empty (0.0B of 1.0GB)
1. I loaded the old library created from the x6a file. Afterwards 126 MB of the sample memory are occupied. However, not a single sample file is displayed, so it is not possible to delete a sample. "Optimize" does not change the allocation of the sample memory.
2. I deleted the loaded library. The sample memory is empty again (0.0B of 1.0GB).
3. loaded the x6a file with the "voice" option. At the end of the loading process the error message "Some keybanks were not loaded" is shown. But there are 420 performances loaded. The sample memory is still empty (0.0B of 1.0GB).
4. I imported 100 performances from the x6a file into the user memory. The user memory then contains 100 performances. The sample memory is still empty.
5. I saved the user memory as a library file. This time the saving process was lightning fast, and the library file is only 660 kByte (first time ca. 124 MB)
6. I deleted the x6a file from the library, loaded the newly created library. The library contains the 100 performances. The sample memory is still empty.
The problem is solved, it does not occur again. The only difference when creating the library file was that the sample memory was completely empty and not already filled with samples from other libraries.
If you are interested, I can provide you with the x6a file or the two library files.
Have a nice day
November the 1st is a church holiday in Germany: "All Saints' Day", in other words, quite an uneventful day. What could be better on such a day than to experiment with your MODX 😀 .
Greetings
Agreed, it is always a good time to experiment with Synthesizer!
I don’t believe there ever was a problem. Although you thought you started with an empty User Waveform area, there were in fact, 120MB in memory. Glad you got it sorted! It would be very unusual, indeed, for your instrument to just create 120MB of Data out of nowhere.
Please make the distinction between User Waveforms and Library Waveforms.
User Waveform memory is overwritten each time you load a new .X8U file.
Library Waveform memory cannot be overwritten by a Load operation.
When “Library Import” is used, the Single Part Performances will make additions to the Data already in the User Waveform area... adding them to the lowest numbered empty location. This is how you can ADD to a Waveform Bank (without overwriting existing data).
In the future, you will know to check the current contents of the USER WAVEFORM area:
[UTILITY] > “Contents” > “Data Utility” > Touch the “Waveform” Folder to view the contents currently designated User Waveforms.
Alternatively, you could use [CATEGORY] to search for User Bank Waveforms:
Press [CATEGORY]
Touch “Init” > “Init Normal (AWM2)” > Enter
Press [EDIT]
Touch the blue box in the lower left corner to *select* “Part 1” > Exit
Touch “Elem1” to view the “Osc/Tune” screen
Here is where an Element points to a Waveform (the tire meets the road)
Touch the “Bank” to view the pop-in menu
Touch “Category Search”
Now you can look through all “Preset” Waveforms, “User Waveforms”, Waveforms you have installed to Flash Libraries...