Thank you for your donation!

Solved: How to play DSD .dff files?
Thank you very much! So the problem is not with MPD, but with the Raspberry pi itself? The only way out is to edit the .dff files?
No not the Pi.

The ripping tool that was used to create the .dff file probably defaulted to big endian format which is the spec default for DSDIFF format. I assume these ripping tools have some sort if an an option for forcing little endian when creating this format.

I think most enthusiasts rip to .dsf format because it supports rich metadata. Maybe try re-ripping or converting to .dsf
@Tim Curtis

Now that I think about it, we may be mixing apples and oranges.

DFF (the file identifier for DSD interchange File Format, aka DSDIFF) is not the same as DSF (DSD Storage Facility), although both can contain DSD material.

I just looked up the DSDIFF spec to make sure I was remembering old wive's tales.

Under section 2.2 Data Types, Constants, and Notations, it says

Quote:All data is stored in Big Endian format, this means that the most significant byte of e.g. a ushort or ulong is stored first.
Clearly mediainfo knows this and interprets the leading bytes of the file appropriately.

The two sample .dff files I just downloaded are also Big Endian. I copied one to a moOde 6.5.2 player and:

pi@moode3b:/mnt/SDCARD/DFF $ mediainfo 'Smoke Gets In Your Eyes - 2.8MHz-DSD.dff'
Complete name                            : Smoke Gets In Your Eyes - 2.8MHz-DSD.dff
Format                                   : DSDIFF
Format/Info                              : Direct Stream Digital Interchange File Format
Format version                           : Version
File size                                : 223 MiB
Duration                                 : 5 min 31 s
Overall bit rate                         : 5 645 kb/s
Track name                               : Smoke Gets In Your Eyes
Performer                                : Art Lande
Writing application                      : KORG AudioGate ver.2.3.0 (Windows 7)

Format                                   : DSD
Format/Info                              : Direct Stream Digital
Commercial name                          : DSD64
Format settings                          : Big
Duration                                 : 5 min 31 s
Bit rate                                 : 5 645 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 2 822 kHz
Compression mode                         : Lossless
Stream size                              : 223 MiB (100%)

[aside - I'm surprised mediainfo reports track name, performer, and writing app. I thought .dff files could contain no metadata. The leading-bytes chunk in the file are correct according to the spec so apparently it's legit.]

It's playing just fine as I write this-

pi@moode3b:/mnt/SDCARD/DFF $ mpc status
SDCARD/DFF/Smoke Gets In Your Eyes - 2.8MHz-DSD.dff
[playing] #3/4   2:52/5:31 (51%)
volume: 30%   repeat: off   random: off   single: off   consume: off


Audio Information
Source:     SDCARD/DFF/Smoke Gets In Your Eyes - 2.8MHz-DSD.dff
Encoded at:     DSD64, 1 bit, 2.822 Mbps Stereo
Decoded to:     PCM, 16 bit, 48 kHz, Stereo, 1.536 Mbps
Destination:     Local
Output rate:     16 bit, 48 kHz, Stereo, 1.536 Mbps
Volume ctl:     Software (MPD 32-bit float with dither)
Resampling:     16 bit, * kHz, Stereo (SoX very high quality)
Polarity inv:     off
Crossfade:     off
Crossfeed:     off
Parametric EQ:     off
Graphic EQ:     off
Replaygain:     off
Normalize vol:     off
Chip options:     None
Device:     USB audio device

Interface:     USB
Formats:     S16_LE
Platform:     Pi-3B+ 1GB v1.3

On the other hand, after "Update Library" this file shows up only as "Unknown Artist", "Unknown Album" with the track title derived from the file name, not that value mediainfo found in the file.

Just my 2-cents worth.

PS - of course you posted as I was checking my post for typos.
lol, so it's not a big vs title endian thing after all, just my over analytical mind ;-)

The OP's file must be corrupt then.
I recoded all .dff files with the big ending to .dsf files with the little ending using TASCAM Hi-Res Editor. Moode has found them and is playing. ))
Nice :-)
(05-10-2020, 05:14 PM)Tim Curtis Wrote: Nice :-)

Thank you so much for your help!

Forum Jump: