Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Flac:wav and DXD
27-01-2016, 19:03
Post: #11
RE: Flac:wav and DXD
(27-01-2016 18:02)simoncn Wrote:  
(27-01-2016 10:35)beckphotonik Wrote:  The track can be found at 2xhd.nativedsd.com/albums/take-one and it is track 8.
I have done some more listening this morning on headphones and other phenomena have become apparent. My tracks all start ok but break up and become silent after anything from a couple of bars to a few seconds. I have not noticed this before as the tracks I tried before my first post all started very quietly and I could well have missed this, please accept my apologies.
My test system is as described in my signature, control point is BubbleUPnP.

I purchased this track and I am hearing the same problem when the renderer is the Melco USB-DAC renderer and the server is MinimServer running on the Melco.

The problem is caused by a combination of issues:

1) The FLAC compression level of this track is too high to enable MinimStreamer running on the Melco to decompress it in real time. This is because MinimServer uses a Java library for decompression and this library has slower performance than the native FLAC library that the Melco renderer uses when MinimServer is playing a FLAC DXD file.

2) As a workaround for issue 1), I used dBpoweramp to change the compression level of the FLAC file to level 2 so that MinimStreamer can decompress it in real time. This exposed a buffering problem with the Melco USB-DAC renderer. It seems this renderer needs a fairly large initial quantity of data to prime its internal buffer and MinimStreamer doesn''t send a large enough initial quantity of transcoded data to enable the renderer to "lock onto" the stream and start playing audio.

3) As a workaround for issue 2), I have changed the way MinimStreamer buffers the stream so that it builds up a larger chunk of transcoded data before it starts sending any data to the renderer. This enables MinimStreamer to push a large enough initial quantity of data into the renderer's buffer to enable the renderer to "lock onto" the stream and play it correctly from the beginning. There is a short delay while this is happening before the stream starts playing but it isn't too much of a problem (less than 2 seconds). This change will be included in the next update to MinimStreamer.

To play your DXD FLAC files correctly using flac:wav transcoding, you will need to use dBpoweramp to convert them to compression level 2 and you will need to install the next MinimStreamer update. This should be available fairly soon.

Thanks for letting me know about this. Solving it has turned out to be quite a challenge! The FLAC compression level issue would apply when using MinimStreamer to transcode FLAC DXD to WAV on any low-powered device. The buffering issue seems to be specific to the Melco renderer and I hope the slight extra delay at the start of streaming doesn't cause any problem with other renderers. I will think about whether it would be useful to make this a configurable setting.
Wow! Many thanks for all your efforts on this and the lead, for me, that dBpoweramp can change flac compression levels. I have the free Mac trial/development/beta version so time to buy a full licence.
Thanks again for your help.

Melco N1ZH/2 (updated to EX) MinimServer2, Chord M Scaler, DAVE, SPM1200MKII, Wilson Benesch Vectors
Find all posts by this user
Quote this message in a reply
27-01-2016, 21:45
Post: #12
RE: Flac:wav and DXD
(27-01-2016 19:03)beckphotonik Wrote:  Wow! Many thanks for all your efforts on this and the lead, for me, that dBpoweramp can change flac compression levels. I have the free Mac trial/development/beta version so time to buy a full licence.
Thanks again for your help.

You're welcome! I forgot to mention that I compared the sizes of various FLAC compression levels and on your test file there was about 6% size difference between the default level 5 and level 2. Unfortunately, there is no practical way (as far as I know) to check the current compression level of a FLAC file.
Find all posts by this user
Quote this message in a reply
28-01-2016, 15:59
Post: #13
RE: Flac:wav and DXD
(27-01-2016 18:02)simoncn Wrote:  Thanks for letting me know about this. Solving it has turned out to be quite a challenge! The FLAC compression level issue would apply when using MinimStreamer to transcode FLAC DXD to WAV on any low-powered device. The buffering issue seems to be specific to the Melco renderer and I hope the slight extra delay at the start of streaming doesn't cause any problem with other renderers. I will think about whether it would be useful to make this a configurable setting.

Could this delay have any negative impact on the support for gapless playback on some renderer/control point combinations ?

Regards,
Find all posts by this user
Quote this message in a reply
28-01-2016, 19:52
Post: #14
RE: Flac:wav and DXD
(28-01-2016 15:59)Andre Gosselin Wrote:  Could this delay have any negative impact on the support for gapless playback on some renderer/control point combinations ?

Yes, this is possible. Because of issues like this, I will add a new option to control the amount of delay. The default will be no delay.
Find all posts by this user
Quote this message in a reply
03-02-2016, 17:58
Post: #15
RE: Flac:wav and DXD
(27-01-2016 19:03)beckphotonik Wrote:  Wow! Many thanks for all your efforts on this and the lead, for me, that dBpoweramp can change flac compression levels. I have the free Mac trial/development/beta version so time to buy a full licence.
Thanks again for your help.

With the new update to MinimStreamer (0.5.22), this track should play (with WAV transcoding) if the audio is converted to use compression level 2.

The update adds a new option to prebuffer audio but it turns out this is not needed in order to play this file. While making this change, I made some changes to the buffering pipeline that MinimStreamer uses and it seems these changes have resolved the issue.

The prebuffering option is available in case it turns out to be needed for other tracks or with other renderers. If the track has too high a compression level to be transcoded in real time, prebuffering will enable it to start but it will stop or break up after a few seconds.
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)