Homebrew BlargSPC - Play SNES SPC-dumped files on your 3DS

DiscostewSM

Well-Known Member
OP
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,482
Country
United States
Many people have asked for something of this nature, and having fiddled with the SPC/DSP cores of blargSNES enough to improve and get some understanding of them, I figured that this would be a good way to understand it even further without having to deal with everything else the emulator wraps around it. So, I present to you BlargSpc.


Download: https://github.com/DiscostewSM/blargSpc/releases
Source: https://github.com/DiscostewSM/blargSpc

GAIeLrT.png


Be aware, this is my first release of this, so don't expect everything to be perfect. Some SPCs may not play, and some may have clicks in them, but the majority that I've tested seem to play fine.

Expected questions

Q: Why is there no CIA release?

A: The reason for no CIA release is because I had an idea about integrating this into blargSNES (which does have CIA releases), but currently, the way audio is handled there differs from how it is handled here (outside of the cores). So I'm gonna look into that. Plus a few other things are required for producing a CIA file, and I really don't feel like messing with them.

Q: I get a message saying "NDSP could not initialize". What does that mean?

A: BlargSPC uses the NDSP firmware for audio playback instead of the old CSND methods. This means you will either need to run a more recent version of *hax with relevant payloads (2.5 or greater) to have access to the "hb:dsp" service, or you need to dump the binary from an existing retail game or eShop title. The firmware is copyright data, so it cannot be supplied. If you wish to go with the dump method, then please go to the DSP Firmware Dumper page and follow the instructions.

Q: This can play SPC files of games that currently have no audio in blargSNES. Does that mean a fix for blargSNES is coming soon?

A: Unfortunately, no, not because of this anyways. The reason why blargSNES has trouble with some audio in games is because of communication/sync problems (among other things) between the main CPU and SPC cores. SPC files you may find online were dumped by other emulators that don't have this problem. But, at least this shows that the audio can process/play once this issue with blargSNES is resolved.

Q: Wait, I can play SPC files of games with enhancement chips in them. Does that mean.....

A: No, it does not. The SPC/DSP cores are completely independant from the rest of the system with the exception of a couple of lines to the main CPU used for SPC uploading/downloading.
 
Last edited by DiscostewSM,

DSoryu

GBA/NDS Maniac
Member
Joined
May 5, 2010
Messages
2,357
Trophies
2
Location
In my house
XP
4,762
Country
Mexico
Exactly what I wanted, this kind of feature was something I loved from NDS's moonshell2, among with the nes sound format, it would be cool to have that one as well, because there are some wonderfull chiptunes in 8 bit out there.
 

DiscostewSM

Well-Known Member
OP
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,482
Country
United States
-_- That sucks. Is there interpolation options or anything? ANYTHING AT ALL? I NEED MY GAUSSY SPC's!

32kHz, imo, is fine, considering this is based on cores from blargSNES, an emulator that can run on an o3DS. As far as options, pretty much everything found in blargSNES's SPC/DSP cores are found here, which includes Gaussian interpolation and such.
 
  • Like
Reactions: SLiV3R

Pandaxclone2

Pokemon Sprite Artist Hobbyist
Member
Joined
Aug 17, 2015
Messages
1,132
Trophies
0
Location
Earth's Bottle of Death.
XP
2,068
Country
Australia
Good job with this sir! Now I can play those SPCs I had laying in my SD card when I naively thought Nintendo Music could play them. (I was experimenting, okay?)

Gonna keep an eye on this and blargSNES in the near future.
 

Lucar

Well-Known Member
Member
Joined
Sep 12, 2015
Messages
528
Trophies
0
XP
619
Country
Canada
32kHz, imo, is fine, considering this is based on cores from blargSNES, an emulator that can run on an o3DS. As far as options, pretty much everything found in blargSNES's SPC/DSP cores are found here, which includes Gaussian interpolation and such.

That's Good. :3
 

SLiV3R

3DS Friend Code: 0473-9069-2206
Member
Joined
Jan 9, 2006
Messages
2,319
Trophies
2
Website
soundcloud.com
XP
1,847
Country
32kHz, imo, is fine, considering this is based on cores from blargSNES, an emulator that can run on an o3DS. As far as options, pretty much everything found in blargSNES's SPC/DSP cores are found here, which includes Gaussian interpolation and such.

Any news on this project? Do you think you could add other 8/16 bit formats as well? (I know SNES sound is sample based and most others are chip based, but it would perhaps work to implement?)
 

DiscostewSM

Well-Known Member
OP
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,482
Country
United States
Any news on this project? Do you think you could add other 8/16 bit formats as well? (I know SNES sound is sample based and most others are chip based, but it would perhaps work to implement?)

It is simply running with what blargSNES uses. Nothing more. Nothing less.
 
  • Like
Reactions: SLiV3R

DiscostewSM

Well-Known Member
OP
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,482
Country
United States
Ok. But is it possible to listen when the 3DS is closed?

That is something I've thought about, but haven't taken the initiative to implementing. My main reason for making the player was for easier testing of the SPC700/DSP cores when I wanted to make changes, using SPCs instead of having to run games to test the audio. For instance, I wouldn't have known that there's a big inaccuracy with pulse modulation with Mario's "whistling-in-the-shower" audio in SMRPG because, well........blargSNES has no support for enhancement chips at this time.
 
  • Like
Reactions: SLiV3R

SLiV3R

3DS Friend Code: 0473-9069-2206
Member
Joined
Jan 9, 2006
Messages
2,319
Trophies
2
Website
soundcloud.com
XP
1,847
Country
That is something I've thought about, but haven't taken the initiative to implementing. My main reason for making the player was for easier testing of the SPC700/DSP cores when I wanted to make changes, using SPCs instead of having to run games to test the audio. For instance, I wouldn't have known that there's a big inaccuracy with pulse modulation with Mario's "whistling-in-the-shower" audio in SMRPG because, well........blargSNES has no support for enhancement chips at this time.


Cool! Hope you will implement that and shuffle play! Then we can use this as a SNES radio :D
 

DiscostewSM

Well-Known Member
OP
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,482
Country
United States
When I load BlargSPC it says: "NDSP could not initialize". Anyone know how to solve the problem?

Sounds like you're running an older version of *hax + payloads, which doesn't have the NDSP service, and that you don't have the NDSP binary dumped. I would recommend that you dump the NDSP binary from a game you have using a tool like DSP Firmware Dumper.

I'll make a note of that in the OP.
 
  • Like
Reactions: SLiV3R

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    S @ salazarcosplay: @SylverReZ great to see you here