Who can? to make a style and voice extractor of ppi, cpf, , cpi, Tyros 5

Started by iulistil2, June 28, 2015, 08:41:40 AM

Previous topic - Next topic

Jørgen

Quote from: valimaties on June 30, 2015, 05:31:33 PM
..... too lazy.... you made me laugh.... :D
(snip)
In conclusion, if you don't want to help, why you write a post?! Write only if you know what is about....

If you want me to help by writing a software program to extract styles from Tyros 5 ppi files, you will have to stop being lazy...
No file to me = no software program

Jørgen

PS: YOU made ME laugh...
The Unofficial YAMAHA Keyboard Resource Site at http://www.jososoft.dk/yamaha
- since 1999

valimaties

Ok, Jorgen. I will make a small ppi file and I will provide it.
______________________________________________
Genos(1) v2.13, Korg PA5X, Allen & Heath SQ5
My youtube channel - https://www.youtube.com/channel/UCzi9PPrMTjN8_zX9P9kelxg

Vali Maties - Genos

tyrosaurus

Hi Jørgen,

If it is of any interest -  I have downloaded the 'Best of Europe' .PPI for the PSR-S970 from the Australian Yamaha site (there are other free ones) and run it through version 1.10 of Style in YEP/PPI. 

The styles in the pack extracted without incident and they all look OK to me, although some of the file names are unusual!

I have tried a few on my T4 and they sound fine although obviously some voices are missing.



Regards

Ian

Jørgen

Hi

Oh yes... downloads are always interesting...  ;)

Do you have a link?
Otherwise mail to js@jososoft.dk

Yes, the software extractor program is a "technical" extraction... always som "musical" adjustments...

Regards
Jørgen
The Unofficial YAMAHA Keyboard Resource Site at http://www.jososoft.dk/yamaha
- since 1999

tyrosaurus

Hi Jørgen,

The download file is a bit too big to send by email but you can download it directly if you select the 'Voice & Style Expansion' tab on the page that opens at this link...

http://au.yamaha.com/en/products/musical-instruments/keyboards/digitalkeyboards/arranger_workstations/psr-s970/?mode=model

Edit :   The downloads are now also available on the equivalent page of the UK and Danish Yamaha sites...

http://dk.yamaha.com/da/products/musical-instruments/keyboards/digitalkeyboards/arranger_workstations/psr-s970/?mode=model#tab=product_lineup


Regards

Ian


Jørgen

The Unofficial YAMAHA Keyboard Resource Site at http://www.jososoft.dk/yamaha
- since 1999

larvol

Thanks Jorgen for your interest and support. Here is a stage pack made as ppi file for Tyros5 by Yamaha Expansion Manager with the screen what's in it   http://www.mediafire.com/download/tdssn61ci89tb0d/PPI.rar

Victor

Jørgen

The Unofficial YAMAHA Keyboard Resource Site at http://www.jososoft.dk/yamaha
- since 1999

valimaties

Most interesting is to "decompile" also the PPF and CPF files.

Even so, if you open the Expansion Manager you will see your packs. In "AppData\Local\Yamaha\Expansion Manager\Packs" path (for windows 7) there are those packs, with strange names. If you double click a folder you get a couple of files and two files ".index",".catalog" ... I checked for Stage Pack, and opened the ".index" file... There is a code like this inside

S362
{b7d2f77c-af00-41fc-9611-22a78a35b047} Stage Rock uvf.drum.y.preset
{b27dd5f9-0020-4a22-b16b-959d79f1540a} 70sR&BPop ST STY
{bf3768cb-deec-4700-9f9e-768c554980b2} 70sRock ST STY

I've supposed that each of those strange names are the styles files (like 70sR&BPop ST   STY, etc). I copied those files and renamed like the right name in the code. And surprise, those are the styles. The uvf file has a structure like xml files, not a wave file. I don't know where are the voice saved in Expansion...
Then, I tried to open the folder of SouthEast Pack, wich is encrypted. I found only a single strange-named file, with 409 MB in size. All the data is inside that file. I tought that is a way to open that file, too. But, until now, I don't find a way to extract the voices, even from free packs. I will keep looking :D

I found this code in a uvf file of a nonencrypted pack...

<waveform number="0">
  <name></name>
  <maxSampleCount>1</maxSampleCount>
  <useStereoCh>OFF</useStereoCh>
  <keybank number="0">
   <noteLimitHi>C2</noteLimitHi>
   <noteLimitLo>C2</noteLimitLo>
   <velocityLimitHi>127</velocityLimitHi>
   <velocityLimitLo>1</velocityLimitLo>
   <volume>0.000000</volume>
   <pan>0</pan>
   <centerNote>C2</centerNote>
   <tuneCoarse>0</tuneCoarse>
   <tuneFine>0.000000</tuneFine>
   <tuneLoop>0</tuneLoop>
   <samplingFrequency>44100</samplingFrequency>
   <fixedPitch>OFF</fixedPitch>
   <oneShot>OFF</oneShot>
   <useNANDFlash>NOT_USE</useNANDFlash>
   <sample position="MONO">
    <waveFile>992433eedb3f48ef12388beaa70e63e33e311a4b</waveFile>
    <waveType>LINEAR16</waveType>
    <waveStartAddress>464f1de0</waveStartAddress>
    <sampleSize>4974</sampleSize>
    <startPoint>0</startPoint>
    <loopStartPoint>4636</loopStartPoint>
    <loopEndPoint>4974</loopEndPoint>
    <wavePlacement>ABSOLUTE_ADDRESS</wavePlacement>
    <chipType>NO_RESTRICTION</chipType>
    <chipNumber>0</chipNumber>
    <waveStartFrame>0</waveStartFrame>
    <startFrame>0</startFrame>
    <loopStartFrame>0</loopStartFrame>
    <loopEndFrame>0</loopEndFrame>
    <lpcCoef>00</lpcCoef>
    <pitchUpLimit>0</pitchUpLimit>
    <beginLoopIndex>00</beginLoopIndex>
    <beginLoopAddress>00</beginLoopAddress>
    <z1>00</z1>
    <z2>00</z2>
    <z3>00</z3>
    <coef1>00</coef1>
    <coef2>00</coef2>
    <coef3>00</coef3>
    <loopStartData>00</loopStartData>
    <preloadIndex>00</preloadIndex>
   </sample>
  </keybank>
  <keybank number="1">
   <noteLimitHi>C#2</noteLimitHi>
   <noteLimitLo>C#2</noteLimitLo>
   <velocityLimitHi>127</velocityLimitHi>
   <velocityLimitLo>1</velocityLimitLo>
   <volume>0.000000</volume>
   <pan>0</pan>
   <centerNote>C#2</centerNote>
   <tuneCoarse>0</tuneCoarse>
   <tuneFine>0.000000</tuneFine>
   <tuneLoop>0</tuneLoop>
   <samplingFrequency>44100</samplingFrequency>
   <fixedPitch>OFF</fixedPitch>
   <oneShot>OFF</oneShot>
   <useNANDFlash>NOT_USE</useNANDFlash>
   <sample position="MONO">
    <waveFile>880b4a3e529539778233e92956e848f69290f7e4</waveFile>
    <waveType>LINEAR16</waveType>
    <waveStartAddress>464f3160</waveStartAddress>
    <sampleSize>6699</sampleSize>
    <startPoint>0</startPoint>
    <loopStartPoint>6380</loopStartPoint>
    <loopEndPoint>6699</loopEndPoint>
    <wavePlacement>ABSOLUTE_ADDRESS</wavePlacement>
    <chipType>NO_RESTRICTION</chipType>
    <chipNumber>0</chipNumber>
    <waveStartFrame>0</waveStartFrame>
    <startFrame>0</startFrame>
    <loopStartFrame>0</loopStartFrame>
    <loopEndFrame>0</loopEndFrame>
    <lpcCoef>00</lpcCoef>
    <pitchUpLimit>0</pitchUpLimit>
    <beginLoopIndex>00</beginLoopIndex>
    <beginLoopAddress>00</beginLoopAddress>
    <z1>00</z1>
    <z2>00</z2>
    <z3>00</z3>
    <coef1>00</coef1>
    <coef2>00</coef2>
    <coef3>00</coef3>
    <loopStartData>00</loopStartData>
    <preloadIndex>00</preloadIndex>
   </sample>
  </keybank>
  <keybank number="2">
   <noteLimitHi>D2</noteLimitHi>
   <noteLimitLo>D2</noteLimitLo>
   <velocityLimitHi>127</velocityLimitHi>
   <velocityLimitLo>1</velocityLimitLo>
   <volume>0.000000</volume>
   <pan>0</pan>
   <centerNote>D2</centerNote>
   <tuneCoarse>0</tuneCoarse>
   <tuneFine>0.000000</tuneFine>
   <tuneLoop>0</tuneLoop>
   <samplingFrequency>44100</samplingFrequency>
   <fixedPitch>OFF</fixedPitch>
   <oneShot>OFF</oneShot>
   <useNANDFlash>NOT_USE</useNANDFlash>
   <sample position="MONO">
    <waveFile>ea68c85dc072d836d5ebd2aa2744f29cd795e692</waveFile>
    <waveType>LINEAR16</waveType>
    <waveStartAddress>464f4b90</waveStartAddress>
    <sampleSize>9508</sampleSize>
    <startPoint>0</startPoint>
    <loopStartPoint>9208</loopStartPoint>
    <loopEndPoint>9508</loopEndPoint>
    <wavePlacement>ABSOLUTE_ADDRESS</wavePlacement>
    <chipType>NO_RESTRICTION</chipType>
    <chipNumber>0</chipNumber>
    <waveStartFrame>0</waveStartFrame>
    <startFrame>0</startFrame>
    <loopStartFrame>0</loopStartFrame>
    <loopEndFrame>0</loopEndFrame>
    <lpcCoef>00</lpcCoef>
    <pitchUpLimit>0</pitchUpLimit>
    <beginLoopIndex>00</beginLoopIndex>
    <beginLoopAddress>00</beginLoopAddress>
    <z1>00</z1>
    <z2>00</z2>
    <z3>00</z3>
    <coef1>00</coef1>
    <coef2>00</coef2>
    <coef3>00</coef3>
    <loopStartData>00</loopStartData>
    <preloadIndex>00</preloadIndex>
   </sample>
  </keybank>

.... etc..


Do you think that is a posibility to extract waves from those files? Those bolded code are files in the pack's folder...
______________________________________________
Genos(1) v2.13, Korg PA5X, Allen & Heath SQ5
My youtube channel - https://www.youtube.com/channel/UCzi9PPrMTjN8_zX9P9kelxg

Vali Maties - Genos

larvol

I think we will have troubles with CPI or CPF because they are encrypted. And if we succeed with the ppf there are not so many ppf packs of big interest.I think we should use some reverse engineering of the process UVN TO PPF.

larvol

Quote from: larvol on July 02, 2015, 06:21:28 PM
I think we will have troubles with CPI or CPF because they are encrypted. And if we succeed with the ppf there are not so many ppf packs of big interest. Probably we should use some reverse engineering of the process UVN TO PPF.

Jørgen

Hi

My "Style In YEP/PPI files" software has been updated.

Works fine using the sample file I have got from Victor.

http://www.jososoft.dk/yamaha/software/yep/index.htm

Regards
Jørgen
The Unofficial YAMAHA Keyboard Resource Site at http://www.jososoft.dk/yamaha
- since 1999

valimaties

Quote from: larvol on July 02, 2015, 06:21:28 PM
I think we will have troubles with CPI or CPF because they are encrypted. And if we succeed with the ppf there are not so many ppf packs of big interest.I think we should use some reverse engineering of the process UVN TO PPF.

The PPF are one of all packs installed in Expansion Manager. If you click on a pack and select export pack then YEM will create a PPF File. A PPF file, like a PPI file, does not contain only voices, but styles, registrations, lyrics, too.
I know it's a big process, but I think it is possible to recreate UVNs from those little files of YEM folder. Who knows how it is created UVN/UVI file, I think they can help us. It is heady necessary a tool like this, and those who use YEM could instal a software like this, who can rebuild voices from YEM folder.

PS: Thanks Jorgen for updated soft :D
______________________________________________
Genos(1) v2.13, Korg PA5X, Allen & Heath SQ5
My youtube channel - https://www.youtube.com/channel/UCzi9PPrMTjN8_zX9P9kelxg

Vali Maties - Genos

larvol

Quote from: Jørgen on July 03, 2015, 12:44:50 AM
Hi

My "Style In YEP/PPI files" software has been updated.

Works fine using the sample file I have got from Victor.

http://www.jososoft.dk/yamaha/software/yep/index.htm

Regards
Jørgen

Thank you very much! Fantastic job. Let's try a cpi file
http://www.mediafire.com/download/b8j85k4k7cpkfn2/CPI.rar     I mailed you a password and some info

Regards Victor

Jørgen

Hi Victor

Obviously no un-encrypted styles in the cpi file...

Regards
Jørgen
The Unofficial YAMAHA Keyboard Resource Site at http://www.jososoft.dk/yamaha
- since 1999

larvol

Quote from: Jørgen on July 04, 2015, 04:09:46 PM
Hi Victor

Obviously no un-encrypted styles in the cpi file...

Regards
Jørgen

Hi Jorgen, of course, how stupid of me, I gave you cpi with NO STYLE. Try this one -  it has 1 style in it   http://www.mediafire.com/download/h91lr8pgppgr381/CPI.rar

4EverYoung

Jorgen,

It's amazing how much knowledge you have in programming and work with Yamaha Expansion Pack.  I am kind of curious, why voice can't be extracted from PPI file?  I bought Expansion Pack from two different people.  Each one of them sent me PPI file only (Not YEP).  I can't install one Expansion Pack only.  However, I want to install both on my T5 but don't know how.  Any idea?

Thanks,
dk

frankmusik

@Dk
Ask your software companies for individual Packs .. They can also build copy protected for YOU only so they don´t have to worry about illegal copying...  just EMAIL them your Instrument ID

frank
Genos and Tyros /PSR Support in Germany - Europe with more than
280 keyboardscouts helping in D-AT-CH-NL at your home!
Monday 18:30 (6:30 pm german time) Live tips on youtube https://www.youtube.com/channel/UCBxOTmwqvDGu5QavFWeaQfQ

Joe H

Frank,

Is it possible for a third party developer to make a copy protected .ppf file.  For Tyros this is .cpf, but how to do this for PSR keyboards?

Joe H
Music is the Universal Language!

My Article: Using Multi Pads in registrations. Download Regs, Styles & MPs:  http://psrtutorial.com/music/articles/dancemusic.html

voodoo

Quote from: Joe H on February 23, 2017, 10:31:07 AM
Frank,

Is it possible for a third party developer to make a copy protected .ppf file.  For Tyros this is .cpf, but how to do this for PSR keyboards?

Joe H

With latest YEM version, it can import *.CPF files for PSR keyboards. The latest Yamaha pack "Greetings from Italy" is distributed in this format.

But I did not find how to create a CPF file...
Yamaha Genos
Yamaha MODX7
Yamaha P-125 Digital Piano
Nord Electro 5D

tyrosaurus

Hi Joe H and voodoo,

The procedure for exporting a pack in a protected '.cpf' format is in  instruction 5 on page 10 of the YEM manual that was available with the Ver. 2.4 download (and also the latest 2.4.1 version).

As part of the export procedure you get to select the type of pack in the 'Save as type:' box.

If you select 'Protected Pack Project File (*.cpf) you will be taken to another window where you must select the specific 'n27' info file for the keyboard that you want to use the pack with.

After you have entered a name for the pack as well, when you click 'Save' you are taken to a folder on your computer so it makes sense to keep all the 'n27' files that you have imported into YEM in this folder, although it is a standard Windows selection box so you can navigate to a different folder if necessary.   I suppose doing it this way means that you can save packs for specific keyboards other than the one that you have imported into YEM (your own), without having to import these other keyboards into YEM as targets too!

I don't have a keyboard that uses YEM but I have 'acquired'  T5, S970 and S670 info files so that I can play around with the program.  I have made '.cpf' packs using these and YEM 2.4.0 but not with the latest 2.4.1.

I assume that the packs are not only protected for a particular keyboard model, but for an actual specific keyboard itself, similar how the Tyros packs are protected, but I can't check this out.  Presumably this is what third party content producers would want to do to prevent 'sharing' their packs!


Regards

Ian

Jørgen

Hi

As long as Yamaha introduces new formats almost every year I am not going into any programming.

Creating a proper program will take several hundred - maybe thousand - hours; and to be honest I am not ready to spend the time for this!

Jørgen
The Unofficial YAMAHA Keyboard Resource Site at http://www.jososoft.dk/yamaha
- since 1999

frankmusik

Quote from: Joe H on February 23, 2017, 10:31:07 AM
Frank,

Is it possible for a third party developer to make a copy protected .ppf file.  For Tyros this is .cpf, but how to do this for PSR keyboards?

Joe H
YES everybody can build copy protected Packs with the new YEM now .. for ALL PSR-Sx70  and T5 ...  Ian describes it above.

greetings frank
Genos and Tyros /PSR Support in Germany - Europe with more than
280 keyboardscouts helping in D-AT-CH-NL at your home!
Monday 18:30 (6:30 pm german time) Live tips on youtube https://www.youtube.com/channel/UCBxOTmwqvDGu5QavFWeaQfQ

Joe H

I believe Ian is incorrect.  I bought a .cpf file from Yamaha for my S970 and I couldn't make an Installation file from it for my S970.  Yamaha told me it wouldn't work because it was for the Tyros and gave me a refund...   .cpf is for the Tyros keyboard. It is copy protected and you must log into your Yamaha account so your keyboard and  purchase can be verified. 

I am working on some Voice Packs at the moment I would like to copy protect.. so I will see if what Ian states is true and report back.

Joe H

Music is the Universal Language!

My Article: Using Multi Pads in registrations. Download Regs, Styles & MPs:  http://psrtutorial.com/music/articles/dancemusic.html

tyrosaurus

Hi Joe H,

I would welcome any feedback about this procedure, because as I said, although I can make '.cpf' packs specific for the instrument info files that I have, I have not really got a way of checking them, other than loading them back into YEM, but since this has those instruments installed as target keyboards, it would work wouldn't it!  I suppose that I could make a pack for one of them, then delete that instrument as a target in YEM, and then try to import the 'protected' pack.   

  Edit:  In fact I have just tried this for a pack that I exported protected for the S970 that was installed as a target in YEM when the pack was exported.  I deleted the S970 from YEM and tried to import the pack. The program responded with a message box saying "The pack could not be imported because there is no instrument capable of using this pack".  I then reinstalled the S970 as a target and tried to import the 'cpf' pack and it reported that a pack of the same name already existed so could not import it!  So I deleted the original pack in YEM and then the program successfully imported the 'cpf' one.  When I open the imported pack in YEM's contents window, it now shows with a padlock in the header, which I think means that it is a protected pack!  As an additional check, I made an installation pack of the file after re-importing it into YEM and that produced a 'cpi' file according to the file extension!  However unless I selected the correct S970 target, I couldn't even select the protected 'cpf' from the installed packs window to select to include it in an installation file.  If either the T5 or the S670 that are also installed in YEM as targets was selected,  there was no 'tick' ['checkmark'] at all in the pack icon 

If you have read the relevant part of the YEM manual, you should have seen the following note (on page 9):

"NOTE
You cannot use Export Pack, Change Image, or Rename with protected Packs, such as any that you have purchased."


The '.cpf' pack that you purchased (for a Tyros5!) would probably have the same problems for you today if you tried to make either an installation or a project file pack for a different keyboard!  How did you even manage to purchase a Premium Pack for a Tyros5 without having registered a T5 with Yamaha Musicsoft?

Please check the situation out and report back, just out of curiosity/interest from my point of view, because currently I have no intention of replacing my T4 with a T5, and I don't need a PSR, so YEM is somewhat academic for me.


Regards

Ian

Joe H

Ian,

Thanks for this information.  Sounds like you know more about YEM than Yamaha Musicsoft.  It's kind of dumb what they did.

I bought a style pack for the Euro Dance Pack... had no trouble at all buying it.  Thought I could add it to my S970 Euro Dance.  It loaded in YEM, but I couldn't create the Installation pack for my keyboard.  Based on your experiments, I should have been able to create a Installation file since I didn't need a Tyros ID to buy the style pack.

I'll post my findings later this evening.

Joe H
Music is the Universal Language!

My Article: Using Multi Pads in registrations. Download Regs, Styles & MPs:  http://psrtutorial.com/music/articles/dancemusic.html

tyrosaurus

Hi Joe H,

I have added to my reply above while you were posting your latest reply.

Have a look in the 'Edit:' part of my reply (green text) if you're interested.


Regards

Ian

Joe H

Ian,

I duplicated your process and got the same results.  But I was able to go one step further.  Since my brother owns a PSR S970 as I do, I loaded his .27 file and both Exported a copy protected pack (.cpf) and also created a copy protected Installation file (.cpi).

I deleted my brother's .n27 file and loaded my own ID again...  I was not able to load the .cpf file I just created using my brother's .n27 file, and also I was not able to install the .cpi pack on my keyboard. 

To answer your earlier question regarding loading the T5 Euro Dance 2016 style pack, I believe this was before the YEM 2.40 release or at least before the v2.41 release.  When I tried to load this file just now in the current YEM I was required to go on-line and log into my yamaha Musicsoft account.  I was off-line and did not attempt it, since it wouldn't work anyway.

All this is good news to me since I am beginning work on several custom Voice Packs I plan to sell.   Now I know that if and when I do this... the buyer must provide his/her .n27 file for me to create the copy protected Installation File and Project File that will work only for their keyboard.

Joe H
Music is the Universal Language!

My Article: Using Multi Pads in registrations. Download Regs, Styles & MPs:  http://psrtutorial.com/music/articles/dancemusic.html

voodoo

Quote from: tyrosaurus on February 23, 2017, 05:39:16 PM
The '.cpf' pack that you purchased (for a Tyros5!) would probably have the same problems for you today if you tried to make either an installation or a project file pack for a different keyboard!  How did you even manage to purchase a Premium Pack for a Tyros5 without having registered a T5 with Yamaha Musicsoft?

I could purchase the "Greetings from Italy" pack for S970 from Yamaha without having registered my keyboard. So this seems to be a device independent .cpf file. But when importing it into YEM, I was asked to enter my Yamaha login, and then it registered my S970 automatically and connected it to the pack. The process is not very transparent....
Yamaha Genos
Yamaha MODX7
Yamaha P-125 Digital Piano
Nord Electro 5D

voodoo

Quote from: Joe H on February 23, 2017, 09:53:38 PM
All this is good news to me since I am beginning work on several custom Voice Packs I plan to sell.   Now I know that if and when I do this... the buyer must provide his/her .n27 file for me to create the copy protected Installation File and Project File that will work only for their keyboard.

This is how some content provider work as well. For example, the CMS dance expansion is sold this way:

  http://www.cms-sounddesign.de/page2.html

And this works for T5 and the current PSR.

Uli
Yamaha Genos
Yamaha MODX7
Yamaha P-125 Digital Piano
Nord Electro 5D