Synth Forum

Notifications
Clear all

Help needed ...Exporting User Performances that were Stored but not Imported into the User area

10 Posts
3 Users
0 Reactions
1,502 Views
Posts: 0
Active Member
Topic starter
 

Hi,

I am trying to figure out how to salvage User performances on my MODX which I created by editing performances in Library area and using Store to save them into the User area, without "Importing" them first. 🙁 Although the User performances work fine inside the MODX, when I tried to export them as a User or Library file I realized that the exported files do not include the waveforms, only performance settings. 🙁

After reading more about MODX content structure, I realized that I should have executed "Import Library" first, to create a "permanent" link between User performances and Waveforms before editing them. It seems that executing "Store" after editing a Library Performance is not sufficient if you want to Save those User performances on a USB stick later.

Considering the current situation, is there a way of exporting my User Performances together with actual waveforms?
Hopefully I don't have to start everything from scratch .. 🙁

Thanks,
DT

 
Posted : 02/03/2020 11:41 pm
Jason
Posts: 8225
Illustrious Member
 

Create an X8A backup file first. So you don't lose anything. This will, at least, preserve what you have today.

How many Performances do you have to "fix"?

I would personally do a bulk dump (read) of the Performance that's newer in your user area. Then remove the entries (SysEx) that is the pointer to the waveforms (and anything else that's pointing to the library like user ARPs or user curves, etc). Then import the older Performance from the Library to user area. Then bulk dump (write) the modified SysEx stream with the waveform/etc. pointers removed. The import would have copied over the waveforms from the library to the user area - and these pointers would be correct (even though the rest of the Performance would be "old" and not updated). Then the bulk dump from your newer Performance (without pointers - removed them in an earlier step) would overwrite and update everything else. Having a PC - I'd use MIDI-OX for all this if the Performance count to fix was low enough.

That'd be my approach. I'd probably write a script to handle all of this if I had a ton of Performances to patch up. Python seems to be what I use these days.

Then there's JM Tools if you want to go that route.

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

 
Posted : 03/03/2020 3:37 am
Posts: 0
Active Member
Topic starter
 

Thanks Jason,

Wow, that's quite a workaround!

It seems that Yamaha didn't put much thought into different scenarios when enabling "Store" function without previous Import, after editing Library performances. Not sure there is much use of the "Store" if you can't permanently save your work. I guess you can compare the original sound with the edited one, but that's all, since you can't export it with all the elements. Leaving it up to a user to properly "prepare" the User data before editing and exporting is a risky business IMO, especially when "Store" is enabled all the time.
I don't remember having to do this on my Motif, nor Kronos.

Maybe Yamaha should at least display a warning, so the user is aware that the data will not be "Exportable" after a simple "Store".

Cheers,
DT

 
Posted : 03/03/2020 1:05 pm
Bad Mister
Posts: 12303
 

Not sure there is much use of the "Store" if you can't permanently save your work. I guess you can compare the original sound with the edited one, but than what if you want to keep it since you can not export it with all the elements?

If you want to keep it, nothing prevents you from keeping it. Depending on what the user wants to do. It is not always necessary to export the Waveform data. It is not clear from your post exactly what you were originally attempting to do.

Replace an existing previously installed Library?
Create new instruments using a ROM Waveform?

If your goal was to create a new replacement Library — then yes, “Library Import” should be used. You did realize that Editing a ROM Performance can be done! Of course, it can be done... everyone’s User Bank Performance locations (AWM2) are filled with Parts that use ROM Waveforms.

Remember there are two types of Waveform ROM: Preset ROM and Library ROM
If you create a new Performance using Waveforms from either ROM location, that is what Editing and Storing is all about for most people. The use for such a thing is so fundamental to how the synth works (same as it did in the Motif, and most any synth based on Samples, I dare say they work the same way, in this regard). ROM data can be used to build your programs.

Example, you recall Preset Waveform 0001 “CF3 Stretch Sw St” — how many User Performances can you build with this Waveform? Correct, as many as you want. Truly unlimited...
Example, you recall Library 1 Waveform 0001 “xxxxxxxxxxxx” — how many User Performances can you build with this Waveform? Correct, as many as you want. Also unlimited...

Waveform = as used here is a collection of Samples. 8 Waveforms can make up an AWM2 Part. Parts make up Performances.

You can keep 640 Performances on board in the User Bank, 640 Performances in each of the 8 Library Banks, and truly, unlimited, in MODX CONNECT. They will all always work because the ROM Waveform data remains in place!!!

Think of ROM (in both cases) as Read Only Memory... programs reference these locations as permanent... these sample sets remain and can be referenced by as many Performances as you can make.

Now, to help you understand the consequence/non-consequence of skipping “Library Import” — the system has no need to *move* the Waveforms from ROM... If all you are doing is creating a new Performance. ONLY if you are going to REPLACE the currently installed ROM Library, would you ever need to use “Library Import”.

Literally, “Library Import” copies the data you want to keep from the installed ROM location, and places it in the area designated for USER data. It “repoints” each AWM2 Element to its User Waveform Bank copy.
Obviously, this is only necessary when your goal is to then DELETE the installed Library, and are going to create a new one to replace it.

Libraries are created by assembling data in the USER area RAM... you SAVE AS... a Library File. The finished product is a File.

You must DELETE the old and then load in your newly created Library File. This avoids duplicating waveforms.

You realized that “Library Import” was a missing step, it was only then that you realized you cannot build a new Library without importing the Waveforms to User RAM. Well... to build a Library: you always create it in user RAM and create a file that can be installed.

Yamaha engineers did a great job of thinking this through. Understanding how a Part references the Waveform is key.
You didn’t (and don’t) realize there is a whole lot of use for what you did (by mistake), but NOT when the goal is to build a new Library replacing an installed Library.

Scores and scores of AWM2 instruments are built from the same Waveforms... as mentioned the largest % of all current AWM2 sounds made by the thousands of MONTAGE/MODX owners are made from ROM Waveforms. And that is the use for this... think of those Waveforms you install in Library-land as additions to the 6,347 Waveforms that Yamaha provides you in the Preset Wave ROM.

It helps many to get over this learn curve bump: navigate to the ELEMENT > Osc/Tune screens
Press [EDIT]
Select Part 1
Touch “Elem1” > “Osc/Tune”
Here at the top the Waveform and its source Bank is identified. The Bank will be “Preset”, “User”, or one of your 8 possible installed Libraries.

An *Imported” Waveform will be identified as coming from the “USER” Wave Bank... (remember to become a Library File, it is the USER Bank data that gets converted to the executable Library File! A file that will install User data to ROM! And while doing so it repoints each Element to the new permanent ROM location.

A warning seems unnecessary... when you know ROM and RAM
When you store a Performance that uses a Preset Bank Waveform, no warning is necessary that it is not exportable— you are not looking to export it, you are just going to store a new version of the Preset sound. No need to move the Wave data - it can remain in its original location. Same goes when you store a Performance that uses a Library Bank Waveform, you are not looking to export it necessarily (if you were, you’d use Library Import to move the keepers to User RAM).

Say you want to create a Piano/string layer split with an acoustic bass, and a newly loaded custom drum kit playing an Arp. You’ve already installed the free Bosendorfer Imperial data as one of your 8 ROM Libraries.
You would build this Performance, name and store it to the User Bank. There is absolutely no need to EXPORT or IMPORT any data from a Library, I simply want to create a Performance that uses the (already installed) Bosendorfer piano Waveform, a Preset String Orchestra Waveform, a Preset Acoustic Bass, and a drums made from custom Waveforms I just loaded to a new Kit.

When I STORE this Performance it will be written in the USER Performance Bank. I can SAVE this as a User File (.X8U) and every time I load it, it will find all the data it needs to play properly. Even though I did not IMPORT the Bosendorfer data, the Bosendorfer data is exactly where the data expects it should be!

If I SAVE this User Bank as a LIBRARY FILE (.X8L)... then I can install it to an empty Library location. Because the Bosendorfer Waveforms never moved from their original location, they will still be found exactly where they always were (no duplication occurs), same with the String Orchestra and Acoustic Bass they will find their Preset Waveforms exactly where they always were (there was no reason to move their Waveforms) and the new custom Waveforms for my Drum Kit will be permanently installed to this new Library’s ROM. That drum kit can now be used in any future Performances I create (I’d only need to Import the data if I want to replace the Library it is in)!

Seriously, it is extremely well thought out. Truly, I hope that helps.

Extra Credit:
What is your actual stated goal?
Replace an existing previously installed Library?
Create new instruments using a ROM Waveform?

Let us know before you go doing anything complicated (like Jason’s suggestion)

 
Posted : 03/03/2020 2:25 pm
Posts: 0
Active Member
Topic starter
 

BM,

What you described makes sense IF a user is playing with Preset waveforms only. But that's a pretty big assumption, especially knowing that nowadays users do more than just utilizing presets. In my case, and I know many others do the same, I was editing performances which contain USER waveforms, not only the preset ones.

More specifically, I imported performances which were built on USER waveforms into the Library area. Those waveforms obviously are not part of MODX presets.
Then, I edited the Library performances by adjusting different parameters. Once done, I saved the edited performances by executing the "Store" which only saved the performance parameters into the User Area, and not the waveforms.

As result, I ended up with User performances which can not be exported, and loaded into MODX when needed. Therefore, they are only temporary in the User area until I overwrite them with other data. MODX obviously has a link between User performances and corresponding USER waveforms (which in my case stayed in the Library area), so why not including those USER waveforms when saving them on a USB stick as a USER or LIBRARY file.There is no point in creating a User or Library file if USER waveforms are not included as well.

But obviously this scenario can happen, so that's why I stated that Yamaha might have missed a scenario related to handling USER-based performances. Allowing users to Edit and Store their User performances without possibility of exporting all required elements doesn't make much sense, and it's definitely a waste of user's time. Therefore, at least a "reminder" that a performance with USER waveforms should be Imported before Editing, would definitely be nice touch by Yamaha, especially when the required IMPORT is not necessarily a standard workflow required by other models and keyboards. Other solution would be to disable "Store" until the USER waveforms are properly imported, since there is no point of creating User performances (with user waveforms) that could not be exported.

Cheers,
DT

 
Posted : 03/03/2020 3:45 pm
Jason
Posts: 8225
Illustrious Member
 

... for this situation, I think the OP was wishing they could go to some screen in Performance Common and press a button "Import All Waveforms" for a Performance in the user bank where any Waveforms (for all PARTs) that were located in the Library area would be copied to the user area then pointers changed from library reference to user reference. And perhaps a "jobs" type button in utilities to deal with batches of Performances.

Probably worth an ideascale for this one unless there's another simpler way without using external software.

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

 
Posted : 03/03/2020 5:26 pm
Posts: 0
Active Member
Topic starter
 

Hi Jason,

Yes, something like that would work.

But even simpler solution would be to modify the existing "Save" functionality, to "enforce" the export of all needed USER-waveforms no matter where they are in MODX, when Saving User Performances to an external file (USER or Library). This would eliminate the need for additional user-interaction (importing user-waveforms from a Library to the USER area), and also avoid duplication of waveforms inside the MODX (copying same waveforms from Library to User area).

I think a similar logic was implemented in Motif series, where a file with voice parameters was accompanied by a file with actual user-waveforms, when exporting data outside the keyboard.

Cheers,
DT

 
Posted : 03/03/2020 5:45 pm
Jason
Posts: 8225
Illustrious Member
 

Make sure whatever is suggested allows for current functionality to remain as there would be valid reasons to NOT import the Waveforms by saving them into the new library/user file.

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

 
Posted : 03/03/2020 5:56 pm
Bad Mister
Posts: 12303
 

Allowing users to Edit and Store their User performances without possibility of exporting all required elements doesn't make much sense, and it's definitely a waste of user's time.

This is a completely incorrect statement, showing you are not getting how this works... Until you see that it is not correct to say this, you will not understand this topic.

Sorry, I guess I didn’t explain it well enough for you. Perhaps if you answer the simple questions I asked you:

What is your actual stated goal?
Replace an existing previously installed Library?
Create new instruments using a ROM Waveform?

 
Posted : 03/03/2020 6:55 pm
Posts: 0
Active Member
Topic starter
 

Bad Mister,

Please see my response to your first comment in this post. I think I explained pretty well what was happening, and what the end state was.
I see that others were able to understand, so I guess you didn't read it carefully.

And yes, my previous statement is completely correct since I ended up with performances that can not be exported with all of its elements, in my case its USER-waveforms which in this scenario are kept in a Library. In other words, I am not able to create a stand-alone file containing my user-performances, that could be loaded to another MODX/Montage, or being used to recover the user performances if my current data in MODX changes (including deletion of my libraries). I don't want to make 1G backups just to be able to share my User Performances.

And yes, all this would be avoided if I read the manual carefully, but I think the system itself should at least warn a user of a mandatory step to help users avoid a similar situation. I also elaborated on this in my first reply to your comment.

No product is perfect, and the fact that I purchased MODX means that I like it.
User observations should be taken as an opportunity to further improve and tailor the product to user-needs instead of trying to discredit observations and valid concerns.

Cheers,
DT

P.S.
My goal would be to save my existing User-performances (which ended up having parameters in the User Area, and user-waveforms in the Library Area) to a USB stick, to be able to load it into another MODX/Montage which doesn't have my Libraries.

 
Posted : 04/03/2020 1:32 pm
Share:

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