PS3 Background Audio on XMB after boot

Someone on HEN want to test this? Download PS3 XMB Audio v1.01 for HEN

It should be fine but I'm just not sure if there will be enough free space on HEN to include a 10 minute ac3.

If it wont install, you could delete hknw plugin sprx and rco, and delete the coldboot ac3 files that are on dev_rewrite currently.
No Clock/Info Bar.
No XMB Click Sounds
I need to turn up the volume a lot to be audible
missing browser mouse
 
No Clock/Info Bar.
No XMB Click Sounds
I need to turn up the volume a lot to be audible
missing browser mouse
Thanks for report.

Not sure how to fix browser mouse or XMB clicks. it might just be the price you have to pay for XMB audio. How often do most people really use the PS3 browser anyway except to enable HEN... and users can just pretend they have to choose between XMB clicks and background audio which is true..tbh even if it was official feature it might have limitation like that.

As for the volume I did make it quieter than the coldboot on purpose. Maybe too quiet as I have my PS3 hooked to a big Marantz amp and Mission speakers so probably louder here than on a TV. Anyone can change the ac3 file for a louder one anyway.
 
Here is a hacky way of having background audio start after boot up.

Enable dev_blind, Then install this PKG, then reboot!

This will install a blank space at the bottom of your PSN category which will be the selected item when the PS3 first boots up. This blank icon will automatically start a 6min30sec music track playing on a loop

When you decide to move off the blank item it will stop playing until you move back to it. I know it's not quite what everyone wants but it's something.

Note: You need System Settings > Display Whats New > set to "On"

It's nothing special but what it does it does well. It works by having a category HM application install with a blank icons and no title. This "app" has nothing in it except a 3.MB SND0.AT3. Then category_psn.xml is modified to make it be the item the console boots up onto.

Now if only we had a way to make it stay playing?

One good thing about AT3s is that XMB cursor sounds still play while one is playing
 

Attachments

Last edited:
One step closer. I can make it so it looks to a different path for the SND0.AT3, for example the root of dev_hdd0. So now with this mod every single application plays the same audio as the path is hard coded in the explore_plugin.sprx.

Now if only we could patch something so once the AT3 file starts playing it stays playing. This would be perfect as other sounds still play when an AT3 is playing. So XMB cursor sounds still work for example.

So how do we make the XMB think its always focused on an application or force the AT3 to stay playing once it has started? Any ideas anyone? @aldostools any ideas? I suspect that maybe this can be done with an RCO mod but I am yet to find the correct RCO that handles it.

Another thing that would be nice is to be able to remove the 3MB limit on AT3 files, This must be easy enough surely?

This is how I hardcoded the path to the AT3 inside explore_plugin.sprx using "../../" to get up to the root of dev_hdd0

Original:
upload_2021-1-24_13-42-14.png



Hard coded path:
upload_2021-1-24_13-43-22.png
 
Last edited:
I wonder is this related. This is one of the available explore_plugin commands that can be seen here: https://psdevwiki.com/ps3/Explore_plugin

It's called set_playing. Here is the only info available on it. We can probably call this function via wMM just like we can call category reload. The big question is, Could this be used to force an audio file to start playing if we knew the syntax?

set_playing set_playing 0x%x 0x%llx 0x%llx 0x%llx 0x%llx



Here are the only 2 references I have seen

upload_2021-1-24_15-30-7.png


upload_2021-1-24_15-33-22.png
 
One step closer. I can make it so it looks to a different path for the SND0.AT3, for example the root of dev_hdd0. So now with this mod every single application plays the same audio as the path is hard coded in the explore_plugin.sprx.

Now if only we could patch something so once the AT3 file starts playing it stays playing. This would be perfect as other sounds still play when an AT3 is playing. So XMB cursor sounds still work for example.

So how do we make the XMB think its always focused on an application or force the AT3 to stay playing once it has started? Any ideas anyone? @aldostools any ideas? I suspect that maybe this can be done with an RCO mod but I am yet to find the correct RCO that handles it.

Another thing that would be nice is to be able to remove the 3MB limit on AT3 files, This must be easy enough surely?

This is how I hardcoded the path to the AT3 inside explore_plugin.sprx using "../../" to get up to the root of dev_hdd0

The same "hack" could be achieved setting the AT3 to icon that gets the focus. In my case mmCM (it has ITEM_PRIORITY = 8750 in SFO).
I wonder if we could hack explore_plugin to make it play an MP3 instead of AT3 :D
I'm almost sure it is possible using the same trick that you used for the coldboot

Maybe patching %s/SND0_%02d.AT3 @ 0x252048 to /dev_hdd0/00.MP3 or AT3 ??
 
Last edited:
The same "hack" could be achieved setting the AT3 to icon that gets the focus. In my case mmCM.
I wonder if we could hack explore_plugin to make it play an MP3 instead of AT3 :D
I'm almost sure it is possible using the same trick that you used for the coldboot

Maybe patching %s/SND0_%02d.AT3 @ 0x252048 to /dev_hdd0/00.MP3 or AT3 ??

I have tried simply putting "MP3" with no luck, I guess I need to swap the dec plugin in sys/external too. I will try that now. There are a load of at3 dec plugins, I will just try them all I guess. I was hoping it might just be based on the file extension which plugin gets used but no such luck there.


I think that %s/SND0_%02d.AT3 must be for a different language SND0.AT3 file. not sure. I have never seen multiple AT3s in an application. I will try there too though.
.
 
I have tried simply putting "MP3" with no luck, I guess I need to swap the dec plugin in sys/external too. I will try that now. There are a load of at3 dec plugins, I will just try them all I guess. I was hoping it might just be based on the file extension which plugin gets used but no such luck there.


I think that %s/SND0_%02d.AT3 must be for a different language SND0.AT3 file. not sure. I have never seen multiple AT3s in an application. I will try there too though.
.

Yes, that string is for the other languages. It's rarely used by games. I suggest that string because the string is longer and it is one of the paths used to load the background music.

Maybe another plugins that we could look are audioplayer_plugin and videoplayer_plugin but there is not much information about how to call them from a sprx. I think they could be called directly at startup, then we could use the combo or explore XMB commands to show the XMB.
 
Another note on a different topic but related maybe, I wonder what sv_pseudoaudioplayer.rco is for. It seems to be some kind of debug menu or something.

It only has English and Japanese languages which is strange.

These are the text entries in it:
Code:
<TextLang>
<Text name="msg_yes">yes</Text>
<Text name="msg_no">no</Text>
<Text name="msg_ok">ok</Text>
<Text name="msg_back">back</Text>
<Text name="msg_page1_title">SoundvisualizerPage1</Text>
<Text name="msg_page2_title">SoundvisualizerPage2</Text>
<Text name="msg_lbtn_focus">LeftBtn Focus</Text>
<Text name="msg_rbtn_focus">RightBtn Focus</Text>
</TextLang>

They also seem strange and not something for retail use, kind of interesting anyway.

Seems to be some kind of menu with 4 options.

Code:
<ObjectTree>
<Page name="page_sv_pseudoaudioplayer1" pageMode="0x1101" pageOnInit="event:native:/OnPageInit" pageOnCancel="event:native:/OnPageCancel" pageOnContext="nothing" pageOnActivate="event:native:/OnPageActivate">
<Plane name="page1_plane_seat" positionX="0" positionY="0" positionZ="1" colorScaleR="0" colorScaleG="0" colorScaleB="0" colorScaleA="0" sizeX="700" sizeY="700" sizeZ="0" sizeScaleX="1" sizeScaleY="1" sizeScaleZ="1" anchorMode="0x0" onInit="nothing" positionOverrideX="0x0" positionOverrideY="0x0" positionOverrideZ="0x0" sizeOverrideX="0x0" sizeOverrideY="0x0" sizeOverrideZ="0x0" planeImage="nothing" planeResizeMode="0x0"></Plane>
</Page>
<Page name="page_sv_pseudoaudioplayer2" pageMode="0x1101" pageOnInit="event:native:/OnPage2Init" pageOnCancel="event:native:/OnPage2Cancel" pageOnContext="nothing" pageOnActivate="event:native:/OnPage2Activate">
<Plane name="page2_plane_seat" positionX="350" positionY="0" positionZ="1" colorScaleR="0" colorScaleG="0" colorScaleB="0" colorScaleA="0.4" sizeX="300" sizeY="400" sizeZ="0" sizeScaleX="1" sizeScaleY="1" sizeScaleZ="1" anchorMode="0x0" onInit="nothing" positionOverrideX="0x0" positionOverrideY="0x0" positionOverrideZ="0x0" sizeOverrideX="0x0" sizeOverrideY="0x0" sizeOverrideZ="0x0" planeImage="nothing" planeResizeMode="0x0">
<Text name="page2_title" positionX="-100" positionY="190" positionZ="0" colorScaleR="1" colorScaleG="1" colorScaleB="1" colorScaleA="1" sizeX="200" sizeY="18" sizeZ="0" sizeScaleX="1" sizeScaleY="1" sizeScaleZ="1" anchorMode="0x0" onInit="nothing" positionOverrideX="0x0" positionOverrideY="0x0" positionOverrideZ="0x0" sizeOverrideX="0x0" sizeOverrideY="0x0" sizeOverrideZ="0x0" textMessage="text:msg_page2_title" textFontStyle="nothing" textFontMode="0x1000000" textUnk29="0x1" textFontSizeY="6" textTopColorScaleR="1" textTopColorScaleG="1" textTopColorScaleB="1" textBottomColorScaleR="1" textBottomColorScaleG="1" textBottomColorScaleB="1" textLineSpacing="0" textUnk37="0x0" textUnk38="0x0" textUnk39="0x0" textCharacterSpacing="0" textShadowOffsetX="4" textShadowOffsetY="-5" textShadowOffsetZ="0" textShadowColorScaleR="0.25" textShadowColorScaleG="0.25" textShadowColorScaleB="0.25" textShadowColorScaleA="1" textUnk48="0x0" textUnk49="0x0" textUnk50="0x0" textUnkFloat51="1" textUnkFloat52="1" textUnkFloat53="1" textUnkFloat54="1" textResizeMode="0x0" textOverrideUnk56="0x3000000" textOverrideUnk57="0x3000000" textOverrideUnk58="0x0"></Text>
<Button name="btn_item_1" positionX="-50" positionY="100" positionZ="0" colorScaleR="1" colorScaleG="1" colorScaleB="1" colorScaleA="1" sizeX="32" sizeY="32" sizeZ="1" sizeScaleX="1" sizeScaleY="2" sizeScaleZ="1" anchorMode="0x0" onInit="nothing" positionOverrideX="0x0" positionOverrideY="0x0" positionOverrideZ="0x0" sizeOverrideX="0x0" sizeOverrideY="0x0" sizeOverrideZ="0x0" buttonImageBase="image:btn_blank" buttonImageShadow="image:btn_blank_shadow" buttonImageFocus="image:btn_blank_focus" buttonText="nothing" buttonOnPush="event:native:/OnPage2Btn1Click" buttonOnFocusIn="event:native:/OnPage2Btn1FocusIn" buttonOnFocusOut="nothing" buttonOnFocusLeft="nothing" buttonOnFocusRight="object2:btn_item_2" buttonOnFocusUp="nothing" buttonOnFocusDown="nothing" buttonOnContext="nothing" buttonUnkInt47="0x0"></Button>
<Button name="btn_item_2" positionX="50" positionY="100" positionZ="0" colorScaleR="1" colorScaleG="1" colorScaleB="1" colorScaleA="1" sizeX="32" sizeY="32" sizeZ="1" sizeScaleX="1" sizeScaleY="2" sizeScaleZ="1" anchorMode="0x0" onInit="nothing" positionOverrideX="0x0" positionOverrideY="0x0" positionOverrideZ="0x0" sizeOverrideX="0x0" sizeOverrideY="0x0" sizeOverrideZ="0x0" buttonImageBase="image:btn_blank" buttonImageShadow="image:btn_blank_shadow" buttonImageFocus="image:btn_blank_focus" buttonText="nothing" buttonOnPush="event:native:/OnPage2Btn2Click" buttonOnFocusIn="event:native:/OnPage2Btn2FocusIn" buttonOnFocusOut="nothing" buttonOnFocusLeft="object2:btn_item_1" buttonOnFocusRight="nothing" buttonOnFocusUp="nothing" buttonOnFocusDown="nothing" buttonOnContext="nothing" buttonUnkInt47="0x0"></Button>
<Text name="page2_status" positionX="0" positionY="-50" positionZ="0" colorScaleR="1" colorScaleG="1" colorScaleB="1" colorScaleA="1" sizeX="250" sizeY="18" sizeZ="0" sizeScaleX="1" sizeScaleY="1" sizeScaleZ="1" anchorMode="0x0" onInit="nothing" positionOverrideX="0x0" positionOverrideY="0x0" positionOverrideZ="0x0" sizeOverrideX="0x0" sizeOverrideY="0x0" sizeOverrideZ="0x0" textMessage="nothing" textFontStyle="nothing" textFontMode="0x1000000" textUnk29="0x1" textFontSizeY="6" textTopColorScaleR="1" textTopColorScaleG="1" textTopColorScaleB="1" textBottomColorScaleR="1" textBottomColorScaleG="1" textBottomColorScaleB="1" textLineSpacing="0" textUnk37="0x0" textUnk38="0x0" textUnk39="0x0" textCharacterSpacing="0" textShadowOffsetX="4" textShadowOffsetY="-5" textShadowOffsetZ="0" textShadowColorScaleR="0.25" textShadowColorScaleG="0.25" textShadowColorScaleB="0.25" textShadowColorScaleA="1" textUnk48="0x0" textUnk49="0x0" textUnk50="0x0" textUnkFloat51="1" textUnkFloat52="1" textUnkFloat53="1" textUnkFloat54="1" textResizeMode="0x0" textOverrideUnk56="0x3000000" textOverrideUnk57="0x3000000" textOverrideUnk58="0x0"></Text>
<MList name="mlist1" positionX="0" positionY="0" positionZ="0" colorScaleR="1" colorScaleG="1" colorScaleB="1" colorScaleA="1" sizeX="0" sizeY="0" sizeZ="0" sizeScaleX="1" sizeScaleY="1" sizeScaleZ="1" anchorMode="0x0" onInit="event:native:/OnMlist1Init" positionOverrideX="0x0" positionOverrideY="0x0" positionOverrideZ="0x0" sizeOverrideX="0x0" sizeOverrideY="0x0" sizeOverrideZ="0x0" mlistItemNum="0x4" mlistUnk24="0x0" mlistItemDefault="0xffffffff" mlistUnkInt26="0x0" mlistItemSpacing="0" mlistOverrideUnk28="0x0" mlistOverrideUnk29="0x0" mlistOverrideUnk30="0x0" mlistImage="nothing" mlistOnPush="event:native:/OnMlist1Click" mlistOnCursorMove="nothing" mlistOnFocusIn="nothing" mlistOnFocusOut="nothing" mlistOnFocusLeft="nothing" mlistOnFocusRight="nothing" mlistOnFocusUp="nothing" mlistOnFocusDown="nothing" mlistOnScrollIn="nothing" mlistOnScrollOut="nothing">
<MItem name="item0" mitemTextOrImage1="text:msg_page1_title" mitemTextOrImage2="nothing" mitemTextOrImage3="nothing"></MItem>
<MItem name="item1" mitemTextOrImage1="text:msg_page1_title" mitemTextOrImage2="nothing" mitemTextOrImage3="nothing"></MItem>
<MItem name="item2" mitemTextOrImage1="text:msg_page1_title" mitemTextOrImage2="nothing" mitemTextOrImage3="nothing"></MItem>
<MItem name="item3" mitemTextOrImage1="text:msg_page1_title" mitemTextOrImage2="nothing" mitemTextOrImage3="nothing"></MItem>
</MList>
</Plane>
</Page>
</ObjectTree>
 
probably DeViL303's dropbox account hit the monthly limit. it might work if you try again in about 2 weeks.

if he receives some donations, he could upgrade the account as well as bring his website back online.

man i dont think so. the link says error.
 
My noble one, DeViL303!
all good?
Would it be possible to make the version of Background_Music_on_Boot_v1.00.pkg available, for 4.91?
I have the PS3 Super Slim, and I use HEN, because the Super Slim doesn't accept CFW unfortunately, but we would really like to be able to customize the background music on the XMB.
 
I would just like to Add to this Thread for anyone looking for an easy way to have the PS4's Home Screen Music on your PS3, Playing upon Boot; On a Loop:

Simply Install the PKG for PS3 4K Pro Lite - Any Version but ideally the Latest.

*** IT'S NOT RECOMMENDED TO ACTUALLY INSTALL PS3 4K PRO TO YOUR SYSTEM WITHIN THE PKG ITSELF!!! ***

We just simply want the "Bubble" You could say to appear on our XMB, As once you Install this PKG it will Automatically Boot to this Icon & PS4 Music will Play!
 
Last edited:
Back
Top