Jump to content
IGNORED

U-235 SoundEngine released!


LinkoVitch

Recommended Posts

When you've got musicians the calibre of 5o5, 2 tracks are sometimes enough :0)

 

Supporting >4 channels might be an impressive tick in a check box on a list of features, but game designers mostly just want the sound side of things to be as lightweight and efficient as possible and "sufficient" is usually good enough. Having the effects supported 100% is also more desirable than just a bit more of everything so that's what most will vote for before extending capabilities beyond what the musicians are already producing.

 

When I used 16+ channel trackers before on pretty restricted 20 year old hardware, the compromise on sound quality wasn't exactly massive but it gobbled up too much resources. I'd hate to think what would be left of the Jaguar playing 16+ channels of music plus in-game SFX. It wouldn't suit every game that's for sure :0)

  • Like 3
Link to comment
Share on other sites

When I get some time I do plan to add in support for other formats, just not got much time at the moment to do much of anything code related. All things in time I guess :D

 

sh3, I don't think you have pushed him adequately.. although I wouldn't be surprised if he did some win magic with a 0 channel mod! :D The guy is a musical wizzard (he deserves the extra 'z') :D

  • Like 2
Link to comment
Share on other sites

When you've got musicians the calibre of 5o5, 2 tracks are sometimes enough :0)

 

Supporting >4 channels might be an impressive tick in a check box on a list of features, but game designers mostly just want the sound side of things to be as lightweight and efficient as possible and "sufficient" is usually good enough. Having the effects supported 100% is also more desirable than just a bit more of everything so that's what most will vote for before extending capabilities beyond what the musicians are already producing.

 

When I used 16+ channel trackers before on pretty restricted 20 year old hardware, the compromise on sound quality wasn't exactly massive but it gobbled up too much resources. I'd hate to think what would be left of the Jaguar playing 16+ channels of music plus in-game SFX. It wouldn't suit every game that's for sure :0)

Yes, more than 16 channels is too much for older consoles... unless ALL you are doing is playing music. But 8 should be good, which is why that's what my MOD player code handles. Even with XM, it's pretty rare to need more than 12 channels unless the XM is meant as music for listening, not for games.

Link to comment
Share on other sites

  • 11 months later...
  • 3 years later...

NecroBUMP! :D

But actual news.. I have just released version 0.22 of the U-235 SE. Some minor fixes, I cannot remember all of which as it's been sat languishing on various disks and repo's for 4 (COUNT EM) 4 years!! wow! that's rubbish! I'm sorry, life and all that.

Anyway, some minor tweaks, one significant change which hopefully resolves an issue, is that when making a call to play a sample you need to divide the playback rate by 2, this frees up a much larger range of possible synthetic frequencies needed by the mod player in the higher octaves. It's very simple, if you want to play a sample at 12kHz, you simply send the play command with the frequency 6kHz. This is a loss of frequency resolution of 1 bit at the least significant end, so should have 0 noticeable effect :)

Anyone finds any issues please let me know here, via PM or email.

Now to get started on 0.23! (still got a huge growing list of things to do!)

Oh and the link: https://www.u-235.co.uk/soundengine-0-22-released/

  • Like 5
Link to comment
Share on other sites

Feature request, multi tasking.

 

Not quite sure what you are asking for here? There is a small element of multi-tasking in the engine core as it is, it shares the CPU with the Sound Engine, Mod player, Random Number Generator and Joypad reader. All of which are pretty much modules in their own rights, and run in a prioritised fashion (RNG being the lowest).

 

There are plans to allow user code modules to be hooked in (always has been on the cards), but not gotten around to that yet, it's primary purpose is sound, and there is plenty of stuff I need to fix and optimise with that. Already started the optimisation of portions of the code whilst I ease back into it, but there is roughly 3100 lines of RISC ASM to sift through and keep working together :D (I've already broken it a couple of times with single line tweaks :D )

  • Like 2
Link to comment
Share on other sites

Anyway, some minor tweaks, one significant change which hopefully resolves an issue, is that when making a call to play a sample you need to divide the playback rate by 2, this frees up a much larger range of possible synthetic frequencies needed by the mod player in the higher octaves. It's very simple, if you want to play a sample at 12kHz, you simply send the play command with the frequency 6kHz. This is a loss of frequency resolution of 1 bit at the least significant end, so should have 0 noticeable effect :)

Just wait until the "since I updated U-235, my music is one octave too high, and speech sounds like Donald Duck" posts :D

  • Like 2
Link to comment
Share on other sites

Just wait until the "since I updated U-235, my music is one octave too high, and speech sounds like Donald Duck" posts :D

 

It's all part of my plan, I have started a new life like Michael Jackson, but I couldn't afford an oxygen tent, so I got a Helium one instead, I am now trying to make everything else sound normal to me :D

  • Like 1
Link to comment
Share on other sites

 

, but there is roughly 3100 lines of RISC ASM to sift through and keep working together :D (I've already broken it a couple of times with single line tweaks :D )

 

Assembly programmers rule: First make it work, then optimize, then make it work again ;-)

  • Like 2
Link to comment
Share on other sites

I'm trying to use gcc 8.2.

I'm using it as well. I have notice smaller size code than previous much older gcc versions (using the same compiling options) but there are also some weird 'nop' instruction usage here and there for no obvious reason(s).

I've used the version 9 too but this is a Work in Progress.

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...