Jump to content
IGNORED

SNES Audio Capabilities and Formats (Contemporary Audio Production for SNES homebrews)


Recommended Posts

11 hours ago, johannesmutlu said:

The snes can do true 16bit 32khz audio at 128kbps as blargg has shown with his snes sound demo a long time ago by using a clever technic by disabling echo writes and avoiding adpcm, but sadly that will eat up all the ram and all the processing power of the snes to do something else, but it goes to show that the snes audio chio is more capable then we always trought to be (untill early 2001 i always trought that the snes had all sound effects builtin and that game developers couldn’t create their own sound effects),

but if we want to have good audio quality while running game code, we should instead use that 64KB audio ram as a ram buffer to swap BRR/adpcm samples in & out whether for sytheses music or streamed music, so instead of cramming all BRR samples inside that 64KB space by cutting and stretching it etc,,, we should kept each BRR sample at it’s full length to maintain it’s natural sound as much as possible to avoid the need for stretching it wich results in dry audio (unless the snes would,ve contained a high quality audio stretching feature wich sadly it doesn’t have)

for instance and i really HATE to say it but as much as i do love the music in supermario allstars, i don’t like those stretched instruments and sounds effects of it as they do just sound soo dry wich is extra compounded in those underground levels to fake echo sound (i do like that echo sound in supermarioworld much much better)

heck even those supermario advance games with it’s less interesting instruments,annoying voices but still good sound effects are of better quality despite the average GBA’s infirior soundchip,

so with that said if we could replaace those sounds in supermario allstars with restored samples of it by using the sound swapping method, then we can have better sound quality with no ugly reverb shrill/dry effect in it,

and all without the need for the mus1 chip either, why am i against the msu1 chip? Because the snes soundchip needs to be more acknowledge to be very capable, just screw that cheating msu1 chip.

by the way, we migh could use a few soundchannels of the snes to play sythesed music while 2 other soundchannels might be usable to stream samples to futher eliminate the need for a sound expansion chip and to maintain those supported homebrew games who makes use of it just be fully compatible with most snes flash cards out there so who ever knows😁

This is not possible for SNES homebrew, 32 KHz for 1 minute would be almost 4 MiB of ROM...
If you keep a CD, this solution would ultimately be possible.

And even if you reduce the sample quality, CPU -> SPC700 transfers take too long.
You lose many instruction cycles, which is problematic because the SNES CPU is not very fast.

Currently I have developed my own sound driver which, on the contrary, allows music to be compressed.
For my shmup I must have 10 songs for the game, they make a total of 29 KiB + 20 KiB of Sample.

And it uses the SNES quite well. In addition, I did quite a lot of work on the SFX which are played at 8KHz.

  • Like 3
Link to comment
Share on other sites

On 5/10/2024 at 1:13 PM, Kannagi said:

This is not possible for SNES homebrew, 32 KHz for 1 minute would be almost 4 MiB of ROM...
If you keep a CD, this solution would ultimately be possible.

And even if you reduce the sample quality, CPU -> SPC700 transfers take too long.
You lose many instruction cycles, which is problematic because the SNES CPU is not very fast.

Currently I have developed my own sound driver which, on the contrary, allows music to be compressed.
For my shmup I must have 10 songs for the game, they make a total of 29 KiB + 20 KiB of Sample.

And it uses the SNES quite well. In addition, I did quite a lot of work on the SFX which are played at 8KHz.

32 KHz uncompressed audio wouldn't be possible for homebrew that's true. However, having compressed 32KHZ brr is definitely possible.

 

I've done some test personally and you could easily fit a 1 minute vocal song at 32KHZ at about 2MB. If you use HDMA to do the streaming,

you can even still do gameplay stuff while streaming audio; however this comes at the cost of doing HDMA effects.

 

If you use exHiRom that gives you a full 8MB; so you could have a 1 minute vocal song and still have plenty of space for other things.

 

If you wanted more CPU time for gameplay, you can even reduce the sample rate to 8khz or 16khz.

 

This is an example of using HDMA sample streaming:

 

 

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

Posted (edited)
On 5/16/2024 at 12:43 AM, LexSNES said:

32 KHz uncompressed audio wouldn't be possible for homebrew that's true. However, having compressed 32KHZ brr is definitely possible.

 

I've done some test personally and you could easily fit a 1 minute vocal song at 32KHZ at about 2MB. If you use HDMA to do the streaming,

you can even still do gameplay stuff while streaming audio; however this comes at the cost of doing HDMA effects.

 

If you use exHiRom that gives you a full 8MB; so you could have a 1 minute vocal song and still have plenty of space for other things.

 

If you wanted more CPU time for gameplay, you can even reduce the sample rate to 8khz or 16khz.

 

This is an example of using HDMA sample streaming:

 

 

I do know that both star ocean and tales of phantasia also does make use of sound streaming trough the use of the flexible sound driver engine during gameplay and cut scenes,

but how about that bad apple demo wich shows 2bit streaming graphics and 16khz streamed audio, i do know that theres also a 32khz version of it but the audio will randomly crash on most snes models due a difference in a clock signal or something like that,

but let’s say what if we want to stream 4bit graphical tile data and stream 8khz audio samples for wich i assume is at an acceptible quality, then we might could do cool nifty stuff on the stock snes without any sound expansion chips while still making use of large rom chips trough the use of bankswitching to make or games as big as we want it with extra content such as 4bit color blended fmv cut scenes along with 8khz stereo audio trough HDMA, aslong the snes is fast enough and aslong the snes does have enough bandwide for that, i hope so,

 

but if that’s just not enough then we may push the chip sets inside the snes to it’s limits by adding extra ram and a sa1 chip in the cartride to get around that as a last option, so who ever knowd😁

Edited by johannesmutlu
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...