What does the WAV header of the "firmware" file look like ?
Results 11 to 20 of 29
-
2021-01-23, 13:29 #11
- Join Date
- Oct 2005
- Location
- Ireland
- Posts
- 20,143
-
2021-01-23, 14:04 #12
- Join Date
- Jan 2010
- Location
- Hertfordshire
- Posts
- 6,262
-
2021-01-23, 14:16 #13
- Join Date
- Jan 2010
- Location
- Hertfordshire
- Posts
- 6,262
Maybe a Naim DAC V1 is more likely. You can download the firmware here
https://www.naimaudio.com/sites/defa...rsion-1.16.zip
-
2021-01-23, 16:34 #14
- Join Date
- May 2008
- Location
- Canada
- Posts
- 6,740
WAV to PCM is not a conversion, this is bit perfect. Now of course the header is removed, but that's not altering audio. Now, we'd need to know what your DAC expects to do the update, but the header should never have been sent to the DAC anyway, although there was some bugs here in the past.
Yes, things have changed to get fixed which, as I said, might come with mistakes I've made. Let's see what your DAC expects and figure out while it does not work anymoreLMS 8.1.x on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3
-
2021-01-23, 17:29 #15
- Join Date
- May 2008
- Location
- Canada
- Posts
- 6,740
I also tried again using foobar2k and my 24/192 test file works @ 9.2Mbps, per foobar. Can you share a bridge log and your bridge settings? It will be difficult to further progress without that as it seems to be specific to the UPnP bridge.
Here is a bit of explanation if it helps
- WAV, PCM and AIF are basically the same un-encoded format as far as LMS system is concerned. They differ because WAV and AIF have a file header that describe the content and WAV is coded in little endian (low byte first) and AIF is big endian. PCM has nothing and need a different way to tell players what format they are receiving (sample rate, size, channels)
- Originally, Squeezeboxes were declaring supporting PCM and AIF and LMS was supposed to strip out the header and send just the raw data but there was issues wrt header suppression across various LMS releases. In some cases, the header was passed and it only worked because header is 44 bytes which stays aligned with 1 or 2 channels @ 16 bits.
- The server sends a message to start playback that contains the sample rate, size and endianness and then the player grabs the raw data from LMS through an HTTP request
- Squeezelite has added the possibility to receive the real header while grabbing data and use it to properly know file format and size. This was useful because sometimes when transcoding to un-encoded, LMS was setting the wrong sample rate (too complicated to go through that, but that has been fixed anyway).
- To inform LMS that it can handle the header, Squeezelite (and friends) added the -W option which includes "wav" in the list of reported codecs to LMS. When LMS sees a "modern" player, it always sends aif with header but wav header only if the "wav' codec has been authorized. For legacy SB, headers are removed all the time.
- Don't forget that LMS will resample audio if the sample rate is above the player's max rate
- UPnP players can accept WAV files, AIF files or PCM. In the case of PCM, they use the HTTP protocol to know sample rate and size, where for WAV/AIF they use the header.
- The UPnP bridge is an enhanced Squeezelite but it may need to do some translation for unencoded format.
- User can tweak if the bridge is authorized to use AIF, WAV or PCM but unless forced, the bridge will only use a format if it is authorized by user *and* supported by player.
- Typically, if LMS sends an AIF file and the bridge is only authorized to use WAV, it will do byte re-ordering. It is not changing the audio from a signal processing point of view, but it is changing the binary stream
- The bridge will apply replay gain & fade on samples if the received format is unencoded or if it is in non-thru mode. The LMS volume *never* changes samples, the volume command is forwarded to the UPnP player.
- Now, UPnP devices have their own way to handle 24 bits samples (see https://wiki.multimedia.cx/index.php/PCM). The bridge can do the re-ordering if needed but this *only* applies when sending raw PCM to the player (note this is not about *receiving raw pcm for LMS, but this is *sending* to the player). There is no packing mode for WAV and AIF. Still, this is not changing audio bit exact, but that changes stream bit-exact.
- Finally, the bridge can truncate 24 bits to 16 bits when sending WAV, AIF or PCM if user set it to as some UPnP devices either don't support 24 bits in PCM (but do in WAV)
- Remember there is no option to tell LMS what is the maximum sample size authorized by a player.
So, there are many options to make things go wrong ( or go right, depends how you look at it). That's why I need to decorrelate the white noise from the DAC upgrade issue because there are many ways where the the bitstream is changed but this is still an audio-exact file.
For the "silence/white noise", I need logs to know exactly what is being sent to the bridge.
To get the exact bit exact *file*, you must make sure that no byte-reordering happens. So if you firmware is in WAV, then lock the "raw format" of the UPnP bridge to use WAV (for the update). Make sure the WAV 'firmware' file is not using a format that forces LMS to resample or the bridge to truncate (I don't understand why the upgrade header is set to 24/192, it does not make sense BTW, a 16/44 will do as well and would be much more neutral)Last edited by philippe_44; 2021-01-23 at 20:00.
LMS 8.1.x on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3
-
2021-01-23, 20:02 #16
- Join Date
- May 2008
- Location
- Canada
- Posts
- 6,740
LMS 8.1.x on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3
-
2021-01-24, 03:55 #17
- Join Date
- Oct 2005
- Location
- Ireland
- Posts
- 20,143
If DAC is a V1.
AFAICT Nothing funny in the WAV header. Manual says DAC must be in a Firmware update mode before playing the file so firmware update is in a controlled manner.
Manual also says , before firmware update run the BitPerfect test with the BitPerfect test files and during update volume must be full. It looks like BitPerfect is Mac/iTunes only and maybe no longer available (last posts were in 2016) so unlikely to provide any diagnostic help.
-
2021-01-24, 05:22 #18
- Join Date
- Jan 2010
- Location
- Hertfordshire
- Posts
- 6,262
The OP also reported
"* With Squeezelite 1.8 on a PI connect via USB I can play 24 bit files also, but they are not bit perfect, which is because wav is converted to pcm. The PI is connected to the DAC which is able to check if playback is bit perfect or not."
I assume this means that LMS reports "Converted to PCM". Why would this be, mine doesn't do that.
Sent from my Pixel 3a using Tapatalk
-
2021-01-24, 06:40 #19
- Join Date
- Oct 2005
- Location
- Ireland
- Posts
- 20,143
-
2021-01-25, 06:09 #20
- Join Date
- Sep 2015
- Posts
- 3
No bitperfect playback of wavfileswith newer LMS versions
Am 24.01.2021 um 00:34 schrieb philippe_44:
>
> schoeppi wrote:
>>> Am 23.01.2021 um 06:26 schrieb philippe_44 <philippe_44.9vwywn (AT)
>> no-mx (DOT) forums.slimdevices.com>:
>>>
>>>
>>> Oh, that's different then: the problem is with the UPnP bridge, not
>> with
>>> any other player?
>>
>> Yes, that seems to be the case.
>>
>> * With a Boom I can play 24 bit wav files perfectly, did not check if
>> conversion from wav to pcm is done.
>> * With Squeezelite 1.8 on a PI connect via USB I can play 24 bit files
>> also, but they are not bit perfect, which is because wav is converted to
>> pcm. The PI is connected to the DAC which is able to check if playback
>> is bit perfect or not.
>> * The renderer in the DAC, which is connected via the upnp bridge, is
>> not able to play the 24 bit wav files.
>> , at least I can hear nothing. The log showed that no conversion is done
>> and I am sure it worked before, because a few months ago I was able to
>> update my DAC’s firmware by playing a wav file exactly the same way I
>> try it now.
>>
>> So defenetly something must have been changed, but I do not know where
>> to look for the problem and if it is because of changes in LMS, the upnp
>> bridge or even because of a setting in DAC :-(. I do no upsampling or
>> something like that and the settings for LMS and the DA
>> C did not change since the last working firmware update.
>>
>> The renderer in the DAC is working out of the box with the upnp bridge,
>> there was no need to change anything in the upnp bridge settings to make
>> gabbles playback and other things working, which cause so ofthen
>> problems with other upnp devices.
>>
>> And like said, it worked perfectly a few months ago...
>>
>> Cheers,
>>
>> Schoepp
>
> WAV to PCM is not a conversion, this is bit perfect. Now of course the
> header is removed, but that's not altering audio. Now, we'd need to know
> what your DAC expects to do the update, but the header should never have
> been sent to the DAC anyway, although there was some bugs here in the
> past.
Sorry, I can not tell in detail how the DAC is handling the wav file I
need to play for the update, but maybe someone can find out more when
looking at the file or can tell me how to find out more about headers
and co:
<https://www.msbtechnology.com/wp-content/uploads/2021/01/MSB_DiscreteDAC_ver_18.wav>
> Yes, things have changed to get fixed which, as I said, might come with
> mistakes I've made. Let's see what your DAC expects and figure out while
> it does not work anymore
@philippe_44, thanks again for your great work for the LMS community and
your support. Its no problem when there are errors and its not important
to me if playback is bit perfect or not when listening to music, I just
wondered why the last firmware update for the DAC worked and the current
update is not working any more.
I'll send a log file for the upnp bridge later this evening. Maybe there
are more details about whats happning when trying to play 24 bit files
via the renderer of the DAC.
Regarding the update I was able to perform it with another player I have
by using the app for the player (Lumin) and by connecting the player via
USB to the DAC. The firmware file has been offered by minidlna which is
also running on the same machine that runs LMS.
Lets first concentrate on the issue why I can not play 24 bit files via
my DAC's renderer anymore. If this is working again, we can try to find
out why the DAC is not recognizing the fimrware file as bit perfect.
Cheers,
Schoepp