DTS Pass through

This topic contains 6 replies, has 3 voices, and was last updated by  d4n3ll premium 10 months, 4 weeks ago.

Viewing 7 posts - 1 through 7 (of 7 total)
  • 9. October 2015 at 16:22 #16257

    Squeezeboxes could do pass through of DTS embedded in flac when volume was fixed to 100%. I know that this can be done using RPi over HDMI because Kodi on RPi is perfectly capable of doing passing DTS-encoded flac to a DTS-capable receiver (and picorep*****r used to be able to do it before they broke it).

    As fas as I can see however squeezelite in max2play (v2.22) for RPi does not support this feature. Do you have any plans to make this happen or advice?

    12. October 2015 at 17:58 #16319

    Hi d4n3ll,

    thank you for your input.

    Do you know more details about what is necessary to implement this feature? For example kernel changes, Squeezelite playback via HDMI, …

    Kind regards

    Maximilian from Max2Play

    20. October 2015 at 13:51 #16442

    Hi Maximillian

    Really sorry about the slow response – I’ve been away.

    I’m also afraid I have no technical knowledge – I’m just a user, noyt a programmer. I know that picorep****r uses squeezelite too and could do passthrough (check out v 1.18b). As with hardware squeezeboxes it was initiated by setting output volume to 100%, but that’s simply an interface issue I guess.

    Clearly passthrough of DTS-enocoded flac over HDMI is generally feasible as the kodi installation in max2play already does it. But it would be so cool if you could add it to your squeezelite implementation.

    Best regards


    21. October 2015 at 12:12 #16461

    Hi Dan,

    first of all, we need to understand what exactly you mean by “DTS passthrough”. We guess you are talking about the drop in quality of certain music files during HDMI playback on your Squeezebox server, e.g. FLAC files with 32 bit rate and 96 KHz sampling rate are played back with 16 bit and 48 KHz only.
    If so, you should definitely try out the following steps to keep the original sound quality: Enter your Max2Play interface and go to “Raspberry Settings”. On the page, look for the section “Change HDMI Settings for Display Resolution, Framerate and Audio” and activate “Enable High-Resolution Audio on HDMI” by choosing “Max2Play Kernel with 192 Khz enabled”.

    Please let us know what your results are.

    Best regards

    Maximilian from Max2Play

    21. October 2015 at 13:00 #16463

    Hi Maximillian

    So sorry if I was not clear. I was not talking about losing quality with hi-res flac. I have hi-res audio enabled over HDMI and it works perfectly!

    This is what I mean by DTS passthrough.

    It is possible to embed a 5.1 DTS stream in a flac wrapper (not limited to 5.1), which LMS and squeezebox see as a “normal” flac file. A Squeezebox connected to a surround amplifier via coax or s/pdif will pass this file unconverted to the surround amplifer provided the Squeezebox is in passthrough mode, which is enabled by setting the output volume to be fixed at 100%. The amplifier identifies the DTS (or AC3) stream and handles it accordingly. This is a very cool feature of Squeezebox that is relatively unknown but allows those of us who have surround sound mixes of treasured albums to add these to our Squeezebox library and play them like any other album.

    The DTS files can be ripped from the “video” part of any DVD-Audio or audio bluray (or created from the lossless multichannel these discs may also have if you have expensive DTS conversion software). I have many such files (e.g the King Crimson 40th Anniversary Series, etc.) which play perfectly in 5.1 DTS using a Squeezebox Touch.

    The embedding is done using a python script. As the link below states: “spdifconvert.py is a Python script which takes as input an AC3 or DTS file (sourced from a DVD) and encapsulates it in an IEC61937 stream. This stream is then wrapped in a WAV file which can be played over an S/PDIF link with no modifications (ie no volume adjustments); a digital receiver will be able to interpret the AC3 or DTS data contained within this stream (assuming the receiver knows the AC3/DTS formats).”

    The script works perfectly to produce a WAV file with DTS embedded in it. You can then convert this WAV file to flac using flac.exe in the normal way, which does not actually compress the file further but the flac wrapper allows you to add the meta data to the file to catalog it with LMS as you would any other music file.

    More details are given here:


    Your implementation of squeezelite in max2play (I have v2.23) must modify the stream in some way, because these DTS-encoded files just produce “white” noise over HDMI. Although I do not understand the finer technicalities I believe the key is that the player passes the stream to the amplifer completely unmodified.

    I know that passthrough of these files over HDMI is possible with Squeezelite, because this works on picorep***er up to v 1.18b (sorry to keep referring to an inferior rival!), but the writers of that software seem to have broken the function since then and do not seem to be interested in answering my question as to whether they intend to fix it. I think the code is available at sourceforge. Max2Play is much cooler and more versatile and it would be great if it added this function.

    I hope this helps. I can provide you with an example DTS-encoded flac file if that would help.

    Best regards


    ps If you want to get the hang of these DTS-flac files, foobar can deal with them perfectly happily. With the DTS component enabled foobar identifies the DTS stream in the flac file and converts it on the PC. But if you want to use the higher quality conversion of your surround amp you can perform a similar trick of passing the DTS direct to the amp by simply removing the foobar DTS component. In this case you will get “white” noise if you try and play the file direct to speakers attached to the PC but if your PC is attached to a surround amp via HDMI then foobar does not attempt to read the file but simply sends the flac file to the amp unaltered.

    • This reply was modified 1 year, 1 month ago by  d4n3ll.
    23. October 2015 at 13:01 #16532

    Hi Dan,

    thanks for this very detailed post! I will have a look at it this weekend and try my best to see if I can get it working.

    Although I did not test it, you may try to add “-D” to the commandline options of Squeezelite (Webinterface -> Audioplayer -> Advanced settings)
    From Squeezelite documentation:

    -D [delay] Output device supports DSD over PCM (DoP), delay = optional delay switching between PCM and DoP in ms

    I compiled Squeezelite for Max2Play with DSD option:

    DSD – support of DSD playback via DOP (-D command line option) or conversion to pcm (requires LMS server patches)

    • This reply was modified 1 year, 1 month ago by  flysurfer.
    15. January 2016 at 14:54 #17899

    flysurfer – I added the -D commandline option but iot does not make any difference. Although I can see the similarity to DoP this is not DSD encoded flac but rather DTS. That may be important. Do you have any other thoughts on this? It must be possible as passthrough is pretty routine – e.g. Kodi in max2play can do it! And as I said before pic***pl**er could do this until they broke it without explanation.

    Thanks again for all your help.

Viewing 7 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic.

Register here