You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Having looked at this again, there are a few gotchas:
librubberband wil work only on float. As such the client will have to convert to float, then apply librubberband and then feed alsa. There are two ways of doing this: always convert to float and open the alsa device in an appropriate way or only convert (back) when stretching is required. The latter seems to be the better choice. However librubberband wants to be fed samples of 2048 bytes at a time. This will not alighn with the chunk size of snapcastc. Worst case 2047 bytes per chunk are left unstretched.
libsox is available to do tempo stretching however it only works on files, not on byte arrays in memory. There are a few threads from 2013 where Ulrich states that streaming support should be added to sox but I was unable to find it in the docs yet.
Alternatives are:
This will require more analysis.
The text was updated successfully, but these errors were encountered: