Daphile - Audiophile Music Server & Player OS

Why would you convert/upsample in real time (repeatedly), when you can do it as a batch conversion (once)?

One good reason is that I now listen to Qobuz on line service for the major part.

Second, I have a 3500+ album collection and storing (and backing up) them at 384/32 will cost something in disk space when, on the other hand, resampling on the server side has no cost other than using 10% of CPU more in the server, negligeable.You may be concerned more by network bandwidth usage, but i'm using cabled ethernet, so is never a problem to me.

This is why I used to love squeezeboxen and now i love squeezelite running apart from the server that is sitting in the attic.
 
Last edited:
So, I'm trying to setup an audio server that has Tidal support and can be controlled by some mobile (Android) application. I tried Daphile using a Virtual Machine (VirtualBox) and seems to do what I need but the sound what shuttering at times.
I have an Intel NUC I5 box that I want to use also as HTPC so my best shot would be to make Daphile work fine in a Virtual Machine and the host OS to run Kodi for example.
Does anyone managed to make Daphile work in a Virtual Machine (or don't know Docker, LXC, anyhing else? ) ?
I don't want to waste a pretty powerful machine only to run Daphile (which probably would work fine on a PI).
Thanks !

why not run LMS (and eventually Squeezelite) directly in the main OS instead? Or - even better - separate the server from the client and use a dedicated low powered, inexpensive miniPC or SOB to run Daphile/Squeezelite.
 
Transcoding from flac 44100/16 to pcm 384000/32 with SOX in LMS (the engine of Daphie) takes 10% of 1 CPU core in a 2009 AMD CoreDUO 6000+ CPU.

No needs for consuming iCore CPU, a Celeron 2930 is more than enought.
DSD upsampling is different, but I don't really think SOX is the best tool for the duty.


Hi marcoc1712,

I am very interested in this way of transcoding.
Could you please, let me know how to do it, I mean with 2 PCs with Daphile on each (first one as a "server" (LMS) and second as the "player" (squeezelite)).
I want the transcoding/upsampling to be done by the first one (LMS), as you suggest it.
I know to do it with DAPHILE but it seems it's the squeezelite doing it (not LMS).

Thanks in advance and have a nice day.
 
Transcoding from flac 44100/16 to pcm 384000/32 with SOX in LMS (the engine of Daphie) takes 10% of 1 CPU core in a 2009 AMD CoreDUO 6000+ CPU.

Can you remind me again what the benefit is supposed to be? It will after all cause a 700 kb/s stream to turn into a 25 Mb/s stream without adding any actual information - is the extra network traffic and I/O load really justified?
 
Sox will only process pcm. I think daphile DSD transcoding is a linux plugin to daphile associated with the audio device and does not use Sox or lms.

NO.

There is a 'modified' version of SOX capable to convert PCM to DSD and is the one used in Daphile.

Mybe you are referring to DSDPLAY that is a LMS plugin that allow LMS (and Daphile) to stream DSD files to clients either 'native' or DOP depending on audio device capabilities.
 
Last edited:
Hi marcoc1712,

I am very interested in this way of transcoding.
Could you please, let me know how to do it, I mean with 2 PCs with Daphile on each (first one as a "server" (LMS) and second as the "player" (squeezelite)).
I want the transcoding/upsampling to be done by the first one (LMS), as you suggest it.
I know to do it with DAPHILE but it seems it's the squeezelite doing it (not LMS).

Thanks in advance and have a nice day.

You have different way.

First off all, you need to use either Daphile (only client) or Squezelite x. 1.8.3 or higher with -W option enabled or Squeezelite-R2, the last being my modified version of the Triode's Squeezelite 1.6.5, the others incorporatng same mods (among others).

This is necessary becouse a bug in LMS sending upsampled WAV/PCM streams to players.

Then the 'usual' way is to play with Files Type Settings and custom-convert.conf in LMS, but it's not so intuitive, it's easy to make erorrs and 'broke' the system too, so I wrote a plugin to accomplish this in an easier way (not really easy, but easier).

Not sure, but I think you could use Daphile as server to upsample and convert.

I wrote a plugin (C-3PO) meant to make thinghs easier (not really easy but easier) using LMS 7.9 in any supported hw/os. It act as a 'combined' user interface over file type conversions and SOX parameters, completely replacing the usage of custom-convert.conf file.

You coul find instruction to install it here: https://github.com/marcoc1712/C-3PO/releases

After installation You will have a 'main' setting page and a page for each player in the player setting sub menu of LMS.

The simplest way to use the plugin, if you have few players, is to populate settings for each player.

To do this please uncheck the "Use global settings" check box and check "Show details".

This way, the 'main' parameters are used as a default, but You could change any of them per player.

A guide is availlable in Italian, but I think is quite intuitive, Just ask if you need any assistance here.

Marco
 
Can you remind me again what the benefit is supposed to be? It will after all cause a 700 kb/s stream to turn into a 25 Mb/s stream without adding any actual information - is the extra network traffic and I/O load really justified?

HI, If (as I suppose) you are the same Julf writing on squeezebox server forum, we already had this discussion, but never mind, here some points:

1. Any UPSAMPLING DAC do the same and the point is not to add informaton (no informations to add, since from 0 Hz to 20.5 KHz ANY waveform is described at 44100 Hz) BUT to move far away from the audio band artifacts and digital noise.

2. Other than upsampling you have filters and dithers to apply, using an external pc to accomplish this and using a NOS DAC give you some more 'grainy' control over this.

3. In a client server environment, doing upsampling and file type conversion (transcoding) in the server and keeping it far away form the dac (in the basement in my case) could let you use a low powered, inexpensive and quiet miniPc as client, and - at least - this is not hurting sound quality.

4. Some (and you, if I well recall) argued that the network duty introduced by a so bigger stream could be worst than the benefit of removing transcoding and upsampling.

I realized the first version of Squeezelite-R2 and C-3PO in order to demostrate that this preconception was really wrong:

We found that in differen hw and OS, transcoding flac to pcm AND upsampling from 44100/16 to 384000/32 is way more CPU consuming than simply receiving the PCM 384000/32 stream and play it. In my miniPC CPU moves from 50% to 15%, but in other situation moves from 90% to 50% and this is a GREAT improovement.

Off corse you need to have a consistent network in order to handle the needed bandwidth, modern wifi could be enought, cabled ethernet is firtst choice.
 
Last edited:
HI, If (as I suppose) you are the same Julf writing on squeezebox server forum

"There can only be one" :)

1. Any UPSAMPLING DAC do the same and the point is not to add informaton (no informations to add, since from 0 Hz to 20.5 KHz ANY waveform is described at 44100 Hz) BUT to move far away from the audio band artifacts and digital noise.
Indeed. So the DAC does it on it's own.

We found that in differen hw and OS, transcoding flac to pcm AND upsampling from 44100/16 to 384000/32 is way more CPU consuming than simply receiving the PCM 384000/32 stream and play it. In my miniPC CPU moves from 50% to 15%, but in other situation moves from 90% to 50% and this is a GREAT improovement.
But did you compare it to the load of not upsampling in the PC, but letting the DAC do it in the way it was designed to?

Off corse you need to have a consistent network in order to handle the needed bandwidth, modern wifi could be enought, cabled ethernet is firtst choice.
Wifi could possibly do it if you don't have any other traffic, but you are pushing it.
 
"There can only be one" :)

But did you compare it to the load of not upsampling in the PC, but letting the DAC do it in the way it was designed to?

Sorry, i missed the question.

Yes I did, in my miniPc playing 4410/16 is 8% CPU max.

So what?

If you are feeding an upsampling DAT you maybe better send 'native' PCM to it, I agree, but me, for instance, I have a PCM1704 R2R non oversampling DAT, server in the basement and a good Cat5e cabled ethernet, so I really think this is the best solution to me.

Can't see your point against this.
 
Last edited: