-
I'm slightly confused about Shairport's use of interpolation, and how to get the best quality audio path to my soundcard. The sound card ONLY supports 48 khz / 24 bit. Therefore, someone needs to convert from the 44.1 khz coming in to 48 khz - but I don't know where this is happening! (The 16 bit to 24 bit conversion doesn't matter here.) The docs talk about using the SOXR interpolation if CPU is powerful enough (it is), but what is this in reference to interpolating? I don't think this is related to the signal to my soundcard / ALSA - is this for the drift correction or something? In which case, if that is nothing to do with the soundcard, is it suitable or redundant to use an As a side note, Shairport doesn't actually 'see' my card as ALSA only reports 48 khz so Shairport thinks it isn't compatible, even though it all works fine. This makes me think that Shairport is giving ALSA a 44.1 khz signal and ALSA is then converting to 48 khz and therefore using the higher quality plugin would be a Good Idea™️. Any advise here gratefully received! |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
Shairport Sync (SPS) uses interpolation only to maintain synchronisation (i.e. for drift correction), and it always outputs at a frame rate of 44,100 or an integer multiple thereof. Happily, most cards now do indeed handle 44,100 frames per second correctly. It does appear that many users have had success using ALSA's built-in transcoding facilities to drive cards that can't do 44,100. Having said that, there would be two issues. First, the quality of the transcoding is not known. Secondly, to maintain synchronisation, it would need to faithfully report delays in the real output device, and it would need to it in terms of frames at 44,100. If may well be a very good transcoder and report delays accurately -- I haven't heard users express dissatisfaction -- but it's outside the control of SPS, I'm afraid.
You could be right. If you send audio to a device prefixed with Maybe some other users have experience of different qualities of transcoder solutions -- I'm afraid I do not. FYI, there is another application – sps-alsa-explore – for checking the suitability of sound cards for SPS, but I don't expect it'll turn up anything new in this case. |
Beta Was this translation helpful? Give feedback.
-
Thanks @mikebrady for the comprehensive reply - very useful to help me understand how to get the best quality output. |
Beta Was this translation helpful? Give feedback.
Shairport Sync (SPS) uses interpolation only to maintain synchronisation (i.e. for drift correction), and it always outputs at a frame rate of 44,100 or an integer multiple thereof. Happily, most cards now do indeed handle 44,100 frames per second correctly.
It does appear that many users have had success using ALSA's built-in transcoding facilities to drive cards that can't do 44,100. Having said that, there would be two issues. First, the quality of the transcoding is not known. Secondly, to maintain synchronisation, it would need to faithfully report delays in the real output device, and it would need to it in terms of frames at 44,100. If may well be a very good transcoder and report …