Home of the Squeezebox™ & Transporter® network music players.
Page 3 of 4 FirstFirst 1234 LastLast
Results 21 to 30 of 39
  1. #21
    Senior Member
    Join Date
    May 2006
    Location
    Silicon Valley
    Posts
    632
    Quote Originally Posted by mherger View Post
    As Philippe has outlined this is due to Spotty using a custom file type.
    That said: native Ogg playback unfortunately will be removed again. The
    change Philippe sponsored hasn't been accepted upstreams, and
    maintaining it in my code is beyond me.

    I'll look into Philippe's pull request anyway.

    --

    Michael
    I see that in Spotty 4.4.6, that native Ogg playback has been removed. I have not been having a problem with native playback on my devices, playing many long classical music pieces without difficulty; I un-commented the custom convert rule for spt->ogg so I can continue using native playback, and see what happens.

    Is there a place where I can drop custom convert rules that will be used by Spotty, but won't disturb the installed plugin?
    Living Room: SB Touch + DIY PSU > CI Audio VDA.2 DAC + VAC.1 PSU > VRX.1 cables > Emotiva XSP-1 Gen 2 preamp + XPA-DR2 amp > Blue Jeans cables > B&W 804 speakers
    Laptop: System76 Galago + Ubuntu 16.04 + Squeezelite + Vivaldi/Material Skin > Emotiva Little Ego DAC > Grado PS500 headphones
    Bedroom: RPi Zero W + Squeezelite > miniBOSS DAC HAT > Bose SoundLink Revolve
    Phone: Pixel 3a + SB Player + Material APK > Senn IE80 earbuds
    Server: Puget Systems Serenity + Ubuntu 18.04 + LMS 8.2

  2. #22
    Babelfish's Best Boy mherger's Avatar
    Join Date
    Apr 2005
    Location
    Switzerland
    Posts
    20,526

    transcoder order

    > Is there a place where I can drop custom convert rules that will be used
    > by Spotty, but won't disturb the installed plugin?


    I'm not sure whether there's a well defined order in which those entries
    are used. But I believe you should be able to put a file in the prefs
    folder. Not sure, though.

    --

    Michael

  3. #23
    Senior Member
    Join Date
    Jan 2010
    Location
    Hertfordshire
    Posts
    6,258
    Quote Originally Posted by Ron F. View Post
    I see that in Spotty 4.4.6, that native Ogg playback has been removed. I have not been having a problem with native playback on my devices, playing many long classical music pieces without difficulty; I un-commented the custom convert rule for spt->ogg so I can continue using native playback, and see what happens.

    Is there a place where I can drop custom convert rules that will be used by Spotty, but won't disturb the installed plugin?
    Why not just use the default transcoding to FLAC?

    Sent from my Pixel 3a using Tapatalk

  4. #24
    Senior Member
    Join Date
    May 2006
    Location
    Silicon Valley
    Posts
    632
    Quote Originally Posted by slartibartfast View Post
    Why not just use the default transcoding to FLAC?

    Sent from my Pixel 3a using Tapatalk
    Certainly transcoding from Ogg to FLAC should not result in any loss of quality, but it seems to me, that if Spotify is streaming Ogg and the renderer can render Ogg, it ought to be possible to conduct/pass the stream from originator to renderer without any intermediate transcoding!

    There might be another issue here, and this might just be rumor/myth, but I have read that Spotify can stream both 44.1 and 48 KHz sample rate content in it's 320 kbps stream. I note that when Spotty transcodes to FLAC, it is always going to encode at 44.1 KHz sample rate / 16 bits. If true, and even if down-sampling some content doesn't matter, I would prefer to just pass-through to the renderer if possible.

    Maybe the spt->flac convert rule can be modified so that the flac encoder can inherit the sample rate & bit depth from the decoder being used, but I don't know how to modify the existing rule to do that.
    Living Room: SB Touch + DIY PSU > CI Audio VDA.2 DAC + VAC.1 PSU > VRX.1 cables > Emotiva XSP-1 Gen 2 preamp + XPA-DR2 amp > Blue Jeans cables > B&W 804 speakers
    Laptop: System76 Galago + Ubuntu 16.04 + Squeezelite + Vivaldi/Material Skin > Emotiva Little Ego DAC > Grado PS500 headphones
    Bedroom: RPi Zero W + Squeezelite > miniBOSS DAC HAT > Bose SoundLink Revolve
    Phone: Pixel 3a + SB Player + Material APK > Senn IE80 earbuds
    Server: Puget Systems Serenity + Ubuntu 18.04 + LMS 8.2

  5. #25
    Senior Member
    Join Date
    Jan 2010
    Location
    Hertfordshire
    Posts
    6,258
    Quote Originally Posted by Ron F. View Post
    Certainly transcoding from Ogg to FLAC should not result in any loss of quality, but it seems to me, that if Spotify is streaming Ogg and the renderer can render Ogg, it ought to be possible to conduct/pass the stream from originator to renderer without any intermediate transcoding!

    There might be another issue here, and this might just be rumor/myth, but I have read that Spotify can stream both 44.1 and 48 KHz sample rate content in it's 320 kbps stream. I note that when Spotty transcodes to FLAC, it is always going to encode at 44.1 KHz sample rate / 16 bits. If true, and even if down-sampling some content doesn't matter, I would prefer to just pass-through to the renderer if possible.

    Maybe the spt->flac convert rule can be modified so that the flac encoder can inherit the sample rate & bit depth from the decoder being used, but I don't know how to modify the existing rule to do that.
    Hmm it seems odd that the spt to FLAC transcoding is fixed at 44.1kHz when the spt to PCM isn't as far as I can see. I wonder why that is.

    Sent from my Pixel 3a using Tapatalk

  6. #26
    Senior Member
    Join Date
    May 2006
    Location
    Silicon Valley
    Posts
    632
    Quote Originally Posted by slartibartfast View Post
    Hmm it seems odd that the spt to FLAC transcoding is fixed at 44.1kHz when the spt to PCM isn't as far as I can see. I wonder why that is.

    Sent from my Pixel 3a using Tapatalk
    I don't know, Michael or Philippe can probably explain this. In fact, comparing to how FLAC encoding is typically done in the regular convert.conf file, I don't understand why spt->flac has to be any different.

    After the Spotify Ogg stream has been decoded, why can't the FLAC encoding be done as such:
    [flac] -cs --totally-silent --compression-level-0 --ignore-chunk-sizes -
    Living Room: SB Touch + DIY PSU > CI Audio VDA.2 DAC + VAC.1 PSU > VRX.1 cables > Emotiva XSP-1 Gen 2 preamp + XPA-DR2 amp > Blue Jeans cables > B&W 804 speakers
    Laptop: System76 Galago + Ubuntu 16.04 + Squeezelite + Vivaldi/Material Skin > Emotiva Little Ego DAC > Grado PS500 headphones
    Bedroom: RPi Zero W + Squeezelite > miniBOSS DAC HAT > Bose SoundLink Revolve
    Phone: Pixel 3a + SB Player + Material APK > Senn IE80 earbuds
    Server: Puget Systems Serenity + Ubuntu 18.04 + LMS 8.2

  7. #27
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    6,733
    Quote Originally Posted by mherger View Post
    > Is there a place where I can drop custom convert rules that will be used
    > by Spotty, but won't disturb the installed plugin?


    I'm not sure whether there's a well defined order in which those entries
    are used. But I believe you should be able to put a file in the prefs
    folder. Not sure, though.

    --

    Michael
    The order of precedence of rules if the following: 1)plugins' custom-convert.conf, 2)slimserver-convert.conf, 3)custom-convert.conf, 4)convert.conf.

    After 8.0, multiple rules can exist for the same tuplet (<in>-<out>-<client-type>-<client-id>) to allow different transcode logic for different inputs (stdin, remote, file) but they are reviewed in the order described above so if they do exactly the same thing, then the precedence applies.

    So, to the previous question, unfortunately, AFAIK, the plugin rule rules
    Last edited by philippe_44; 2020-12-31 at 20:12.
    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

  8. #28
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    6,733
    Quote Originally Posted by Ron F. View Post
    I don't know, Michael or Philippe can probably explain this. In fact, comparing to how FLAC encoding is typically done in the regular convert.conf file, I don't understand why spt->flac has to be any different.

    After the Spotify Ogg stream has been decoded, why can't the FLAC encoding be done as such:
    [flac] -cs --totally-silent --compression-level-0 --ignore-chunk-sizes -
    Because what is sent to the flac encoder is raw data, so it does not know how to interpret it and needs a bit of help. When spt-pcm is used, LMS tells the player what are sample rate/ size & channels.

    Now, the good news is that with the latest PR in 8.1, Michael, we know now the source sample rate, size & channels as we needed that for smart transcode
    Code:
    flc flc transcode *
    	# IFT:{START=--skip=%t}U:{END=--until=%v}D:{RESAMPLE=-r %d}E:{NOSTART=I}
    	[flac] -dcs $START$ $END$ --force-raw-format --sign=signed --endian=little -- $FILE$ | [sox] -q -t raw --encoding signed-integer -b $SAMPLESIZE$ -r $SAMPLERATE$ -c $CHANNELS$ -L - -t flac $RESAMPLE$ -C 0  -
    So we could improve the spt-flc rule, I think, with (to be tested)
    Code:
    spt flc * *
    	# RT:{START=--start-position %s}
    	[spotty] -n Squeezebox -c "$CACHE$" --single-track $URL$ --bitrate 320 --disable-discovery --disable-audio-cache $START$ | [flac] -cs --channels=$CHANNELS$ --sample-rate=$SAMPLERATE$ --bps=$SAMPLESIZE$ --endian=little --sign=signed --fast --totally-silent --ignore-chunk-sizes -
    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

  9. #29
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    6,733
    Quote Originally Posted by Ron F. View Post
    I see that in Spotty 4.4.6, that native Ogg playback has been removed. I have not been having a problem with native playback on my devices, playing many long classical music pieces without difficulty; I un-commented the custom convert rule for spt->ogg so I can continue using native playback, and see what happens.

    Is there a place where I can drop custom convert rules that will be used by Spotty, but won't disturb the installed plugin?
    I'm trying to work on that to have the librespot maintainer include that option natively so that Michael does not have too much backporting to do, but that's my first steps with Rust and oh boy, what a nightmare
    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

  10. #30
    Senior Member
    Join Date
    May 2006
    Location
    Silicon Valley
    Posts
    632
    Quote Originally Posted by philippe_44 View Post
    Because what is sent to the flac encoder is raw data, so it does not know how to interpret it and needs a bit of help. When spt-pcm is used, LMS tells the player what are sample rate/ size & channels.

    Now, the good news is that with the latest PR in 8.1, Michael, we know now the source sample rate, size & channels as we needed that for smart transcode
    Code:
    flc flc transcode *
        # IFT:{START=--skip=%t}U:{END=--until=%v}D:{RESAMPLE=-r %d}E:{NOSTART=I}
        [flac] -dcs $START$ $END$ --force-raw-format --sign=signed --endian=little -- $FILE$ | [sox] -q -t raw --encoding signed-integer -b $SAMPLESIZE$ -r $SAMPLERATE$ -c $CHANNELS$ -L - -t flac $RESAMPLE$ -C 0  -
    So we could improve the spt-flc rule, I think, with (to be tested)
    Code:
    spt flc * *
        # RT:{START=--start-position %s}
        [spotty] -n Squeezebox -c "$CACHE$" --single-track $URL$ --bitrate 320 --disable-discovery --disable-audio-cache $START$ | [flac] -cs --channels=$CHANNELS$ --sample-rate=$SAMPLERATE$ --bps=$SAMPLESIZE$ --endian=little --sign=signed --fast --totally-silent --ignore-chunk-sizes -
    I have modified my copy of Spotty's custom-convert.conf to test this spt-flac transcoding rule, currently playing using slimserver 8.2. So far so good.

    Happy New Year!

    Edit: I had to comment out my spt->ogg rule to enable spt->flac, now streaming 705 kbps flac to my RPi Zero running squeezelite.
    Last edited by Ron F.; 2021-01-01 at 00:27.
    Living Room: SB Touch + DIY PSU > CI Audio VDA.2 DAC + VAC.1 PSU > VRX.1 cables > Emotiva XSP-1 Gen 2 preamp + XPA-DR2 amp > Blue Jeans cables > B&W 804 speakers
    Laptop: System76 Galago + Ubuntu 16.04 + Squeezelite + Vivaldi/Material Skin > Emotiva Little Ego DAC > Grado PS500 headphones
    Bedroom: RPi Zero W + Squeezelite > miniBOSS DAC HAT > Bose SoundLink Revolve
    Phone: Pixel 3a + SB Player + Material APK > Senn IE80 earbuds
    Server: Puget Systems Serenity + Ubuntu 18.04 + LMS 8.2

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •