I have previously posted on streaming gapless music to the DMR using WASAPI restreaming.
http://www.mede8erforum.com/index.php/topic,17266.0.htmlThe frustration for me was those solutions are limited to CD Quality i.e. 16 bit at 44.1 khz. Whilst finding those solutions i found foobar2000 could do it avoiding that limitation. It is also supports SACD/DSD playing. I decided it needs its own Tip.
So we can use that as an All in One solution. There is no need for jamcast/swyh.
This tip got longer than i expected. Fear not, i have now posted a fully set up zipped portable folder in a later reply. If you don't want to know what was done to create it, go straight to that.
http://www.mede8erforum.com/index.php/topic,17286.msg110343.html#msg110343 So the starting point is download and install foobar. The guide has helpful captures as attachments because those avoid embedded links vanishing. So less neat, but they aren't going to vanish if I use a cloud server and then shut it down. There are some guides which have suffered from that.
http://www.foobar2000.org/If contemplating skinning foobar use the Portable Installation option, and install to a folder of your choosing. See Reply 3 Capture 9. This means everything for an new skin is installed in one place, and if it doesn't work...just delete that folder and install again. So its a good idea to zip the folder with its sacd/24 bit gapless plugins, before starting to skin. Then just unzip a new version to try another skin.
Foobar2000 with its SACD plug in can play .dff files without having to pre convert to flac.
(in fact foobar is the tool normally used to do that anyway!)
http://sourceforge.net/projects/sacddecoder/Expand the zip, and select the plugin. foobar will open to install it. This won't happen with a Portable install. In that case use Foobar Preferences and install the module manually. This will be true for all subsequent modules. You don't need the asio proxy as we will be using a Virtual Hi Cable as the Playback Device. To preserve as much of the DSD information as we can, we set up DSD2PCM to its highest PCM frequency. At that rate noise is pushed high up the frequency range, and so we can use a high filter. So take the filter folder and put it where sacd was installed in appdata. See reply 1, Capture 17. Then set SACD up to convert to PCM using a high fir filter. See Capture 16.
Install the Upnp plugin
http://www.foobar2000.org/components/view/foo_upnpGapless playback is achieved by the upnp plugin capturing foobars own gapless player, making the resulting stream appear to be a file on it's upnp server. No crap mp3 here, 24 bit wav at 88.2khz. That setting gives 24 bit for sacd and studio quality flac, and 88.2 is compromise between normal 44.1 and the much higher sacd rates. It does mean CD rips are upsampled like Meridian CD players, though it dosn't mean this is as good as their £8000 player!
To have explicit control of setting 24 bit output we need the Wasapi Plug in.
http://www.foobar2000.org/components/view/foo_out_wasapiThat means we need foobar to have a sound device which dosn't create sound on the host server.
http://vb-audio.pagesperso-orange.fr/Cable/We need the Virtual hi -fi /asio cable at the bootom of that page. Once installed (needs a reboot), set up Windows Audio Playback to run the Hi-Cable at 24 bit, 88.2 khz, see first reply, Capture13. Then setup foobar to use the Virtual Hi-fi cable as the Playback device via Wasapi, see first reply, capture11.
To have explicit control of the up-sampling we need to use an up-sampling DSP. This is the one that gets the best reviews.
https://hydrogenaud.io/index.php/topic,67373.0.htmlWe add Mod2 as an active Player DSP, and set it up to only up-sample 44.1 x 2 using Integer Interpolation.See first reply, Capture12.
We add a second Mod2 as an active Player DSP, and set it up to only down-sample the SACD 352800 / 4 using Integer Decimation. See second reply, Capture18.
Then add Mod as a third active DSP, and set it to re-sample everything else to 88200. See first reply, Capture 15. This is for 48 khz / 96 khz music derived from DVD-Audio.
In upnp setup select New Profile, and create a new profile from the default data it's given. Change it to match Capture10.
I changed the Profile Capture data to the rate set for the sox plugins, 88.2 khz. Becuase it is mapped to a file, UPNP requires a file size. As the size is limited, then so is duration based on the streaming bandwidth. This setup is 4.4 mbps, and so we only get 2hr 15 minutes before a reconnection is made, poducing a drop out. You might want to reconnect after each album, or run purely for gapless CD at 16 /44.1. That will give you 6 hours instead.
You may get dropouts before the allotted upnp time. One solution is set up Advanced options to stop drives from sleeping (Capture 3).
At this point zip the folder as a pre-skinning backup.
Because we are using foobar in its Player Capture Server mode, we must be able to control it's player remotely. The best way is to use Windows Remote Desktop, as described later. If that is not possible there are some foobar plugins for this. I needed one which would work with my Win10 tablet, and found this.
http://foobar2000controller.blogspot.co.uk/2011/01/foobar2000-controller.htmlOnce installed it adds a Webgui to foobar which can be accessed remotely using a browser (Capture 1).
So the sequence is
1) Start foobar2000 on the server PC
2) Use the X3D Media Library/Upnp, and select foobar server/stream capture
3) Acess the webgui remotely to decide what music to play, and start playing.
If you miss visualization, add it using miracast
http://www.mede8erforum.com/index.php/topic,17314.0.htmlUsing foobar as a upnp serverFoobar can also be used as a upnp server, but with the addition of decoding to wav. This isn't gapless, but it's an easy way of avoiding codec issues. The user agent (capture10) has been set up to only send flac as an untouched file. All other extensions are decoded to wave. So if you search the codec folder offered by the server....it could have an m4a folder with unplayable alac tracks (not from itunes!) in it, because you have specified the m4a folder as part of the library, but they are sent as playable wave. No need to have two version of the source file.
To play albums in track order you must change the upnp servers naming setup to add track number. See capture5.