Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Minim wishlist
23-06-2013, 14:52
Post: #11
RE: Minim wishlist
(23-06-2013 13:50)Alekz Wrote:  Since the thread is called "wish list"... Wink What about ....

Thanks for these suggestions. See responses below.

Quote:o- Variable transcoding buffer?

Many transcoding programs (e.g. sox, JRiver) have this capability that in some cases affects sound quality. The bigger the buffer the less chance the stream becomes "shallow" (also, think of, for example, skips), but the bigger the first delay.

I have experimented with different buffer sizes and I haven't found any benefit from varying the size. Do you have real-world experience of a situation where the current buffer size has caused a problem?

Quote:o- One single connection to support gapless playback for devices that do not support gapless "by default" (e.g. PS Audio PerfectWave DAC)?

If several tracks of the same resolution are chosen, create only one connection and stream all files through it. It should look like "concatenation" and feeding through a pipe. E.g. in a "metalanguage":

cat f1 f2 f3 f4 | decode | stream

This doesn't work with UPnP control points because they send a separate HTTP GET request for each track.

Quote:o- APE (MonkeyAudio) and WV support?

It is unlikely that APE will be supported. What is WV?

Quote:o- CUE support?

I would like to add this, but I haven't investigated how difficult it would be.

Quote:o- Simple Web-GUI?

In this case you will not need a UPnP control point, so you can play/control from virtually any device with a web-browser.

I don't think it's "simple" to provide the equivalent of UPnP control point functionality. I would like to add a simple web GUI for configuration (similar to MinimWatch).
Find all posts by this user
Quote this message in a reply
23-06-2013, 23:07
Post: #12
RE: Minim wishlist
(23-06-2013 14:52)simoncn Wrote:  I have experimented with different buffer sizes and I haven't found any benefit from varying the size. Do you have real-world experience of a situation where the current buffer size has caused a problem?
I know that some companies are using various buffers and that might affect the sound quality. I haven't experimented with it myself, but I've read some articles/posts on the Internet.

About the skips: if the system or disks are busy the buffer might run "out of bits". This frequently happens with hi-rez material played on PSAudio PWD.



(23-06-2013 14:52)simoncn Wrote:  This doesn't work with UPnP control points because they send a separate HTTP GET request for each track.

This is why I suggested concatenation in advance. There is a problem with Rygel compiled with VLC libraries - VLC does not support gapless. So all VLC devices might benefit from this solution.


(23-06-2013 14:52)simoncn Wrote:  What is WV?
WavPack - http://en.wikipedia.org/wiki/WavPack

(23-06-2013 14:52)simoncn Wrote:  It is unlikely that APE will be supported.
Pity...

(23-06-2013 14:52)simoncn Wrote:  I don't think it's "simple" to provide the equivalent of UPnP control point functionality.
I meant a "simple web interface", not that the implementation will be simple Wink

Another idea is a Java-based UPnP controller to run on any device. BTW, probably it already exists, does anybody know?
Find all posts by this user
Quote this message in a reply
24-06-2013, 09:18
Post: #13
RE: Minim wishlist
(23-06-2013 23:07)Alekz Wrote:  I know that some companies are using various buffers and that might affect the sound quality. I haven't experimented with it myself, but I've read some articles/posts on the Internet.

About the skips: if the system or disks are busy the buffer might run "out of bits". This frequently happens with hi-rez material played on PSAudio PWD.

MinimServer uses advanced buffering techniques to ensure that these problems don't occur. I'd be interested to hear from any MinimServer users who are experiencing audio dropouts when doing transcoding, so that I can investigate the cause of the problem.

(23-06-2013 23:07)Alekz Wrote:  This is why I suggested concatenation in advance. There is a problem with Rygel compiled with VLC libraries - VLC does not support gapless. So all VLC devices might benefit from this solution.

The UPnP renderer works as follows:

1) request track 1 and play it
2) at the end of track 1, request track 2 and play it
3) at the end of track 2, request track 3 and play it
etc.

When the server receives request 1), it doesn't know that 2) and 3) will happen at some future time, so it can't do concatenation in advance.

(23-06-2013 23:07)Alekz Wrote:  WavPack - http://en.wikipedia.org/wiki/WavPack

I don't think support for this is likely, either.

Quote:Another idea is a Java-based UPnP controller to run on any device. BTW, probably it already exists, does anybody know?

I'm not aware of any.
Find all posts by this user
Quote this message in a reply
24-06-2013, 10:17
Post: #14
RE: Minim wishlist
(24-06-2013 09:18)simoncn Wrote:  When the server receives request 1), it doesn't know that 2) and 3) will happen at some future time, so it can't do concatenation in advance.
Exactly. That's why gapless does not work. The idea is to make only one track or one stream. In this case the renderer will see only this single track and will not ask for another.
Find all posts by this user
Quote this message in a reply
24-06-2013, 10:20
Post: #15
RE: Minim wishlist
(24-06-2013 09:18)simoncn Wrote:  MinimServer uses advanced buffering techniques to ensure that these problems don't occur. I'd be interested to hear from any MinimServer users who are experiencing audio dropouts when doing transcoding, so that I can investigate the cause of the problem.
Yes, I hear occasional skips on high rez material. If run on a NAS it's much more stable. I've heard reports (for example, on the PSA forum) that skips are more common on Windows boxes.
Find all posts by this user
Quote this message in a reply
24-06-2013, 17:37
Post: #16
RE: Minim wishlist
(24-06-2013 10:17)Alekz Wrote:  Exactly. That's why gapless does not work. The idea is to make only one track or one stream. In this case the renderer will see only this single track and will not ask for another.

I think I understand. Instead of presenting each track to the control point individually, the server would present the complete album to the control point as a single track titled something like "Album Name (complete album)". Presumably the server would also present all the individual tracks to the control point as well as the complete album. Is my understanding correct?
Find all posts by this user
Quote this message in a reply
24-06-2013, 17:44
Post: #17
RE: Minim wishlist
(24-06-2013 10:20)Alekz Wrote:  Yes, I hear occasional skips on high rez material. If run on a NAS it's much more stable. I've heard reports (for example, on the PSA forum) that skips are more common on Windows boxes.

Is this only when running MinimServer on a Windows PC? Also, is it only when transcoding to WAV, or does it also occur when playing FLAC files directly from disk?

If you convert the FLAC file to WAV offline (so you're playing a WAV file from disk that's identical to the transcoded WAV), do the skips still occur?

How long in duration are the skips?

Which renderer are you using? Does this renderer use an internal buffer?
Find all posts by this user
Quote this message in a reply
24-06-2013, 22:55
Post: #18
RE: Minim wishlist
(24-06-2013 17:37)simoncn Wrote:  
(24-06-2013 10:17)Alekz Wrote:  Exactly. That's why gapless does not work. The idea is to make only one track or one stream. In this case the renderer will see only this single track and will not ask for another.

I think I understand. Instead of presenting each track to the control point individually, the server would present the complete album to the control point as a single track titled something like "Album Name (complete album)". Presumably the server would also present all the individual tracks to the control point as well as the complete album. Is my understanding correct?

Yes! Absolutely! This idea is used in PSA own eLyrics player and new Virtual Sound Card.

It should not be a complete album, even individual tracks will work gaplessly using this method, because it's the server that will see and "concatenate" separate tracks, not the renderer.
Find all posts by this user
Quote this message in a reply
24-06-2013, 23:20
Post: #19
RE: Minim wishlist
(24-06-2013 17:44)simoncn Wrote:  Is this only when running MinimServer on a Windows PC?
On both, but it's more common for Windows. It happens on a NAS as well, but only when there is another application that intensively uses the disks.

(24-06-2013 17:44)simoncn Wrote:  Also, is it only when transcoding to WAV, or does it also occur when playing FLAC files directly from disk?
I always transcode to WAV, but I read some reports about FLAC as well. But I bet it was Windows with antivirus and other processes with sporadic activity.

(24-06-2013 17:44)simoncn Wrote:  How long in duration are the skips?

Sporadic microskips.

(24-06-2013 17:44)simoncn Wrote:  Which renderer are you using?
PS Audio PerfectWave DAC with the Bridge (internal Linux card with a network interface, Rygel and VLC).

(24-06-2013 17:44)simoncn Wrote:  Does this renderer use an internal buffer?
Yes. Several buffers. The one just in front of the DAC chip is good for ~15 seconds.
Find all posts by this user
Quote this message in a reply
24-06-2013, 23:26
Post: #20
RE: Minim wishlist
(24-06-2013 22:55)Alekz Wrote:  It should not be a complete album, even individual tracks will work gaplessly using this method, because it's the server that will see and "concatenate" separate tracks, not the renderer.

This is the part that I don't understand. If the server is presenting separate tracks to the control point, the renderer will send a separate GET request for each track and the server will return only the audio data for that track.

For example, if track 1 has duration 3 minutes and track 2 has duration 5 minutes, the renderer's request for track 1 will return 3 minutes of audio data, not 8 minutes.
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


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