Resource icon

ulc-codec Demonstration (NDS) 2022.09.18

Hey everyone.

After developing a GBA player for my MDCT-based audio codec, I decided to port it to the DS, and in the process completely revamp both the UI and API.

As with the GBA player, this is mostly proof-of-concept (decoding 32kHz audio still takes 1-2 frames, at an overall CPU usage of ~35%). But I thought it was pretty nice as a tech demo.

More technical details are available on the GitHub page, but the basics for the codec itself are:
  • Target bitrate: 32..256kbps+ (no hard limits on playback or coding rates)
  • MDCT-based coding using sine window (window switching plus overlap switching to minimize decimation)
  • Noise-fill (similar to PNS)
  • Nybble-based syntax (no entropy-code lookups)

The GitHub page contains the source code to the player as well as the tools necessary to convert your own files.

The ROM file itself has a single demo track embedded in it (Sefa & Crypton - Lastig; all credit goes to them, and I am making no money off this project). If a DLDI interface is available, additional tracks may be added in a folder named "ulc" (an example of this is included in the download, containing Dr. Rude & RATKID - Self Esteem; all credit goes to them for the music).

I've tested the demo on an original R4 as well as an R4SDHCi card, and it works fine, provided that the CPU isn't overloaded (eg. excessively long track names; drawing the text can eat up a lot of CPU time).

Included in the download is the ROM file, a Python script to add metadata to tracks, an example song for streaming playback, and a copy of the reference encoder as of 2022-09-18 (compiled using generic x87 code; might not be as fast as the AVX version, but should be compatible everywhere) plus a batch script to use ffmpeg for handling file conversion into something the encoder can understand.

Usage:
  • A/B unpauses and pauses music, respectively
  • L/R shoulder buttons to switch between tabs
  • L/R shoulder buttons plus Select plays the previous/next song, respectively
  • Touchscreen should work about as expected (tap to play a song or change playback modes, swipe to scroll, etc.)

The codec itself is free open-source software, under the GPLv3 license.
  • Screenshot.png
    Screenshot.png
    83.5 KB · Views: 66
  • Like
Reactions: IC_
Author
Aikku
Downloads
255
Views
1,529
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from Aikku

Latest updates

  1. Update to latest encoding tools

    Heavily improved noise fill, psychoacoustics, and some improvement to transient detection. Fixed...
General chit-chat
Help Users
  • SylverReZ @ SylverReZ:
    @RedColoredStars, Companies do the exact same thing with other companies as well, so it's not just Microsoft. There are 3rd-parties like 'data brokers'.
  • RedColoredStars @ RedColoredStars:
    I'm 52 years old and one of my jobs in life was marketing research. Im well aware. I've been online for around 30 years. Everyone and their grandmother already has my personal information. One more having my email address isn't ruining my life or even effecting me in any way whatsoever.
    +1
  • RedColoredStars @ RedColoredStars:
    In fact. I freely give info. Stuff like gasoline apps, to save $, grocery apps, lots of cash back from rakuten, etc. etc.
    +1
  • RedColoredStars @ RedColoredStars:
    $300 back last year from Rakuten for allowing them to track my purchase. I'll take the money for them to know I bought a bunch of stuff for my cat and some video games. lol
  • K3Nv2 @ K3Nv2:
    No matter what you sign up for your info is out there
    +1
  • RedColoredStars @ RedColoredStars:
    Thats what im saying
  • SylverReZ @ SylverReZ:
    @K3Nv2, Exactly.
  • RedColoredStars @ RedColoredStars:
    And for people to say things like "But I use all fake info". No, they don't. lol. They use fake info for all of their banking and online shopping? Fake shipping address, fake payment info? lol
  • RedColoredStars @ RedColoredStars:
    Fake name, address and payment info for internet service, etc? lol. Ill say it again. Everyone freaks out about OMG WINDOWS!! But crickets on anything else they do.
  • RedColoredStars @ RedColoredStars:
    Other windows stuff people complain about hypocritically too. Like "But but but Windows bundle junk apps!!!!" Yeah?? So do many Linux distributions. Dont like it? Use one without them. Same with windows. Either find a pre-made version without the bundled stuff, or very easily make your own installer with what you want and do not want.
    +1
  • console @ console:
    I agree with all above! Microsoft made a biggest mess with us and everyone! I wish Microsoft company should be fired then lost it. LOL :rofl2:
    +1
  • RedColoredStars @ RedColoredStars:
    I dont like the stuff added either. I have zero use for copilot or recall. But I also just simply disable it and move on.
    +2
  • RedColoredStars @ RedColoredStars:
    Always disabled dumb cortana from day 1 too.
    +2
  • K3Nv2 @ K3Nv2:
    When you're a billion dollar company even upper management is just peons to the company
    +1
  • RedColoredStars @ RedColoredStars:
    MS is funny. Insider programs for both Windows and Xbox, where they listen to absolutely none of the insider feedback and just do what the fuck they want. lolol
    +1
  • K3Nv2 @ K3Nv2:
    Xbox idea to make midrange consoles saved them this Gen and buying your wife
  • SylverReZ @ SylverReZ:
    The Xbox is dying already. I don't know what to say, Microsoft takes the L for that one.
  • K3Nv2 @ K3Nv2:
    How is the Xbox dying?
  • K3Nv2 @ K3Nv2:
    Xbox one sold nearly 60 million units
  • SylverReZ @ SylverReZ:
    Remember when Phil was going to buy out more studios to work with them? I guess they couldn't keep up with demands.
  • K3Nv2 @ K3Nv2:
    They already have dozens of studios with big names why care about little Jim making your favorite indie point and click exclusive
  • Psionic Roshambo @ Psionic Roshambo:
    Florida just getting your driver's license.... They sell your phone number and address to marketing companies lol
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Like .3 cents a person or something
  • K3Nv2 @ K3Nv2:
    No psi that's a gun license they expect flordians to at least know how to break
    K3Nv2 @ K3Nv2: No psi that's a gun license they expect flordians to at least know how to break