Menu

#21 DoP over WASAPI and/or KS

0.6.x
wont-fix
nobody
None
5
2014-06-10
2012-10-08
J. ackL.
No

Hi Maxim,
I recently got an Amanero USB->I2S/DSD adapter (www.amanero.com) which at the moment doesn't have ASIO drivers, only WDM. This board drivers accept 0x05 DoP over WASAPI or KS (tested with JRiver) but it seems the SACD plugin is not working with neither of these. Even when the plugin is setup for DSD in the "ASIO Driver Mode" combo tyhe output is still PCM if WASAPI or KS are used. Could you pleae provide a proxy like the ASIO one or any other means to make it work? or, is this a WASAPI/KS plugin issue?

Thanks in advance.

Discussion

1 2 > >> (Page 1 of 2)
  • Maxim V.Anisiutkin

    I have crazy idea of trying ASIO4ALL to route DSD stream like: foo_dsd_asio -> ASIO4ALL -> Amanero WDM. Will it work?

     
  • J. ackL.

    J. ackL. - 2012-10-09

    Thanks Maxim, I've just checked and it does indeed work!
    I'm not too keen on ASIO4All but it'll do until they release proper ASIO drivers.

    I'm curious, will it be very complex to build a WASAPI/KS proxy or any other way of skipping ASIO4ALL? can't Foobar's WASAPI/KS plugins accept DoP in a direct connection?

    Cheers

     
  • Maxim V.Anisiutkin

    The proper way of doing DoP is to add bypass channel to foobar audio_chunk interface. This channel should directly deliver unchanged sound data to output device (like WASAPI or ASIO) without going into DSP and Volume Control chain.
    Then I would add DoP mode to foo_input_sacd and make ASIOProxy redundant.

    I don't like how ASIOProxy is implemented and not very keen of reimplementing its ugliness into another proxy.

     
  • J. ackL.

    J. ackL. - 2012-10-09

    If I understood correctly that is something in hands of the Foobar developping team, right?
    If you could confirm and give me some clues as to what I should write in HA, I'd dare post it if only to get called some names because I'm afraid chances of them actually implementing this are either 0 or none.... :)

     
  • Maxim V.Anisiutkin

    Yes, that is. Foobar SDK has audio_chunk interface which is used by input plugin to write sound data into DSP chain, then Volume Control, then output device. The need is to add something like set_mode(...) method to this interface. So it can be called like p_chunk.set_mode(BYPASS_DSP_AND_VOLUME_CONTROL) for each audio_chunk of sound data to request that this chunk is to be delvered to output device unchanged. This addition would significally simplify and deuglify the foo_input_sacd design. If there are enough interested in DoP users they might make this change...

     

    Last edit: Maxim V.Anisiutkin 2012-10-09
  • J. ackL.

    J. ackL. - 2012-10-09

    Thanks again Maxim, I'll post it at HA and see what response I get, there are some radical "MP3 is more than enough" taliban amongst the admin team that may get a little pi**ed off with this kind of petition if you know what I mean.

    Cheers

     
  • Maxim V.Anisiutkin

    Huh, a little Pi off will be probably not enough... To get things moving one is to start with the grand offence then :)

     
  • J. ackL.

    J. ackL. - 2012-10-09

    Posted, I hope I got the message content right (and also I don't get banned or burned at the stake!!).

     
  • J. ackL.

    J. ackL. - 2012-10-19

    Peter has finally answered. Here is his answer:

    http://www.hydrogenaudio.org/forums/index.php?s=0c124851062f98abfabd927e2adddb46&showtopic=97377

    Could you please help a little with this Maxim, maybe he feels benevolent and grants our request... What should I answer?

     
  • Maxim V.Anisiutkin

    What Peter says about switching off Volune/RG/DSP is not enough because all kinds of visualizers (VU meter, oscilloscope, etc) will still work and interpret DoP stream as PCM data. What's needed is to add set_data_type(t_data_type data_type) method to the audio_chunk interface. So it can be called like p_chunk.set_data_type(RAW_AUDIO_DATA) for each audio_chunk of DSD sound data to request that this chunk needs to be delvered to output device unchanged and witout any processing by visualizers like VU meter and others.

     
  • J. ackL.

    J. ackL. - 2012-10-19

    Thanks Max, lets go for round 2!!
    I'll report back what he says.

    Cheers

     
  • J. ackL.

    J. ackL. - 2012-10-19

    Well, it seems we are out of luck. There will never be proper DSD support in Foobar.

    This was Peter's answer:

    -"audio_chunk was specifically designed to carry PCM data only and will not be changed to carry anything else; using it to carry any data other than plain PCM is broken by design.
    Further than that, it cannot possibly be changed without breaking component compatibility"-

    Hopefuly I'll have ASIO drivers for my board and can ditch ASIO4All.

     
  • Maxim V.Anisiutkin

    Hehe, that sounds like very lame excuse :) Actually, he could invent the new let's say audio_chunk2 to deliver PCM and DSD data without breaking any compatibility. But he doesn't want to do this.

     
  • J. ackL.

    J. ackL. - 2012-10-19

    I think it is quite sad, as I told them, Foobar could have been the first and only free Windows fully DSD capable player but they seem to be far more interested in tagging MP3 files and such. What a pity. Anyway, your work is there and works great, thanks Maxim.

     
  • J. ackL.

    J. ackL. - 2012-10-20

    Hi again Max, was thinking if you would port both plugins (DVDA+SACD) to another free player, MusicBee is a rather nice player and being "small" maybe they are open to new features that will give them some extra "hits". It has an API people can use to write plugins like HDCD which was recently added.

     
  • Maxim V.Anisiutkin

    Kidna time to think about some popular and open source player with ASIO/WASAPI/DS/etc support.

     
  • J. ackL.

    J. ackL. - 2012-10-22

    You mean designing a new one from scratch or joining in an already existing one?
    If it is the former please count me in as a betatester, if it is the later, which one are you thinking of?

     
  • J. ackL.

    J. ackL. - 2012-10-23

    I've Googled quite a bit and haven't found any true open source player with ASIO, WASAPI and/or KS. Any pointers?

     
  • Maxim V.Anisiutkin

    Don't know. Some time ago XBMC guys were thinking of porting DSD playback into their media center, but dropped this idea. Maybe, the best way is to leave thinghs "as is" and don't bother about further sacddecoder development at all.

     
  • J. ackL.

    J. ackL. - 2012-10-24

    Maxim, it would really be a shame if you did, it was thanks to your work I discovered DSD and learned to love it to the point I'm thinking of designing a cheap DSD DAC to encourage people on a budget to try DSD. I really hope you reconsider and continue to develop SACD decoder for Foobar, XMBC or any other platform you think is best. This said, it is your life and of course no one should tell you what to do. I understand the lack of support and "closed mindness" of the Foobar team is quite upsetting but please don't let it stop you from continuing the development of your fantastic plugins.

     
  • Maxim V.Anisiutkin

    There's another request about PCM->DSD converter and development can go on with this feature.

     
  • J. ackL.

    J. ackL. - 2012-10-31

    I would have prefered DSD64->DSD128 upsampling in pure DSD domain (not DSD->PCM->DSD) but as long as you are still interested in continuing to develop your "babies" I'm more than happy with any thing you are interested in.

     
  • Maxim V.Anisiutkin

    Really I don't know how to do this upsampling without going into PCM domain.

     
  • J. ackL.

    J. ackL. - 2012-10-31

    I know Max, it was more a wish than a petition. If we could only find a way to know how it is done in Signalyst HQ player... Have you tried that player? they have a 30 day full trial on their site. It could also give some ideas for filters as it has plenty for both PCM and DSD.
    I just saw the new foo_dsd_asio but unfortunately don't have a DSD DAC yet. I have a friend with an Amanero USB adapter like mine and a B-III, I'll try to get him to test it.

     
  • Anonymous

    Anonymous - 2012-11-07

    Did you notice left and right channels are swapped for playback of straight dsd or pcm to dsd during your tests?

     
1 2 > >> (Page 1 of 2)

Anonymous
Anonymous

Add attachments
Cancel





Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.