PS3 Extracting Songs from PS2 SingStar Games to repackage as "DLC" for SingStar PS3 Idea

MunkeySpoon

Forum Noob
Hi everyone,
I've been thinking about how to bring together all the songs from various SingStar games into one centralized version for the PS3. After some research, I think I might be on to something, but I have no idea if it's actually possible. I'm new to modding and game customization but very eager to learn. I'd like to build on the information I've gathered so far with help from this community to achieve my goal.
The Goal

I want to extract songs from my PS2 SingStar discs, as certain songs are only available in specific regions (PAL and NTSC versions), and repackage them as "DLC" songs that can be used in a SingStar PS3 game. My aim is to create a centralized version of the game where all songs are accessible in one place.
My Setup

  • Console: PlayStation 3 (2008 Fat CECHK01 model) with custom firmware (latest Evilnat and Cobra).
  • Tools Installed: webMAN MOD (v1.47.36), multiMAN, and a couple of other homebrew tools.
  • Discs Owned: A handful of PAL PS2 SingStar discs (from Australia and the UK), with most being NTSC discs.
What I've Learned So Far

Based on the discussions I've found here /threads/hacking-the-singstar-dlc-encryption-for-backup-custom-songs.28150/
  1. DLC File Structure:
    • SingStar DLC files are typically stored in /dev_hdd0/game/BCESXXXXX/USRDIR on the PS3.
    • These files include .pkg.drm (encrypted DLC package), metadata files, and audio/video files (e.g., .mp3, .chc, .mkv).
  2. Encryption Challenges:
    • The .pkg.drm files are encrypted and tied to the PS3's unique ID. Without proper decryption tools or license files, it's difficult to extract or modify them.
    • Some PS2 discs use encrypted .chc files, possibly using the Tiny Encryption Algorithm (TEA), which makes direct extraction tricky.
  3. Tools and Techniques Discussed:
    • Tools like PS3xploit and PSN Liberator can be used to manage .pkg files.
    • Custom DLC requires replicating the original DLC structure and modifying the game's database file to recognize new content.
  4. Potential Approach:
    • Extract song files (audio, video, and metadata) from PS2 discs.
    • Repackage the extracted files into DLC format that matches the PS3's file structure.
    • Test the custom DLC by adding it to the appropriate /dev_hdd0/game/ directory and updating the game database.
What I Need Help With

  1. Extracting Songs from PS2 Discs:
    • How can I extract encrypted .chc files or other song data from PS2 SingStar discs?
    • Are there specific tools for handling PAL and NTSC disc formats?
  2. Repackaging as DLC:
    • How can I recreate the .pkg.drm format for the PS3 with custom content?
    • Is there a way to bypass or recreate the DRM encryption?
  3. Challenges to Anticipate:
    • Are there known compatibility issues when adding custom DLC?
    • Is it possible to modify the SingStar game database safely?
What I Can Offer

I'm new to this, but I'm willing to put in the work and share my progress with the community. Any advice, resources, or guidance would mean the world to me.
Thank you so much for your time and expertise!
 
No one knows how to decrypt (?) and resign PS3 Singstar's DLCs. So your quest ends here before even started.

I dunno about PS2 version resources but I saw somewhere ripper for its songs (I'm not a fan of Singstar games so I don't remember to which game exactly and if only for audio files or also other meta data related to).

However, thank you for post which gather Singstar stuff in one thread. I appreciated effort you've put into it.
 
@Edness was working on breaking the encryption, but I'm not sure how much progress has been made on the subject.
Yep, I looked a bit into the .PKG.DRM DLC files as well, however not much progress on that front yet. However I've been told it's possible to make modifications to PS3 SingStar games by extracting the existing .PKD files and putting them into alternate locations where the game attempts to look up the files if they don't exist normally. It probably could read PS2 files as-is like that too, untested though (I believe root of /dev_hdd0 and /dev_hdd1 is one such path.)

Main thing to keep in mind is the PACKAGE files store filenames as all lowercase (normalised for hashing), and PS3 using UFS expects case sensitive paths. But renaming /filesystem/export to /FileSystem/Export seems to be all that's needed to fix it. (May not apply to the final two games, Ultimate Hits and Frozen, where the whole thing was reworked)
 
Last edited:
Yep, I looked a bit into the .PKG.DRM DLC files as well, however not much progress on that front yet. However I've been told it's possible to make modifications to PS3 SingStar games by extracting the existing .PKD files and putting them into alternate locations where the game attempts to look up the files if they don't exist normally. It probably could read PS2 files as-is like that too, untested though (I believe root of /dev_hdd0 and /dev_hdd1 is one such path.)

Main thing to keep in mind is the PACKAGE files store filenames as all lowercase (normalised for hashing), and PS3 using UFS expects case sensitive paths. But renaming /filesystem/export to /FileSystem/Export seems to be all that's needed to fix it. (May not apply to the final two games, Ultimate Hits and Frozen, where the whole thing was reworked)


Thank you for the detailed explanation—this opens up some exciting possibilities! I wanted to clarify a few points and ask for guidance on how to proceed effectively:
1. Alternate Paths for File Lookup

You mentioned that extracted .PKD files can be placed in alternate paths like /dev_hdd0 or /dev_hdd1, where the game will attempt to look for missing files.
  • Is this behavior automatic, or does the game need to be configured (e.g., through database edits) to look in these alternate locations?
  • For PS2 files, what directory structure should I replicate in these paths to maximize compatibility with the PS3 version of SingStar?
2. PS2 File Compatibility

You suggested that the game might be able to read PS2 files as-is, which is intriguing but untested.
  • Do you know if the PS3 version of SingStar can directly handle PS2 formats like .ipu and .mib, or would they require conversion to PS3-compatible formats?
  • Are there any known dependencies or file configurations that might make PS2 files incompatible with PS3 SingStar (e.g., metadata mismatches)?
3. Case Sensitivity in Paths

You highlighted the issue of UFS case sensitivity and how normalizing filenames can resolve path mismatches.
  • When correcting paths (e.g., /filesystem/export to /FileSystem/Export), does this apply to the entire directory tree, or only specific files?
  • Is there a tool or script you'd recommend for batch renaming files and directories to match the required case?
4. Limitations with Ultimate Hits and Frozen

You mentioned that the file structure for SingStar Ultimate Hits and Frozen was reworked, which might make this approach less effective.
  • Do you have more details on the changes made in these versions and how they differ from earlier games?
  • Would these changes impact the ability to use alternate paths for loading custom or extracted content?
5. Testing Workflow

Finally, I want to ensure I understand the overall testing process you described:
  1. Extract .PKD files from the PS3 version of SingStar.
  2. Place them in alternate paths (e.g., /dev_hdd0).
  3. Correct case sensitivity as needed.
  4. Launch the game and see if it recognizes the files.
  • Does this workflow sound correct, or are there additional steps I should include?
  • Have you personally tested using custom or extracted files via this method, and if so, were there any unexpected challenges?
Thank you for taking the time to share your knowledge and for creating the tools that make projects like this possible. Any additional insights or advice would be greatly appreciated!
 
@Edness UFS2 to be precise and only "dev_hdd0" using it. "dev_hdd1" lies on FAT32 (and it is wiping out by each game, it is cache partition). It is case sensitive but that means for all symbols, so I don't get what you wrote about changing "examplepath" into "ExamplePath".
 
@Edness UFS2 to be precise and only "dev_hdd0" using it. "dev_hdd1" lies on FAT32 (and it is wiping out by each game, it is cache partition). It is case sensitive but that means for all symbols, so I don't get what you wrote about changing "examplepath" into "ExamplePath".

@Berion Thank you for clarifying the details about UFS2 and the use of dev_hdd0 versus dev_hdd1. That makes a lot of sense! I appreciate the insight about dev_hdd1 being FAT32 and thus not suitable for this method.
Regarding the case sensitivity:
  • My understanding of the suggestion about changing "examplepath" into "ExamplePath" was that SingStar might be looking for files in specific cases due to path normalization or metadata references. For example, if the extracted files default to all lowercase but the game references a path with uppercase letters, that mismatch could prevent it from locating the file.
Does SingStar enforce specific case formatting in its references, or is this not an issue as long as the paths are correct in lowercase?
Additionally:
  • Would it be sufficient to verify all paths and filenames match the case directly referenced in the game's database or config files?
  • Have you seen cases where mismatches in path casing (lowercase vs. mixed case) caused issues in loading files from dev_hdd0?
I just want to make sure I fully understand this potential issue so I can avoid unnecessary troubleshooting during testing. Thanks again for your input—it's invaluable!
 
@Edness UFS2 to be precise and only "dev_hdd0" using it. "dev_hdd1" lies on FAT32 (and it is wiping out by each game, it is cache partition). It is case sensitive but that means for all symbols, so I don't get what you wrote about changing "examplepath" into "ExamplePath".
Fair, I was just looking at the paths where the game seemed to search for files in, and /dev_hdd1 was also one of them.
And yeah, the original source files SCEE London had would've been located at /FileSystem/Export/12345/video.mp4 etc., but when they imported to their PACKAGE archive, the paths were normalised (made both case and path separator insensitive) and hashed for faster lookup. So that path is now stored like filesystem\export\12345\video.mp4. This is kinda common-ish practice I've seen in other games too.

So when extracting, the now-all-lowercase paths that once had capital letters have to be fixed, since it's no longer going through its own virtual FS that normalises/hashes it. But it seems like those two are the only directories needed to be changed, everything else inside those seem to have already been lowercase (most likely on purpose so SCEE London themselves would have an easier time patching in game files on the fly etc.)
1. Alternate Paths for File Lookup
It should be automatic, I've been told this method works on both real and emulated PS3 hardware. I just briefly tested on RPCS3 with SingStar Mallorca Party, and mixing it with the files from SingStar Ultimate Party, it seemed to work for me too, using the latest title update available.
2. PS2 File Compatibility
Considering PS3 SingStars have the ability to disc swap with PS2 games to let you load and play songs present in those games, they must have at least some capability to parse them. Whether or not this applies to when reading files from /dev_hdd0/FileSystem/Export is a different question yet to be tested.
3. Case Sensitivity in Paths
See my reply above to @Berion. Only those two directory names need to be fixed in this case.
4. Limitations with Ultimate Hits and Frozen
I believe these two look and function more like the PS4 SingStar games, but in this case still maintaining PS3/PS2 game compatibility. The person who informed me about this ability to load unpacked files months ago said they were also attempting to make it work with these two games, but I'm unsure how far along they've gotten.
5. Testing Workflow
That should work, as I also just tested when writing my answer for your 1st question.
 
Last edited:
Thank you all for the incredibly detailed insights so far! Based on the information shared, I've drafted a workflow for testing whether placing extracted files in /dev_hdd0/FileSystem/Export would work as intended. I'd love to hear if this approach seems reasonable or if there are any tweaks you'd suggest.
Proposed Steps

1. File Extraction

  • I found a tool called "sing ss_pak_extract", using it I plan to extract the .pak files from my PS2 SingStar discs.
  • Key files I'll be focusing on include:
    • movie.ipu for video.
    • music.mib for audio.
    • Any metadata files that define lyrics, timing, or song attributes.
2. Preparing the Files

  • I'll organize the extracted files into a directory structure that matches /FileSystem/Export. For example:
    FileSystem/
    Export/
    [song-folder]/
    music.mib
    movie.ipu
    metadata.xml
    • Each song will have its own folder under /Export.
    • I'll ensure the directory names (/FileSystem/Export) match the required case sensitivity for UFS2.
3. Transferring to PS3

  • I plan to transfer the prepared files to /dev_hdd0/FileSystem/Export using FTP or a USB drive via multiMAN.
4. Testing on PS3

  • Once the files are in place, I'll:
    • Launch the SingStar game.
    • Check if the new songs are recognized and playable.
    • Verify playback (audio/video), scoring, and functionality.
Questions and Clarifications

  1. PS2 File Compatibility:
    • I understand the PS3 can parse PS2 files due to the disc-swapping feature. However, when loading files from /dev_hdd0/FileSystem/Export, do the PS2 formats (.ipu, .mib) need any conversion to be compatible?
  2. Case Sensitivity:
    • Are there other directories or file names beyond /FileSystem/Export that I should check or adjust for case sensitivity?
  3. Testing and Title Updates:
    • Should I apply the latest title update for my SingStar game before testing this method?
    • Are there any specific versions or regions of the game where this method is known to work better?
  4. RPCS3 Testing Insights:
    • The method was tested successfully on RPCS3. Have there been any specific challenges or differences when applying this to real hardware?
Thank you all again for your help and patience as I work through this! If there's anything I'm missing or additional steps you'd suggest, I'd greatly appreciate your input.

Here's the post draft explaining your findings and seeking input from the community:
Title: Issues with Extracting SingStar PAK Files and Unexpected Output: Looking for Guidance and Insights
Post Content:
Hi everyone,
I've been delving into SingStar files and ran into some challenges. Initially, I tried to install ss_pak_extract using the repository https://github.com/AdmiralCurtiss/ss_pak_extract.git. However, it seems the repository is no longer available. After some searching, I came across this repository https://github.com/performous/performous-tools.git, which appears to be a replacement or alternative. I was able to successfully install the tools from there.
What I Expected:

When running the tool with the following command:
./ss_pak_extract /path/to/your/file.pak --extract

I expected to see files like:
  • movie.ipu for video
  • music.mib for audio
  • Metadata files defining lyrics, timing, or song attributes.
What I Got:

Instead, the output looked like this:
For PAK_IOP0.PAK:
120/mus+vid.iav 149669264 bytes
120/mus+vid.ind 26884 bytes
20155/mus+vid.iav 98093168 bytes
20155/mus+vid.ind 23784 bytes
... (more files)

For PAK_IOP1.PAK:
22872/mus+vid.iav 185576896 bytes
22872/mus+vid.ind 37134 bytes
22873/mus+vid.iav 127833760 bytes
22873/mus+vid.ind 28754 bytes
... (more files)

The extracted files primarily consist of .iav and .ind files, which appear to contain media and index data. However, these are not the formats I anticipated, such as .ipu for video or .mib for audio.
My Questions:

  1. Did I make a mistake during extraction, or is this the expected output for these tools with SingStar PAK files? If this is expected, what's the process to decode .iav and .ind into usable media files?
  2. Can someone familiar with this tool or SingStar files clarify what these .iav and .ind files represent? How do I proceed from here to get video, audio, or metadata?
A Note on Testing with RPCS3:

I saw a mention by @Edness about briefly testing with SingStar Mallorca Party and mixing files from SingStar Ultimate Party. They mentioned it "seemed to work" using the latest title update on RPCS3. If possible:
  • Could you explain your process in more detail?
  • Did you move the folder using MultiMAN or another tool? Or did you handle these files through ISO merging or decryption?
I'm stuck at this point and would appreciate any guidance or insights from the community. If anyone has successfully worked with these files or has experience with ss_pak_extract, your help would be invaluable!
Thanks in advance for your time!
 
Last edited by a moderator:
FYI, .MIB is only the raw ADPCM data (SCEE MultiStreamer format), you need the .MIH header for it as well, which I think should be in PACK_EE.PAK.

Hearing from you that the audio and video is muxed together in some PS2 SingStars isn't too surprising either, since that's how all of the PS3 SingStars do it, too. I used the PS2 version of Mallorca Party, where it had movie.idx/.ipu and music.mib/.mih. Which game had those mus+vid.iav/.ind files?

And there's not really much else to explain for what I did to play and test extracted files - just dump the Pack0/1/2/....pkd files onto /dev_hdd0, fix caps, and delete the PKDs from the game files. I just extracted files from another game on top of it, overwriting existing files in there to see if it had some effect.
 
FYI, .MIB is only the raw ADPCM data (SCEE MultiStreamer format), you need the .MIH header for it as well, which I think should be in PACK_EE.PAK.

Hearing from you that the audio and video is muxed together in some PS2 SingStars isn't too surprising either, since that's how all of the PS3 SingStars do it, too. I used the PS2 version of Mallorca Party, where it had movie.idx/.ipu and music.mib/.mih. Which game had those mus+vid.iav/.ind files?

And there's not really much else to explain for what I did to play and test extracted files - just dump the Pack0/1/2/....pkd files onto /dev_hdd0, fix caps, and delete the PKDs from the game files. I just extracted files from another game on top of it, overwriting existing files in there to see if it had some effect.



Apologies for the delay! I've realized that extracting mus+vid.iav and mus+vid.ind from PAK_IOP0.PAK might not be the correct approach, as those files don't seem to align with the expected formats like .ipu or .mib. Instead, I believe the correct way forward is to directly use the files from the ISO itself. Here's what I've got from SingStar Anthems (Europe Australia):
Extracted ISO Files:

IOP PAK_IOP0.PAK SCES_541.31
PACK_EE.PAK PAK_IOPM.PAK SYSTEM.CNF

./IOP:
IOPRP280.IMG MONITOR.IRX SCREAM.IRX SINGSTRM.IRX
LIB PAK.IRX SINGSND.IRX USBMIC.IRX

./IOP/LIB:
DBCMAN.IRX EYETOY.IRX MCMAN.IRX SIO2D.IRX USBD.IRX
DS2U.IRX LIBSD.IRX MCSERV.IRX SIO2MAN.IRX VDGCU_D.IRX

Questions and Next Steps:

  1. Where to Place These Files? Could you confirm the proper directories in /dev_hdd0 where each of these files should be placed? For example:
    • Should PAK_IOP0.PAK go to a specific game folder?
    • What about the contents of the IOP folder (e.g., .IRX files)?
  2. Adding More Discs: If I want to add more discs (e.g., other SingStar PS2 games), can I:
    • Place additional PACK_EE.PAK or PAK_IOP.PAK* files in the same directory?
    • Or, do I need to combine files from multiple discs somehow?
I'd greatly appreciate some guidance on structuring these files correctly for the PS3 directories or RPCS3 setup! Thanks for all your help so far—it's been invaluable.

FYI, .MIB is only the raw ADPCM data (SCEE MultiStreamer format), you need the .MIH header for it as well, which I think should be in PACK_EE.PAK.
Hearing from you that the audio and video is muxed together in some PS2 SingStars isn't too surprising either, since that's how all of the PS3 SingStars do it, too. I used the PS2 version of Mallorca Party, where it had movie.idx/.ipu and music.mib/.mih. Which game had those mus+vid.iav/.ind files?

And there's not really much else to explain for what I did to play and test extracted files - just dump the Pack0/1/2/....pkd files onto /dev_hdd0, fix caps, and delete the PKDs from the game files. I just extracted files from another game on top of it, overwriting existing files in there to see if it had some effect.
After digging around, I checked a PS3 SingStar game, SingStar Chartbreaker (Europe), and its structure seems to match what you described regarding PS3 games combining audio and video into larger container files. Here's what I found in the USRDIR directory:
DiscInfo
EBOOT.BIN
Pack0.pkd
Pack1.pkd
Pack2.pkd
data.pkf
datamem.pkf
datahdd.pkf
features.sdat
Themes/
default.themes
tootyfruity.themes
environments.themes
zen.themes

This setup aligns with what you mentioned about PS3 SingStar games using .pkd files for their data, instead of separating audio and video into .mib, .mih, or .ipu files like in PS2 games. It seems that the mus+vid.iav/.ind format I found in SingStar Anthems (Europe/Australia) for PS2 may be a precursor to how PS3 games merged these elements into a single container.
It makes sense now that the .iav/.ind files might not need to be extracted further and are just another way the PS2 version stored audio and video together, similar to how .pkd works on PS3.
I also have a question about loading PS2 SingStar discs. When I attempt to use other PS2 SingStar discs as a "swap disc" while running a PS3 SingStar game, I get a message saying the disc is not a SingStar disc. At first, I thought this was a region-lock issue, so I changed the PS3 region to UK (DEX) and matched the disc region to the UK as well. However, the issue persists with some discs, even when the region is set correctly.
Interestingly, some North American PS2 SingStar discs load songs just fine in this setup, even with the PS3 set to the UK region. However, certain discs, like SingStar Amped, produce the same "not a SingStar disc" error. This inconsistency makes me think the issue may have more to do with the file or directory structure of the PS2 discs rather than region-locking alone.
Do you have any insights into this? Could there be something specific about the file structure or metadata that the game looks for to verify the disc as a SingStar disc? Any help would be appreciated!

Thanks again, Edness! I followed the process you described for testing PS2 SingStar files on a PS3. Specifically, I extracted Pack0.pkd, Pack1.pkd, and Pack2.pkd from the SingStar Chartbreaker (Europe) PS3 ISO and placed them in /dev_hdd0/ on the PS3. However, when I loaded the SingStar Vol. 2 PS3 disc, the songs didn't appear in the game.
What's strange is that when I connect to the PS3 via FTP on my MacBook Pro, I don't see the PKD files in /dev_hdd0/. However, when I check the directory through MultiMAN, I can see the files listed as PACK0.PKD, PACK1.PKD, and PACK2.PKD. This makes me wonder if there's an additional step I'm missing, like refreshing a database, editing configuration files, or something else to get the songs to load into the game.
Do you know if there's a step I might have overlooked? For example:
  • Do the PKD files need to be in a specific subfolder within /dev_hdd0/?
  • Is there some kind of cache or metadata file that needs to be updated to recognize the new files?
  • Could the files require a particular naming convention or region alignment with the disc being loaded?
Let me know if there's something I might be missing in this process. Any advice would be much appreciated!

@Edness I feel like I might be barking up the wrong tree with the approach I'm taking to add songs to a PS3 SingStar game.

My end goal is to expand the song list by adding tracks, and I initially thought adding songs as DLC would be the easiest and "less messy" route.

So far, I've been experimenting with extracting and analyzing files (like the PKD files and XMLs) and even considering whether modifying the EBOOT.BIN or other internal game files is the right move. But now, I'm starting to wonder if there's a better or more straightforward way to achieve this.

Maybe I'm overcomplicating things by diving too deep into the file structures and configurations, or perhaps I'm missing a key piece of the puzzle. What do you think? Is this a realistic path to take, or should I be looking at a completely different approach? Your advice has been super helpful so far, and I'd love to hear your thoughts on whether I'm on the right track or if there's a better way to accomplish this.
 
Last edited by a moderator:

Similar threads

Back
Top