Synth Forum

Notifications
Clear all

Waveforms dissapeared in user area after deleting library

12 Posts
3 Users
0 Reactions
3,010 Views
Posts: 23
Eminent Member
Topic starter
 

So I imported about 300 performances from 3 different moxf "all" libraries. During the import I had a few difficulties.

1. A few performances would not import with a "no data" message appearing. I had to access the performance pointing to the one in the lib and then "store" it as a new performance via the store button. That was the only way to get it into the user area from the lib.

2. Some waveforms (just 1 or 2) do not play over the entire keyrange that they did in the original moxf voice.

I decided to delete the three "temp" libraries and then found that all my waveforms/samples had disappeared. I thought they were attached to their performances in the user area. The utility now shows 0 bytes of data.

For the record I am using the latest firmware 1.10.

Before I go through this again, I want to understand more about the waveform storage.

Thanks,

Mitch

 
Posted : 04/10/2018 1:22 am
Jason
Posts: 8236
Illustrious Member
 

How data is shuffled around your MODX is important to grasp.

I'm not going to really address your "No Data" error right now. More important is understanding how the file system generally works - ignoring error corner-cases.

If you decide to load content with samples ("Waveforms" ) into a library slot, then the sample is going to exist in the library memory area.

There IS a way to transfer a Performance (WITH Waveform) FROM your library memory area TO your user memory area. [STORE] is the wrong way to do this. When you use [STORE], it will take your parameters (NOT your Waveform) and store them into a user performance. IF you are [STORE]'ing a Performance that is in your Library area (and the associated Waveform is inside your Library area) - then the [STORE] will NOT copy the Waveform. Instead the new [STORE]'d copy of the Performance will "point" to the Library slot Waveform. The Waveform will stay in the library area. Therefore, the Library Performance has to stay in-tact in order for your [STORE]'d copy of the Performance to keep its associated Waveform. If you delete the Library where the Waveform for your [STORE]'d User Performance copy lives - then this will "break" your user copy that was [STORE]'d.

In order to copy the Waveform from the Library area to the User area, you have to do something called an Import. Importing Performances from the library area will copy the parameters AND the associated Waveform(s) and make a copy of this Performance which does not rely on the Library anymore. You can, after import, delete the source Library -- the "import" copied user Performance will have its own Waveform in the user area and will be fine after deleting the Library.

See this post for more info on Library Import: https://www.yamahasynth.com/ask-a-question/migrating-moxf-data-to-modx-architecture#reply-73066

Once you get this sorted out - most of your issues will go away.

Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R

 
Posted : 04/10/2018 6:01 am
Posts: 23
Eminent Member
Topic starter
 

So to be clear.

I did use the import function to assemble my user area performances from the various libraries. I then thought I would do some housekeeping and I deleted the library folders. It was after that I realized all performances which had contained waveform data were not playing their samples. I then checked the waveform memory usage via the utility and saw that it was at 0%.
I only stored the 1 or 2 programs which did not import due to the "no data" message. These had no waveforms/samples anyway.

 
Posted : 04/10/2018 11:19 am
Bad Mister
Posts: 12303
 

So to be clear.

I did use the import function to assemble my user area performances from the various libraries.

Please outline how you used the “import function”. As there are two different IMPORT functions it is not really clear from what you wrote which one you are referring to or even if you are aware that there are two different "import" functions

Explanation:
Just so you know, when you setup to Load from a .X6A File you set an “Import Option” which allows you to select “Voice” or “Performances”.
We assume you opted for “Perf”.
We also assume you loaded these as either a USER FILE or LIBRARY FILE.

Critical information ... missing from your original post.

Let’s assume you used the “Contents Type” = Library File (you would load to Library (temporarily) when assembling new data into your own custom setups)
If that is the case, do not remove the Library until you have additionally use the “LIBRARY IMPORT” function.

This is a different/separate routine.

Here’s what it does:
When you loaded the data to a Library location... if you were to look at any of the program’s Element screen, you would see that the custom Waveforms are listed under the Bank name of that File. See example below:

you get here from the HOME screen by Press [EDIT] > Press [PART SELECT x] to select an individual PART > touch "Elem1" to view the "Osc/Tune" screen (shown above).
Here I have loaded data to a Library (the Library is named “Blueman” in this example. You can see that the Waveform is “installed” in the Flash area designated “Blueman”

After using the the [UTILITY] > “Contents” > “Library Import” Function... to move the data from the Library to the User Bank (I went through the loaded sounds, decided and marked all of items from that Library I want to “keep”. By selecting (check mark) all of the items I wish to import from this Library, the instrument will analyze and prevent duplicates. So it pays to play through them all and mark the ones you want all in one operation.

Once I touch the box “Import to User Bank” - significantly it copies all the necessary Waveforms and repoints all the Elements to the copies; now listed as being a Waveform in the “USER”Bank. Very important... only now can you Delete the (temporary) Library, not before. Notice the Performance is copied to the User Bank (using the LIBRARY IMPORT feature), and the Element now “points” to a copy of the Waveform data now in the User Bank!

Notice that when this LIBRARY IMPORT is done, your newly added Waveforms (now in USER) are added to the lowest numbered empty location in the USER BANK. Where in my example, the Waveform named "PVC A" was Waveform 1 in the "Blueman" Library... it is now "PVC A" Waveform 7 in the User Bank.

I can play it, edit it and store it. I can, now that I have the data in USER, DELETE the Blueman Library...

No you cannot just STORE a Library installed sound to USER, that does not 'repoint' any of the Waveforms. In order for this to take place you must use the LIBRARY IMPORT function!

EXTRA CREDIT:
The USER Bank should be thought of as your assembly area... You can Load data directly there and/or you can use the Library Import to move your data there.
If you LOAD directly to the USER BANK - like your MOXF when you load an ALL data file, you overwrite what is in there. This is why initially loading to a LIBRARY allows you to NOT overwrite what is in the USER - so this is the method to assemble data. When I use Library Import it does not overwrite, it rather adds to the data already in the USER Bank.

Hope that helps. Knowing what the MODX is doing will help you avoid DELETING data prematurely.

 
Posted : 04/10/2018 12:58 pm
Posts: 23
Eminent Member
Topic starter
 

Hi Phil,

My workflow was the same as your example. I selected my keepers after auditioning them. I used the library import function as you described. I did this for desired performances from 3 different loaded libraries in order to assemble my user area with all the performances I wanted to keep. My plan was to create a new lib based on the user area files so It was at this point i thought I might do some housekeeping and delete the libraries that were the result of my all file loads thinking that the waveforms in the user area would be unaffected..I gather from your posts that this is what should have happened, but for some reason I did lose my samples in the user area.

I plan to load my all file again and repeat the import of the 6-12 performances that contain waveforms so I will post back if this happens again.

 
Posted : 04/10/2018 1:21 pm
Bad Mister
Posts: 12303
 

Did you verify that the Waveforms were pointing to the User Bank?

 
Posted : 04/10/2018 3:08 pm
Posts: 23
Eminent Member
Topic starter
 

Phil,

I didn't prior to deleting the libraries. I will check tonight when I get home to see where the waveforms are currently pointing to and get back to you.

 
Posted : 04/10/2018 3:42 pm
Jason
Posts: 8236
Illustrious Member
 

Thanks for the clarification. I understand you only [STORE]'d the few Performances which had an error importing. Certainly if those Performances had Waveforms - then deleting the Library would delete the associated Waveforms (because you couldn't import the Waveforms to the user area).

The "No Data" error has been flagged by Easysounds, as one example, as a Performance with orphan arpeggio data. The original programmer referenced some arpeggio - but the released Performance no longer had the arpeggio in the set. This caused a "No Data" error and Easysounds eventually released a new version without this issue. You may want to check if any of the content you are trying to load has updates. I'm not saying this is even your issue - just passing information along which aligns with the error you have seen.

When converting material from previous generations - Montage has shown (and MODX should inherit the same limitation) that the converter cannot handle LPC, WXC, or 8-bit data. The LPC/WXC formats are common with promotional (free) releases in the past -- and there are popular sets which cannot be converted. If you try to, some of the Performances will work and some will not. The behavior you report sounds like it could be this kind of issue. There is not a fix. You would have to ask the original content providers to provide an update.

User content (content created using the keyboard itself - even MOXF, Motif XF, etc) does not save as LPC or WXC or 8-bit encoding. Therefore, in general, there is not a problem converting supported file formats over to MODX. LPC/WXC is also claimed not to be used by commercial paid-for sets.

Inspiration In A Flash is an example of a set which does not properly convert due to many items saved in the incompatible format.

I would hope that trying to load one of those sets would give you a clear message "Cannot Convert Unsupported Sample Encoding". This would clue you in on what happened (if this was the case) when there seems to be parts that do not sound.

Could be something else - I'm outlining possibilities from past known issues.

Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R

 
Posted : 04/10/2018 7:42 pm
Posts: 23
Eminent Member
Topic starter
 

okay..With a clear head I loaded a MOXF all file into a lib. When I pull up Utility/data contents and click on the lib folder, I see all my performances. I scrolled over to one of the performances which contains parts which have waveforms/sample data.
1. I selected it and pressed import to user bank.
2. I did a category search of user area and located the performance. I selected it and hit performance button on front panel
3. I play my performance and hear the samples. I pressed edit, selected part 3 and see the correct name of my performance part (which used to be a voice)
4. I press the element which lights up when I hear my sample played on the keyboard. The bank is pointing to lib file and not user!!!

I'm stumped...

 
Posted : 05/10/2018 2:50 am
Bad Mister
Posts: 12303
 

I love a mystery...

If I follow what you wrote step by step, I don’t see where you went to

[UTILITY] > “Contents” > “Library Import”

If I follow what you wrote I don’t ever see “Library Import”
You seem to skip a step although it could just be how you wrote it.

“When I pull up Utility/data contents and click on the lib folder, I see all my performances. I scrolled over to one of the performances which contains parts which have waveforms/sample data.
1. I selected it and pressed import to user bank.”

If I follow that I don’t get to Import anything - let us know, did you actually touch “Library Import” at some point...

Let’s go with you actually did use the “Library Import”... that being the case, then this means the “Library Import” did not repoint the Elements located inside a MOXF Performance. I will have to look into this, I don’t have any MOXF Performances with custom Waveforms to test (shouldn’t be too hard to build). I assumed you set the initial load to load “Perf” - and that must be the difference ... I will need to test whether initially setting “Import Option” to load “Perf” is the different. I realize now that in my example the initial load was set to “Voice” and thinking about it, that is a major difference. (The documentation does not indicate that selecting “Perf” when initially loading the .X6A, it does not import the custom Waveforms in a way that lets you later use “Library Import”... hmm!?! How does it know?) but apparently it does...

Tested this, and here’s what I found... (there is good news... and you were not seeing things!

If your custom Waveform data is within a MOXF (or Motif XF) Performance, when you Load the .X6A (or .X3A) File to MODX, you cannot Load it directly to a Library, if you intend to use “Library Import”... it does not repoint the Elements. (Verified, you are correct) That being the case... here’s how to proceed.

In order to have the MODX convert the data within a Performance properly, you must initially Load the “Perf” Data as a USER File
That is, press [UTILITY] > “Contents” > ”Load” > Set “Content Type” = USER FILE > touch “Import Option” = Perf
Now when the MODX converts the data it will write it properly finding all the Elements using custom Waveforms and properly writing them to internal.

(Apparently, you cannot use the shortcut that bypasses the User area when converting MOXF Performances... you must allow the MODX to convert the Perf data directly to the User Bank. As to why that is... I’ll put that on a list of questions for engineering)

Thank you for finding that, hope the work around is not too inconvenient.
Seems that they intend for you to convert the legacy Performances by loading them directly to USER... that works.

 
Posted : 05/10/2018 5:28 am
Posts: 23
Eminent Member
Topic starter
 

Phil,

Thank you for pursuing the issue. Does the following strategy sound like an efficient plan?

1. Save current user area as library onto USB since I have made some edits to some non waveform performances I would eventually like to have back in my final user area.
2. Initialize user area.
3. Load my MOXF "all" file to user area directly as performances.
4. Delete undesired performances.
5. Load library from step 1
6. Import the performances that I want into user area and delete the now duplicate performances that came in via moxf load.
7. Save user area as a library file on USB.

This brings up a workflow question for you. I have 2 MODX's. One for home and one for stage. I design my sounds at home and then bring a flash drive to the gig where I will load the new sounds onto the stage unit during sound check.
When I did this with the MOXF, I could quickly select certain voices/performances out of the all file and update the stage unit fairly quickly. Load voices, load performances (which point to those voices) and update master mode.

Now with the MODX I will have to load a saved lib file from the home modx to load into the stage modx. I assume it will take a lot to time to load as it will presumably have all the samples from user area. (Anyway to save w/o sample data?)
I will then have to import to user bank the desired performances. Does this procedure make sense or is there a more efficient way to accomplish this?

Also during the process of selecting, auditioning and importing performances to user area, it sure would be nice to be able to play the sound of the performance that I am thinking of selecting right there in the utility page rather than having
to hit the performance (home) front panel button and then go back to utility page.

 
Posted : 05/10/2018 11:48 am
Bad Mister
Posts: 12303
 

Thank you for pursuing the issue. Does the following strategy sound like an efficient plan?

1. Save current user area as library onto USB since I have made some edits to some non waveform performances I would eventually like to have back in my final user area.
2. Initialize user area.
3. Load my MOXF "all" file to user area directly as performances.
4. Delete undesired performances.
5. Load library from step 1
6. Import the performances that I want into user area and delete the now duplicate performances that came in via moxf load.
7. Save user area as a library file on USB.

Yes, indeed.

This brings up a workflow question for you. I have 2 MODX's. One for home and one for stage. I design my sounds at home and then bring a flash drive to the gig where I will load the new sounds onto the stage unit during sound check.
When I did this with the MOXF, I could quickly select certain voices/performances out of the all file and update the stage unit fairly quickly. Load voices, load performances (which point to those voices) and update master mode.

The concept in MODX is whenever you load the data you’ll have every thing it needs to sound properly.

If you change or add a new LIBRARY to your home unit, that is when you must create a BACKUP FILE .X8A to take with you... use that file to synchronize your stage unit. That would be the only time you’d need to do that.

Loading User Files .X8U will never be terribly long, so synchronizing your stage unit’s User Bank data will be very efficient.
If you add new Songs to your home unit, you can simply load them to the stage unit as .mid Files (this adds them to your Song Folder)

Now with the MODX I will have to load a saved lib file from the home modx to load into the stage modx. I assume it will take a lot to time to load as it will presumably have all the samples from user area. (Anyway to save w/o sample data?)
I will then have to import to user bank the desired performances. Does this procedure make sense or is there a more efficient way to accomplish this?

As you’ll come to appreciate, there is no “w/o sample” option, but there is an equivalent situation.
Again, the concept is whenever you load the data you’ll have everything it needs to sound.

Notice, it is possible to create a User Performance where the Waveform data is accessed from any of your Waveform ROM (Preset, or Library) not just User... since the LIBRARY in each of your two units is an identical LIBRARY, when you create a Performance which has Parts that point to a Waveform already in ROM, the save/load time is extremely efficient (the equivalent to “w/o sample”).

To be clear: the only time you need to be concerned with your Elements pointing to a USER Bank location is when you are actively assembling a new Library from a temporarily installed Library. (“Library Import”)

Say you are at home working on new setups... and you create a variation of the “CFX Concert” Preset, which you edit and rename “My CFX Concert”, stored to your User File .X8U. When you take that file to the stage unit, naturally it loads and plays... no Waveform/Sample data had to be saved or moved.

Say you are at home working on new setups... and you create a variation of the “Imperial Grand” Piano from the Bosendorfer Library, which you edit and rename “My Bozy Grand”, stored to your User File .X8U. When you take that file to the stage unit, it loads and plays... no Waveform/Sample data had to be saved or moved. Why? Because not only are the Factory ROM Waveforms the same in each instrument, the Library ROM Waveforms are the same in each. (You would not use “Library Import” in this case because you are not assembling a new Library, nor are you replacing a temporary Library).

So when your User Performances, reference your Library Data, no Waveforms/Samples are written to that User File. Make sense?

Also during the process of selecting, auditioning and importing performances to user area, it sure would be nice to be able to play the sound of the performance that I am thinking of selecting right there in the utility page rather than having
to hit the performance (home) front panel button and then go back to utility page.

Sorry, looking through the catalog of titles does not load them to the playable edit buffer (I’m sure there is a reason). That is not how it works.

Here’s a workflow suggestion.

In a case where you are actually assembling a new Library from existing Library data (that’s exactly when you’d be using “Library Import”)... I find this a good use for the Favorite marker. Press [CATEGORY] > Set the Bank to the Library in question > as you go through the sound “Set” those you want as Favorite.

Now when you tackle the task of marking the ones you wish to Import, you can sort the Favorites alphabetically.
This eases the task of finding them on the “Library Import” screen
Not a perfect solution but does speed the process a whole bunch.

Hope that helps.

 
Posted : 06/10/2018 10:21 pm
Share:

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