Hi there,
How can I recognize USER performances that use LIBRARY waveforms?
Is there a mark or sign for it?
I know I have to use 'Import to User Bank' for each USER performance that uses LIBRARY waveforms but what if I forgot to do that?
Hi there,
How can I recognize USER performances that use LIBRARY waveforms?
Is there a mark or sign for it?I know I have to use 'Import to User Bank' for each USER performance that uses LIBRARY waveforms but what if I forgot to do that?
Excellent questions. A Performance that is simply edited and Stored to the User looks no different from one that has been Imported, as far as I know.
You simply (at this point) cannot forget to do this (IMPORT). Sorry, I know that is not definitive, but the reason for LIBRARY IMPORT is rather a special case. And the purpose for doing the IMPORT should remind you. If you're doing edits for yourself no need to Import, if you are going to move the data to another Montage or you're going to create a NEW library, then IMPORT!
Here's what I mean: Presumably, you own your Montage and the sounds you put in it will live and play happily whether you use Library Import or not. The specific reason to use Library Import is when you are specifically going to create a NEW LIBRARY file - one that could be loaded into your best friend's Montage. Or created to replace a previously installed Library
Example, you simply go to the Bosendorfer Library and you customize the "Imperial Grand" if you do so without having used LIBRARY IMPORT, no biggie... you store the Edit to a User Bank location. It will play fine. And will play fine anytime you load that USER BANK to YOUR Montage. But if you now take that data over to your friend's house on a USB stick, and load it to their Montage, the Bosendorfer Waveforms and Samples will not be found. The data is missing.
Next time you're back home, you use LIBRARY IMPORT to move the "Imperial Grand" to User (it now contains a flag that reminds the system to include the Waveform and Sample data in the file you make from the current data) now when you create the file and go to your friend's house the Bosendorfer will find its data and play properly.
The difference in the size of the file (and the amount of time it takes to both save/load) will be significant.
The FILE you create by simply just editing the Library File in the USER will take literally seconds to save or load... the FILE you create when you have used Library Import can take several minutes depending on the amount of audio data (Waveforms/Samples) that are Imported....
You can see Library Import is important for traveling musicians who may be playing a rental Montage.
You can also see Library Import is important when putting together a NEW LIBRARY accumulated from data already installed.
(updating firmware to 1.50 is very similar to transferring your data to a backline Montage... in effect, it's a new Montage!)
Hope that helps.
Just to clarify if I may Phil, and I know we cant second guess future updates etc.
But is it possible that there may be a feature added to go through the User bank and retrospectively apply the Import flag before doing a save operation to USB ?
i.e. a cut down version of the full backup that came in v1.5
Just as an aside - from this and previous posts I've always read that the Import is exactly as you say a flag setting, and that doesn't involve a replica copy of wave-forms from a library performance being duplicated in to a separate User area? In which case all performances have a common reference point to the same data already, just not the pesky flag to dump out non ROM (Preset) performance data.
probably a load of complexity in my logic , but for now if you skip the Import and wish to be portable its either recreate the user performance or perform the full backup ...
Hi there,
From what i've done, when making my own library with some sounds of several libraries,
I had to import selected performances in user area, and it COPIES each performances settings + waveforms + arpeggios + MS data.
It does not copy live set data, so i had to recreate them in user area.
Then i can save as a new library file on USB stick, delete user area, and load this new library.
For example, if you want to create a variant performance of a Bosendorfer piano to fit your needs,
i recommand you to import all Bosendorfer library's performances (with their waveforms, arpeggios...)
to user area to make a single library with all Bosendorfer waveforms.
By this way, you will have only one set of Bosendorfer waveforms, and this library does not need another library for working.
If the GUI isn't going to mark user performances in some way, you could do a bulk dump using Montage Connect and look at the data to determine where the waveform is sourced from. At least I'm sure the information would be in the resulting SysEx data.
This may be too difficult - breaking out a hex editor and looking at the datalist as a guideline - but possible.
You'd be searching for:
0x41 [EP] 0x01 0x02-0x09
where [EP] is the the element # (0-7, element 1=0, element 2=1, ... element 8=7) and part number (0-F). So element 1 of part 6 would be "05" - the "0" portion being element 1 and "5" portion being part 6.
And 0x02-0x09 translates to:
0x02 = Library 1
0x03 = Library 2
0x04 = Library 3
...
0x09 = Library 8
You could use other software to bulk dump every user performance and then scan through for a signature bytestream which would tell you what points to library data.
A quick batch file may even be able to tease out telling you which performances point to anything except preset or user waveforms.
NOTE: this method does not "go back in time". It shows the current setting of the waveform source. If the waveform is working and pointing to its waveform data in a library slot - it will show this. However, if before a firmware update the user performance pointed to a library - and now it doesn't because you restored your user data to Montage that has a missing library - and then the user performance modified itself to point to some default waveform instead the library - then you will not see that the user data "in the past" pointed to a library after this has been overwritten (as seems to be the implementation) when waveforms are not found where this source flag points the performance to.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
-Hello Jeroen - they are good questions, as BM says, and I have learned (the hard way) to always convert a Library file to a User file before editing it in any way at all.- that way I know they will always work whether the source Library is there or not. If you wish to know which files you have created, you can use a mark (a colon, say, or an asterisk) tacked on the end, or you may have a particular style of re-naming that you'll know.
Thanx for your advice, Rod!
Jason wrote:
(as seems to be the implementation)
So when saving the SysEx of a Performance, if the Library file is there then all good in the SysEx for all Waveforms the Performance is looking for, but if the Library file is not there (or the Waveform has been deleted from User memory) then the SysEx dumped at that time will be missing the correct information for which Waveform to look for? The Montage will automatically change the Performance data to point to a default Waveform instead (or something) and this is what is sent in the SysEx (at that time)?
"saving the SysEx of a Performance" I'm going to rephrase to "saving an X7B". When you save an X7B using Montage Connect, there is no waveform in that data no matter if the user performance has the waveform saved in the user area or in the library area. The instructions I have were how to harvest the information of where the waveform was saved - not how to extract the waveform. My instructions were just how to "find out" where the data was stored.
Also, since this is not generally the level of complexity a "typical" user is willing to put up with - it hopefully serves as a call to provide some new feature which provides feedback to the user where the waveform is stored so they know if an X7U (saving user performances) will contain their waveforms or if they have to instead save an X7L (library file). In today's landscape - you should probably just always save an X7A (everything) and be done with it. The question originated in a time before X7A files were available.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
(Accidental double post ignore)
Jason wrote:
"saving the SysEx of a Performance" I'm going to rephrase to "saving an X7B". When you save an X7B using Montage Connect, there is no waveform in that data no matter if the user performance has the waveform saved in the user area or in the library area. The instructions I have were how to harvest the information of where the waveform was saved - not how to extract the waveform. My instructions were just how to "find out" where the data was stored.
Yes I understand/know all of this. My question was different. Do I need to rephrase it? I was basically seeking clarification for if I understood what u meant correctly or not in this post:
Jason wrote:
If the GUI isn't going to mark user performances in some way, you could do a bulk dump using Montage Connect and look at the data to determine where the waveform is sourced from. At least I'm sure the information would be in the resulting SysEx data.
This may be too difficult - breaking out a hex editor and looking at the datalist as a guideline - but possible.
You'd be searching for:
0x41 [EP] 0x01 0x02-0x09
where [EP] is the the element # (0-7, element 1=0, element 2=1, ... element 8=7) and part number (0-F). So element 1 of part 6 would be "05" - the "0" portion being element 1 and "5" portion being part 6.
And 0x02-0x09 translates to:
0x02 = Library 1
0x03 = Library 2
0x04 = Library 3
...
0x09 = Library 8You could use other software to bulk dump every user performance and then scan through for a signature bytestream which would tell you what points to library data.
A quick batch file may even be able to tease out telling you which performances point to anything except preset or user waveforms.
NOTE: this method does not "go back in time". It shows the current setting of the waveform source. If the waveform is working and pointing to its waveform data in a library slot - it will show this. However, if before a firmware update the user performance pointed to a library - and now it doesn't because you restored your user data to Montage that has a missing library - and then the user performance modified itself to point to some default waveform instead the library - then you will not see that the user data "in the past" pointed to a library after this has been overwritten (as seems to be the implementation) when waveforms are not found where this source flag points the performance to.
Jason wrote:
In today's landscape - you should probably just always save an X7A (everything) and be done with it. The question originated in a time before X7A files were available.
Working with (saving/loading) X7A takes so much timeeeeee. It is not an efficient solution for dealing with one, two, a few, or even many % of the current saved Performances. But this has been discussed elsewhere on the forum and is not relevant to my question above.
Jason wrote:
it hopefully serves as a call to provide some new feature which provides feedback to the user where the waveform is stored
Indeed would be useful/helpful. And relates to the question of the OP and also to mine regarding SysEx (X7B).
Jason wrote:
so they know if an X7U (saving user performances) will contain their waveforms or if they have to instead save an X7L (library file).
Can you please clarify the difference in the content that is saved in an X7U as opposed to X7L specifically regarding Waveforms used in the Performances being saved.
Your statement implies there's a difference. (As though saving an X7L will automatically import all Waveforms that haven't yet been imported from Libraries. Or something like that...)
Thanks
@Harold
My previous discussion was replying to the request to find a "marker" of where waveforms were stored. Montage doesn't provide a method for doing this as far as I am aware (to find a menu or list that shows the location of the waveform), but the information is contained in the X7B bulk dump file.
So if you are wondering the location where a waveform is saved, you currently need to:
1) Bring up the performance you want to find out more about - by using [CATEGORY SEARCH] and selecting a preset performance, a user performance, or a library performance.
2) Use Montage Connect to dump an X7B which will contain details about the performance currently in the edit buffer
3) Follow the guidelines provided to find the correct pattern of data using a hex editor and decode, also using the guidelines provided to learn if the performance you currently have "loaded" into the edit buffer has the waveform saved in the user, library, or preset area.
@Joe
If you save a user file and the performance in the user area is pointing to a library waveform - I don't think it "pulls in" the library waveform. I haven't attempted this - but I am going by information provided by other users where they have to load libraries first before their user backups in order for the user performances with waveforms in the library section to work correctly.
If you save the library, and the waveforms are in the library section - then the X7L backup will contain the waveforms.
And when I say "instead save an X7L file" - I mean go through a process that will ensure waveforms and performances are all together in one file. There's more than one way to do this - but the "instead ..." doesn't spell out all the steps of the "shuffle" in order to import the data to user, delete anything in the user area you don't want "packaged together", then save as a library file.
How much time this all takes is good feedback for Yamaha - I'm just providing solutions that work today and the time is dependent on the tools provided.
If you have to distribute a different file frequently with all embedded waveforms - then the current system may not be optimal for you. It currently assumes saving everything is an infrequent event.
Using an X7A is a suggestion if you're worried about losing associations with waveforms - just use that method. Hopefully you are not frequently worried about this or am able to deal with the time it takes.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
Please don't make things more complicated than they need to be. The way it works is simpler than you might think. If you are playing and taking *your* Montage to gigs, *your* files will always find the Waveforms, Arpeggios, Motion Sequences it needs to sound properly.
You only have to worry about whether Waveforms are written to a file if your goal is move that data... either to another Montage (a rental, for example) or you are constructing a new Library.
In other situations you do not need to move your Waveform/Sample data (big audio data)... it takes TIME to move that data. When you get this clear in your head, then you can always remain on the short side of the "time factor". And you start to realize: once you install the data you want to have in YOUR Montage... your days of waiting any significant time is over!
When making User Files (and you can have scores of them) they do not need to contain the actual big audio data stored in your file. So your everyday User Files load and save in seconds... your Waveforms/Samples are installed on ROM... their location is known, and the data does not have to be stored everytime.
If you find yourself everyday, waiting a long time for data to load.... stop, read some more, learn how to install data, and advance to a point where your on the short side of waiting a long time to get to what you want to play.
Of course, keep several backups of your work in a safe place. But YOUR files will contain YOUR Waveform catalog. It will eventually be uniquely yours and will remain in YOUR Montage as long as you wish it to be.
Each AWM2 Part contains the information about the location of the Waveform it is referencing. No special extra tools are necessary. You can view the location of the AWM2 Waveform of each and every Element. If a Part is recalled in your USER Bank, you can see if it is referencing a Preset Waveform, a Library Waveform and from which installed Library, or if it is referencing a User Bank Waveform location.
You can also view the entire Waveform Catalog from any AWM2 Part. Even use Category Search to assist in finding them.
Suppose we import some wavefiles to the user area and create some performances and over time the Montage memory reaches its limit. How do we easily identify offending performances with their imported waveforms that we no longer wish to keep in order to free up memory and cut down on the time it takes to save a new user file?
Doesn't change my point: You only have to worry about whether Waveforms are written to a file if your goal is move that data... either to another Montage (a rental, for example) or you are constructing a new Library."
Not at all. When your Montage memory reaches its limits, you simply have to DELETE a Library. This makes plenty of room. And this would qualify under the heading: you are constructing a new Library.
You can disagree because you think you have a point about about how much time it takes to construct a Wave ROM. But that does not change what I've said... you only have to worry about whether Waveforms are written to a file if your goal is to move that data... either to another Montage or you are constructing a new Library.
I still can do it fifty times, maybe a hundred times, faster than it took to burn an 8MB Wave ROM back in the day.) 🙂