Jump to content
IGNORED

Upsampling Spotify to DSD with foo_dsd_asio and JRiver


jdubs

Recommended Posts

Hey Guys

 

Is anyone doing this?  I understand foo_dsd_asio does DSD upsampling better than JRiver and I'm not interested in Roon..so I'm pursuing this method (assuming it work for folks).

 

Would love to hear if anyone has it up and running and what their configuration is.

 

Thanks!

Jim

Link to comment

Hi Jim,

 

Given that you are proposing to use the Spotify desktop application to control the playback and not the audio file player software that you'll be passing Spotify's audio output to (so use the player just for upsampling), why don't you just use the foo_dsd_asio plugin for what it was designed for, ie, the foobar2000 player?

 

Incidentally, how did you intend getting the Spotify'desktop app's audio output to JRiver Media Center in the first place?

 

John

We are far more united and have far more in common with each other than things that divide us.

-- Jo Cox

Link to comment
7 hours ago, Cebolla said:

Hi Jim,

 

Given that you are proposing to use the Spotify desktop application to control the playback and not the audio file player software that you'll be passing Spotify's audio output to (so use the player just for upsampling), why don't you just use the foo_dsd_asio plugin for what it was designed for, ie, the foobar2000 player?

 

Incidentally, how did you intend getting the Spotify'desktop app's audio output to JRiver Media Center in the first place?

 

John

Hey John

 

How would you route Spotify to Foobar?

 

For JRiver, there's a WDM driver that you can install which allows all you to route any playback device through JRiver.

 

-Jim

 

Link to comment
On 8/17/2017 at 11:15 PM, jdubs said:

For JRiver, there's a WDM driver that you can install which allows all you to route any playback device through JRiver.

Not sure if you are aware that the Spotify desktop app doesn't have the ability to use a particular Windows audio output/playback device, so you'd need to set JRiver's WDM driver as the default device in Windows audio Playback devices settings. This isn't ideal since using the default Windows audio output/playback device leaves it open to receiving the sound from all other applications that use it. Also, the default device always uses the sample rate & bit depth that has been set for shared mode, so you need to make sure the WDM driver's shared mode sample rate, in Playback devices>Properties>Advanced>Default format, has been set to match Spotify's audio output sample rate, otherwise the Windows mixer will resample the audio.

 

 

On 8/17/2017 at 11:15 PM, jdubs said:

How would you route Spotify to Foobar?

Unlike JRiver, foobar2000 doesn't provide a Windows audio driver for input to its audio engine. However, the foo_record/Recorder plugin component can be used to bit perfectly capture the audio coming from the audio device that has been set as the default Windows audio input/recording device. If you also set a virtual audio cable, eg VB-Audio's Hi-Fi Cable, as both the default Windows audio playback device and the default Windows recording device, this should enable routing of the Spotify desktop app's audio output to the foo_record plugin.

Case's foobar2000 Components - foo_record/Recorder (v0.1)

VB-Audio Virtual Audio Cables - Hi-Fi Cable (& ASIO Bridge)

 

- Make sure you set the Hi-Fi Cable's input and output to the same Default format setting in the relevant Windows audio device's Properties>Advanced.

- Ignore the Hi-Fi Cable's ASIO Bridge function (ASIO Off), as you won't be using it.

- Configure foobar2000's foo_record plugin in Library>Configure>Advanced>Recording, with the same settings for Sample rate, Bits per sample and Number of channels to match those set for the Hi-Fi Cable.

- Add the //:record location as a playlist 'track' in foobar2000, via the File/Add location... menu.

- Select & play the //:record track to capture the Hi-Fi Cable's routed audio and play it through foobar2000's audio engine.

 

Note the captured audio will be delayed by 1-2 seconds.

 

We are far more united and have far more in common with each other than things that divide us.

-- Jo Cox

Link to comment
  • 1 month later...

Alright, thanks for the help here...I’ll now let folks know where I ended up w this.

 

I upgraded my Jriver to v23 x64 and have been using it to sox upsample everything before going through DSD 512 uodampling using foo_dsd_asio Type D.

 

Using Jrivers inbuilt Wasapi loopback feature to do the above on my streaming stuff including Spotify.

 

its all working great and sounds way better than JRivers own dsd up sampling.  I also have HQPlayer but it’s user experience interface blows and it doesn’t sound THAT much better than foo_dsd_asio through JRiver.

 

 Any questions, ask away!

 

Jim

Link to comment
  • 2 weeks later...
On 10/16/2017 at 6:27 AM, jdubs said:

Alright, thanks for the help here...I’ll now let folks know where I ended up w this.

 

I upgraded my Jriver to v23 x64 and have been using it to sox upsample everything before going through DSD 512 uodampling using foo_dsd_asio Type D.

 

Using Jrivers inbuilt Wasapi loopback feature to do the above on my streaming stuff including Spotify.

 

its all working great and sounds way better than JRivers own dsd up sampling.  I also have HQPlayer but it’s user experience interface blows and it doesn’t sound THAT much better than foo_dsd_asio through JRiver.

 

 Any questions, ask away!

 

Jim

Hi Jim,

I am very interested in this thread. I also have not had a great experience with JRiver's DSD conversion - lots of skipping and doesn't sound great....

I wonder if you would mind putting together a "setup for Dummies" guide?

I must admit I struggle to get my head around loopback...

Cheers,

Dave

 

Roon / JRiver with Audiolense XO -> Chord Hugo TT2 -> Cyrus Mono x200 Signatures -> Audiovector Si3 Avantgarde Arretes

Link to comment
1 hour ago, eternaloptimist said:

Hi Jim,

I am very interested in this thread. I also have not had a great experience with JRiver's DSD conversion - lots of skipping and doesn't sound great....

I wonder if you would mind putting together a "setup for Dummies" guide?

I must admit I struggle to get my head around loopback...

Cheers,

Dave

 

Quote

 

Hey Dave!  

 

DON'T bother with the JRiver DSD....It is way inefficient and doesn't sound that great (as you observed).  I don't have a guide per-se, but relied HEAVILY on this:

 

https://diyaudioheaven.wordpress.com/digital/pc-software/foobar-2000-for-dummies-part-3-new-experimental-sacd-plugin-v-0-9-x/

 

Now, this is specific to Foobar, but it does have the link to the program you need to install.

 

https://sourceforge.net/projects/sacddecoder/files/dsd_transcoder/

 

Once that is installed, it will be a select-able output device in JRiver.  Once you select it as your output device, go into Device Settings and then to Open Driver Control Panel.  From there, you can tell it what sample rates to upsample to DSD.  Setting this up will be based on your DAC's capabilities and what you're trying to accomplish.  For my DAC, I have everything set to DSD512, SDM type D, NONE, and DSD for all of the PCM sample rates.

 

After that is done, make sure you select your DAC from the ASIO Device drop down at the top.

 

Once you're done with "all" that....you're good to go!  Exit it out (it might ask you to Save your settings) and then go play any of your local media.

 

Regarding Wasapi loopback and getting the above to work with Spotify, go to File and Open Live.  Then select WASAPI Loopback.  That then causes anything material normally routed through your soundcard to go through JRiver, which has now been set up to upsample to DSD.

 

Nothing more to do in JRiver....you can now control playback in Spotify directly.

 

Make sense?

 

-Jim

 

 

Link to comment
7 hours ago, jdubs said:

 

Hey Dave!  

 

DON'T bother with the JRiver DSD....It is way inefficient and doesn't sound that great (as you observed).  I don't have a guide per-se, but relied HEAVILY on this:

 

https://diyaudioheaven.wordpress.com/digital/pc-software/foobar-2000-for-dummies-part-3-new-experimental-sacd-plugin-v-0-9-x/

 

Now, this is specific to Foobar, but it does have the link to the program you need to install.

 

https://sourceforge.net/projects/sacddecoder/files/dsd_transcoder/

 

Once that is installed, it will be a select-able output device in JRiver.  Once you select it as your output device, go into Device Settings and then to Open Driver Control Panel.  From there, you can tell it what sample rates to upsample to DSD.  Setting this up will be based on your DAC's capabilities and what you're trying to accomplish.  For my DAC, I have everything set to DSD512, SDM type D, NONE, and DSD for all of the PCM sample rates.

 

After that is done, make sure you select your DAC from the ASIO Device drop down at the top.

 

Once you're done with "all" that....you're good to go!  Exit it out (it might ask you to Save your settings) and then go play any of your local media.

 

Regarding Wasapi loopback and getting the above to work with Spotify, go to File and Open Live.  Then select WASAPI Loopback.  That then causes anything material normally routed through your soundcard to go through JRiver, which has now been set up to upsample to DSD.

 

Nothing more to do in JRiver....you can now control playback in Spotify directly.

 

Make sense?

 

-Jim

 

Thanks Jim.

I installed DVD transcoder from the subfolder in the downloaded zip file.

Couldn't see what if anything, I needed to do with the other files.....

Selected as Output device. Went into Device settings... Set all to DSD in Open Driver Control Pane....Set output to my T+A DACs ASIO driver.

But... I cannot for the life of me find where to set the sample rates!! I see in the foobar instructions that you have to go to DSD Processor to set, but where is this in JRiver??

Thanks again,

Cheers,
Dave

JRiver settings.JPG

Roon / JRiver with Audiolense XO -> Chord Hugo TT2 -> Cyrus Mono x200 Signatures -> Audiovector Si3 Avantgarde Arretes

Link to comment
12 hours ago, jdubs said:

 

Hey Dave!  

 

DON'T bother with the JRiver DSD....It is way inefficient and doesn't sound that great (as you observed).  I don't have a guide per-se, but relied HEAVILY on this:

 

https://diyaudioheaven.wordpress.com/digital/pc-software/foobar-2000-for-dummies-part-3-new-experimental-sacd-plugin-v-0-9-x/

 

Now, this is specific to Foobar, but it does have the link to the program you need to install.

 

https://sourceforge.net/projects/sacddecoder/files/dsd_transcoder/

 

Once that is installed, it will be a select-able output device in JRiver.  Once you select it as your output device, go into Device Settings and then to Open Driver Control Panel.  From there, you can tell it what sample rates to upsample to DSD.  Setting this up will be based on your DAC's capabilities and what you're trying to accomplish.  For my DAC, I have everything set to DSD512, SDM type D, NONE, and DSD for all of the PCM sample rates.

 

After that is done, make sure you select your DAC from the ASIO Device drop down at the top.

 

Once you're done with "all" that....you're good to go!  Exit it out (it might ask you to Save your settings) and then go play any of your local media.

 

Regarding Wasapi loopback and getting the above to work with Spotify, go to File and Open Live.  Then select WASAPI Loopback.  That then causes anything material normally routed through your soundcard to go through JRiver, which has now been set up to upsample to DSD.

 

Nothing more to do in JRiver....you can now control playback in Spotify directly.

 

Make sense?

 

-Jim

 

 

OK... so I am idiot....

I have subsequently installed Foobar, installed ASIO and added the components, configured Foobar etc. so that within Foobar I can play any file and it is converted to DSD512. Excellent!

But then..  how to get it to work with JRiver?  If I select DSD Transcoder in the JRiver output options, it just plays the native file....

Cheers,

Dave

Roon / JRiver with Audiolense XO -> Chord Hugo TT2 -> Cyrus Mono x200 Signatures -> Audiovector Si3 Avantgarde Arretes

Link to comment
1 hour ago, jdubs said:

Dude, my bad on this.  The link was to the foobar instructions...sorry about that.  I had good success with Foobar but JRiver is better.

 

So, to get the right output device installed in JRiver, install this:

 

https://sourceforge.net/projects/sacddecoder/files/foo_dsd_asio/

 

THAT will give you the output option in JRiver.

 

-Jim

 

 

Thanks for sticking with me on this, Jim. Much appreciated.

Unfortunately... no success. I had installed foo_dsd_asio from the link, which includes DSD Transcoder.....

 

In the Foobar setup, there are 2 ASIO driver options listed:   ASIO: DSD Transcoder (PoP/ Native) AND  DSD: ASIO: DSD Transcoder (PoP/Native).  If the first option is selected... no conversion, plays PCM unchanged. If the second is selected... success in Foobar! In the Readme instructions, the DSD:ASIO: DSD Transcoder output is recommended.

 

But... in the JRiver drop down output options, there is only DSD Transcoder (Pop/Native) [ASIO].   There is no DSD: DSD Transcoder (PoP/Native)  option.... I wonder if this is the problem?  I just keep getting PCM without DSD conversion / upsampling....

 

Are there any other JRiver settings I am not getting right??

Cheers,
Dave

 

Roon / JRiver with Audiolense XO -> Chord Hugo TT2 -> Cyrus Mono x200 Signatures -> Audiovector Si3 Avantgarde Arretes

Link to comment
On 10/29/2017 at 7:53 PM, eternaloptimist said:

Thanks for sticking with me on this, Jim. Much appreciated.

Unfortunately... no success. I had installed foo_dsd_asio from the link, which includes DSD Transcoder.....

 

In the Foobar setup, there are 2 ASIO driver options listed:   ASIO: DSD Transcoder (PoP/ Native) AND  DSD: ASIO: DSD Transcoder (PoP/Native).  If the first option is selected... no conversion, plays PCM unchanged. If the second is selected... success in Foobar! In the Readme instructions, the DSD:ASIO: DSD Transcoder output is recommended.

 

But... in the JRiver drop down output options, there is only DSD Transcoder (Pop/Native) [ASIO].   There is no DSD: DSD Transcoder (PoP/Native)  option.... I wonder if this is the problem?  I just keep getting PCM without DSD conversion / upsampling....

 

Are there any other JRiver settings I am not getting right??

Cheers,
Dave

 

All good, we'll get you up and running!  Actually, download the first file in that link called ASIOProxyInstall-0.9.4.zip

 

That's the one to install.

 

-Jim

Link to comment

Alas... 

ASIOProxy0.9.4 installed. 

Foo_dsd-asio selected and setup in the output device selection in JRiver. Conversion rates setup, ASIO output to my DAC ASIO driver.

Tested with DSD to 128...

The driver crashes every time it tries to startup.

When I attempt to output Roon to the driver as a test... it also crashes the driver, but Roon recovers...

I think there is an incompatibilty issue with the driver and my system.

Thanks for all your time and advice, Jim, but I don't think its going to happen.... :(

 

Roon / JRiver with Audiolense XO -> Chord Hugo TT2 -> Cyrus Mono x200 Signatures -> Audiovector Si3 Avantgarde Arretes

Link to comment
  • 3 weeks later...
On 10/31/2017 at 11:15 AM, jdubs said:

All good, we'll get you up and running!  Actually, download the first file in that link called ASIOProxyInstall-0.9.4.zip

 

That's the one to install.

 

-Jim

Yah! Finally got it working!

Needed to change the Channel offset from the default to channel 0 AND increase buffer to 250ms.

Then all good. JRiver strangely will sometimes hang on stopping the track but no issues with changing between tracks.

Now all JRiver output converted to DSD512 with only 12% CPU usage. 

Will continue experimenting....

 

Roon / JRiver with Audiolense XO -> Chord Hugo TT2 -> Cyrus Mono x200 Signatures -> Audiovector Si3 Avantgarde Arretes

Link to comment

May have spoken too soon.....

foo_dsd_asio has led to system instability in my system.

When it works, great!  Unfortunately, tends to crash JRiver, either on stopping a track or when changing between source sample rates. Also, high background CPU usage even when not actually playing content.

So... nice to prove it works, but just not stable.

 

Roon / JRiver with Audiolense XO -> Chord Hugo TT2 -> Cyrus Mono x200 Signatures -> Audiovector Si3 Avantgarde Arretes

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...