1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Where we are now: The site is back up and running! The character set encoding issue has been fixed so old posts should now look ok. I am currently working on themes/skins etc and I will be deleting the temporary green skin very soon as it has many issues. I will do a very quick variation on the stock blue skin first just to get a light-grey background and san-serif font, and I will set this as default. Later this week I will hopefully add a professional third-party skin in pfm colours (life is way too short to do this crap myself, and I've found one I really like than needs next to no tweaking). We are getting there slowly...
    Dismiss Notice
  3. May I please request people check and update their email address if it is out if date. I ask as I’m getting countless bounce errors as the server fails to send notifications through etc. I’ll eventually figure out how to send these to a black hole somewhere, but it makes sense to address it at source as quite a few folk are obviously not getting the thread and conversations notifications they have set in their preferences.
    Dismiss Notice
  4. Things you need to know about the new ‘Conversations’ PM system:

    a) DO NOT REPLY TO THE NOTIFICATION EMAIL! I get them, not the intended recipient. I get a lot of them and I do not want them! It is just a notification, log into the site and reply from there.

    b) To delete old conversations use the ‘Leave conversation’ option. This is just delete by another name.
    Dismiss Notice

Noise Shaping

Discussion in 'audio' started by Jim Audiomisc, Feb 9, 2017.

  1. Richard Kimber

    Richard Kimber pfm Member

    It's the USB driver and DAC firmware.

    Sox can; but that's command line. I haven't come across a player with a good GUI that enables you to manipulate the various parameters. Squeezelite allows some parameter setting using the sox library. Maybe other players do, but I haven't explored them.

    - Richard.
  2. Jim Audiomisc

    Jim Audiomisc pfm Member

    OK. So the limit you referred to is down to the specific USB DACs requirement for a 'driver'? (i.e. it isn't compliant with the standard USB Audio Classes) Or?...

    I can recall that SoX lets you specify coefficients for a TDA FIR resampling filter. But not if it lets you specify alternative conversion architechtures or Noise Shaping filters. But then I've never looked into that. It does have a 'play' command, but again I've never checked if that lets you use all the other facilities it has! But presumably its libraries, etc, could let a good programmer base something on them.
  3. Jim Audiomisc

    Jim Audiomisc pfm Member

    Well, my comment was based on not having ever noticed a difference between lower rates than that! :)

    I suspect what might be 'best' in any *player* conversion would depend on the specifics of the DAC hardware. In effect, trying to tweak around any imperfections or limits it has.

    As I think I've said before, I'm not personally very keen on 'one bit' anyway. And as has been pointed out, if you have the power and flexibility of a computer program/system then, yes, it probably makes sense to capitalise on the high bit-depths available for all intermediate processing.
  4. Jim Audiomisc

    Jim Audiomisc pfm Member

    As per earlier comments I've now written a 'first rough version' of a simple program that will generate a 16bit LPCM wave file from a named 24bit LPCM wave file. This first version has some limitations, and is for RISC OS. However the results agree with the earlier demo when I feed it 24bit input files with test waveforms, etc. e.g. Have a look at


    if interested. Note that the right-hand scale is nominally wrt bits per sample for a white noise background limit. And that in reality I suspect the bulk of 24bit real-world recorded files actually have noise levels around 20bits or higher, anyway!

    I'll make a tidied up version of the program (with source code) avalable on the web when I get a chance - fingers crossed, tomorrow sometime. That will let 'C' programmers see the code in its basic form. I'll then do a Linux (ROX) version and maybe add some tweaks, etc.
  5. Jim Audiomisc

    Jim Audiomisc pfm Member

    I've now put up an initial demo version of a program that will generate 16bit Noise Shaped files from 24bit ones. It is quite limited and is currently only a RISC OS demo example. But it does include the source code in a version of 'C' along with a 'Help file'. Anyone interested can find it here


    All being well, I'll do a Linux/GCC version sometime. But anyone who wants to is welcome to do something better. :)
  6. darrenyeats

    darrenyeats pfm Member

    FWIW, after some time, for now, I've settled on 19-22kHz.
  7. darrenyeats

    darrenyeats pfm Member

    According to http://stackoverflow.com/questions/3578615/mp3-bitrate-detection-through-frequency-spectrum-analysis the frequency cut offs for MP3 depend on presets, so you can check using Audacity the behaviour of your MP3 converter at various bitrates (if it's not configurable). I always recommend VBR with MP3.

    The sub-20kHz roll off of MP3 might explain why some people claim MP3 sounds "nicer" than CD.

    When I checked using my MP3 converter (soundconverter using lame) 256VBR seemed to be flat to around 19kHz with a not cliff-like roll off above that. I'll probably switch from 192VBR and 256VBR for mobile duty.
  8. tuga

    tuga pfm Member

    Hi Jim,

    I don't know if this is of any interest but HQPlayer allows user selection of different noise shaping patterns.
    Might be worth a listen.


Share This Page