pink fish media

Go Back   pink fish media > discussion > audio

Notices

Reply
 
Thread Tools
  #31  
Old 13-02-17, 09:17 AM
adamdea adamdea is offline
pfm Member
 
Join Date: Jul 2006
Posts: 5,169
Quote:
Originally Posted by Jim Audiomisc View Post
For the end-user the simplest approach is to just 'play out the samples' if your DAC can accept them. If you're worried about 'ringing' or 'artifacts near the top of the band' then apply a filter. However if you just want to slope off the top off the band or similar, the filter shape is probably the main issue.
I thought HQ Player was all about upsampling to DSD in software which will require noise shaping
Reply With Quote
  #32  
Old 14-02-17, 02:33 AM
Jim Audiomisc Jim Audiomisc is offline
pfm Member
 
Join Date: Mar 2016
Posts: 2,271
Quote:
Originally Posted by adamdea View Post
I thought HQ Player was all about upsampling to DSD in software which will require noise shaping
Ah! OK, afraid I had no idea of that. :-)

Afraid I'm now unclear what the advantage would be of that specific system. Many DACs upsample, possibly to lower bit depths. So far as I can tell, it is then mainly a question of how well that specific system is implimented.

Personally, though, I regard DSD as fundamentally flawed. In part because 1-bit is effectively impossible to fully dither. Also because whenever I tried to model it I found all kinds of idler problems, cyclic issues, etc. This was based on the DSD modulator - i.e. ADC / upsampling - designs they published. This is in addition to the well know problems of a risk of lockup, etc. And the almost impossible task of finding analytical solutions to determine if/when a high order system is free of such things or not.

I did ask some of the Philips people at the time about this and they accepted my results but said they couldn't explain further. This was years ago, though.

More generally, upsampling isn't magical. It can be handy for the designer and provide a good approach to processing. But it can't improve the SNR beyond what the source contains, etc. So *in principle* no better than a simple NOS followed by an excellent analogue filter. May be much easier to do in mass production, etc, though!

So in reality any questions end up being wrt careful implimentation and not making mistakes that unintentionally degrade the results.

Need to know more about a case to go much further.
Reply With Quote
  #33  
Old 14-02-17, 10:13 PM
Werner Werner is offline
pfm Member
 
Join Date: Sep 2007
Posts: 2,729
Quote:
Originally Posted by Jim Audiomisc View Post
(about HQPlayer)

Afraid I'm now unclear what the advantage would be of that specific system.
Control of filter and sigma-delta modulator quality. Most DAC chips cut corners with progressively higher sample rate. HQPlayer preserves numerical quality all the way.

But of course it offers enough knobs and buttons for the audiophool phraternity to mess it all up again ;-)
Reply With Quote
  #34  
Old 15-02-17, 01:56 AM
Jim Audiomisc Jim Audiomisc is offline
pfm Member
 
Join Date: Mar 2016
Posts: 2,271
Quote:
Originally Posted by Werner View Post
Control of filter and sigma-delta modulator quality. Most DAC chips cut corners with progressively higher sample rate. HQPlayer preserves numerical quality all the way.

But of course it offers enough knobs and buttons for the audiophool phraternity to mess it all up again ;-)
Thanks. I didn't know anything about it until now. Prompted by the above I did a quick search. It seems to be available for Linux, but so far as I saw, it's proprietary and closed-source. Is that correct?

It occurred to me that it may be possible to use it to do test conversions by piping or diverting its output to a file. That way, let people really examine what the effects / changes / etc are.

FWIW I did write a simple upsampler a few years ago.

http://www.audiomisc.co.uk/software/...psampling.html

But that was *just* for RISC OS to let people experiment with basic changes to a FIR reconstuction filter. I was prompted because the RO port to the Pandaboard only gave access to high sample rates. (HAL limitation so far as I could tell.) Hence any 44.1k/48k material had to be upsampled before going to the HAL. The snag being that the players people where using could only do clumsy linear interpolations. So those programs aren't really what's wanted here.

As per another current topic thread (MQA bad for Music?), I think it may help people if there is a program that lets then generate <high rate>/24bit -> <same high rate>/16bit Noise Shaped versions of files for comparison purposes. So unless you or someone else can do a better job before I manage, I'll have a go when I can.

It occured to me, though, that HQPlayer may serve the purpose very flexibly. But I'd then wonder about the details of what it was doing, and we'd need to grab the output to find out answers to questions about how much FLACing would reduce the size of the required files/streams this had been done to.
Reply With Quote
  #35  
Old 15-02-17, 02:03 AM
Werner Werner is offline
pfm Member
 
Join Date: Sep 2007
Posts: 2,729
It has its thread at CA

http://www.computeraudiophile.com/f11-software/

The developer regularly posts there under the name 'Miska'.
Reply With Quote
  #36  
Old 15-02-17, 02:13 AM
adamdea adamdea is offline
pfm Member
 
Join Date: Jul 2006
Posts: 5,169
Quote:
Originally Posted by Werner View Post
Control of filter and sigma-delta modulator quality. Most DAC chips cut corners with progressively higher sample rate. HQPlayer preserves numerical quality all the way.

But of course it offers enough knobs and buttons for the audiophool phraternity to mess it all up again ;-)
Does this mean that for say dsd 256 it upsamples to 24/11.2 mHz (with a sharp filter at 5.6 Mhz) before the modulator, whereas an ordinary dac chip probably upsamples "properly" to 384khz or so and then applies zero order or first order hold to get to the modulator rate?

Last edited by adamdea; 15-02-17 at 03:39 AM.
Reply With Quote
  #37  
Old 15-02-17, 02:54 AM
Werner Werner is offline
pfm Member
 
Join Date: Sep 2007
Posts: 2,729
Such things. And modulator architecture itself.
Reply With Quote
  #38  
Old 15-02-17, 05:13 AM
Richard Kimber Richard Kimber is offline
pfm Member
 
Join Date: Mar 2012
Posts: 739
Quote:
Originally Posted by Jim Audiomisc View Post
Thanks. I didn't know anything about it until now. Prompted by the above I did a quick search. It seems to be available for Linux, but so far as I saw, it's proprietary and closed-source. Is that correct?
There can be problems with Linux, depending on your DAC etc. With my current DAC and Ubuntu version I can only get DSD128 using DoP. I think direct DSD to 512 needs at least kernel 4.9 and possibly a firmware update (when Ubuntu 17.04 comes out I'll find out). Yes HQPlayer is proprietary, and expensive IMHO, and the GUI could be improved. But with Win 10 DSD512 is worth it - again IMHO.

- Richard.
__________________
Odroid XU4, Max2Play; HQPlayer; T+A DAC 8 DSD; Benchmark AHB2; Quad 2805s; 2xAE sub
Reply With Quote
  #39  
Old 15-02-17, 05:43 AM
Jim Audiomisc Jim Audiomisc is offline
pfm Member
 
Join Date: Mar 2016
Posts: 2,271
TBH personally I have no real interest in using DSD or LPCM rates above 192k as I can't detect any difference they might give. So the limits you outline would be irrelevant for me as an end-user. My interest would just be intellectual curiosity.

Is the limit an ALSA one, or somewhere else in the chain?

I don't currently have any USB DACs that go above 192k so can't even test if an plain alsa 'play' would play out DSD as 'pretend LPCM' - which is what I understand DoP to do.

I *did* ages ago have a USB DAC/ADC to test that was meant to do DSD128 using DoP but it seemed to have problems even with plain LPCM. In the end, I sent it back and didn't report on it as I think it was faulty. For DoP the behaviour seemed to be that its use of the 'flagging' bits were in a different order than specified in the documentation I read. But by then the device was showing other problems...

Doing over/up/resampling, etc, isn't inherently difficult provided you have some filter values, etc, in mind. So an open source player doing this and tweakable by the user should be possible. Has no-one done anything like this for Linux?
Reply With Quote
  #40  
Old 15-02-17, 06:30 AM
adamdea adamdea is offline
pfm Member
 
Join Date: Jul 2006
Posts: 5,169
Quote:
Originally Posted by Jim Audiomisc View Post
TBH personally I have no real interest in using DSD or LPCM rates above 192k as I can't detect any difference they might give.
As high as 192?
In the case of HQ player as I understand it is more of a software version of (most of a) delta sigma dac rather than being about playing hirez files as such.
Even if it did make sense I do wonder whether it would be better using some sort of multi bit like most delta sigma dacs, but then you'd have to find a dac to accept the input.
Reply With Quote
  #41  
Old 15-02-17, 07:41 AM
Richard Kimber Richard Kimber is offline
pfm Member
 
Join Date: Mar 2012
Posts: 739
Quote:
Originally Posted by Jim Audiomisc View Post
Is the limit an ALSA one, or somewhere else in the chain?
It's the USB driver and DAC firmware.

Quote:
Doing over/up/resampling, etc, isn't inherently difficult provided you have some filter values, etc, in mind. So an open source player doing this and tweakable by the user should be possible. Has no-one done anything like this for Linux?
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.
__________________
Odroid XU4, Max2Play; HQPlayer; T+A DAC 8 DSD; Benchmark AHB2; Quad 2805s; 2xAE sub
Reply With Quote
  #42  
Old 15-02-17, 07:56 AM
Jim Audiomisc Jim Audiomisc is offline
pfm Member
 
Join Date: Mar 2016
Posts: 2,271
Quote:
Originally Posted by Richard Kimber View Post
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.

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.
Reply With Quote
  #43  
Old 15-02-17, 08:02 AM
Jim Audiomisc Jim Audiomisc is offline
pfm Member
 
Join Date: Mar 2016
Posts: 2,271
Quote:
Originally Posted by adamdea View Post
As high as 192?
In the case of HQ player as I understand it is more of a software version of (most of a) delta sigma dac rather than being about playing hirez files as such.
Even if it did make sense I do wonder whether it would be better using some sort of multi bit like most delta sigma dacs, but then you'd have to find a dac to accept the input.
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.
Reply With Quote
  #44  
Old 16-02-17, 07:38 AM
Jim Audiomisc Jim Audiomisc is offline
pfm Member
 
Join Date: Mar 2016
Posts: 2,271
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

http://jcgl.orpheusweb.co.uk/temp/shaped.png

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.
Reply With Quote
  #45  
Old 17-02-17, 07:24 AM
Jim Audiomisc Jim Audiomisc is offline
pfm Member
 
Join Date: Mar 2016
Posts: 2,271
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

http://jcgl.orpheusweb.co.uk/temp/WAVNoiseShaping.zip

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

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 08:19 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2017, vBulletin Solutions Inc.
pink fish media