Home of the Squeezebox™ & Transporter® network music players.
Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 30
  1. #11
    Senior Member pippin's Avatar
    Join Date
    Oct 2007
    Location
    Berlin
    Posts
    13,954
    Hm, why don't you just download the latest version from github? So much easier than working with tarballs.
    Or you could just use one of the Linux installer packages. There's nothing compiled in there unlike on Windows.
    ---
    learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
    Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
    at penguinlovesmusic.com
    New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch

  2. #12
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    2,963
    Quote Originally Posted by pippin View Post
    Hm, why don't you just download the latest version from github? So much easier than working with tarballs.
    Or you could just use one of the Linux installer packages. There's nothing compiled in there unlike on Windows.
    It's all good now, thanks. I just need to try to get what I want to work, and I still have a lot to go. This part of the code is really hard for me to learn
    LMS 7.7, 7.8 and 7.9 - 5xRadio, 3xBoom, 4xDuet, 1xTouch, 1 SB2. Sonos PLAY:3, PLAY:5, Marantz NR1603, JBL OnBeat, XBoxOne, XBMC, Foobar2000, ShairPortW, JRiver 21, 2xChromecast Audio, Chromecast v1 and v2, , Pi B3, B2, Pi B+, 2xPi A+, Odroid-C1, Odroid-C2, Cubie2, Yamaha WX-010, AppleTV 4, Airport Express

  3. #13
    Senior Member
    Join Date
    Dec 2009
    Location
    Albinea (Bologna Area) Italy
    Posts
    471
    Quote Originally Posted by philippe_44 View Post
    Hi - I was trying to find a solution for the following issue:

    When LMS has to downsample a file because the player does not support its sample rate (eg more then 44.1KHz), the samplerate indicated in the slimproto header is the original rate, not the downsampled one. For any self-describing format, this is not an issue, but for for pcm, the player has no way to know the real sampling rate, so playback sounds like chipmunk. I'm not trying to argue if LMS should send the actual rate or the original one in slimproto, maybe it's by design to let the player display the original file data, but one way to fix that would be to add in the content-type of the stream sent by LMS, the actual sample rate as well (audio/L16;rate=xxx). Today, LMS just sends audio/L16 as a content-type. Can somebody points me a bit where, in the LMS code, this is done so that I can propose a patch? I know marcoc did something for squeezelite, but it does not seem to fill the need of raw PCM and non-local files.

    Thanks
    That's a common problem with PCM in LMS, it always communicate as it is in the original file, that's why i've modified squeezelite to investigate header instead of believe to slimproto.

    to handle downsampling when the player is not capable to play original samplerate, we normally have 'transcoding' but is not working in PCM for the very same reason, plus pcm is an exceptioni in transcoding Helper, so you'll need to patch also that file.

    I've found this working:

    Code:
    line 352:
    
    		#if ($type eq $checkFormat && enabledFormat("$type-$checkFormat-*-*")) {
    		if (enabledFormat("$type-$checkFormat-*-*")) {
    			push @profiles, "$type-$checkFormat-transcode-*";
    		}
    having defined the wav pcm transcode * profile in convert.conf

    But it does not solve your original problem, slimproto will always say is the original sample arte.
    __________________________________________________ __________
    SB+, Klimo Merlino + Kent Gold, Monitor Audio Studio 20 Gold SE+, Klimo reference and DIS Interconnect.

  4. #14
    Senior Member
    Join Date
    Dec 2009
    Location
    Albinea (Bologna Area) Italy
    Posts
    471
    Quote Originally Posted by pippin View Post
    Step 1: use any OS but Windows
    Step 2: there is no step 2

    Seriously: if you want to develop anything directly on LMS you probably want to try a different OS.
    Pretty easy to run LMS on a Pi or in a VM on a Windows machine these days...
    Why not windows?

    i normally use ubuntu, but I also have windows Xp and 10 running form code for test purpose, i.e. socketwrapper is a nightmare to work with, so i need some special debug environment and when I'm doing this, i work directly in windows with no probs, exactly as in ubuntu.

    Now I'm using perl 5.14 in both, but I'm wondering if maybe we could use some newer version in win 10. Any experience?
    __________________________________________________ __________
    SB+, Klimo Merlino + Kent Gold, Monitor Audio Studio 20 Gold SE+, Klimo reference and DIS Interconnect.

  5. #15
    Senior Member pippin's Avatar
    Join Date
    Oct 2007
    Location
    Berlin
    Posts
    13,954
    When I was running Perl from source under Windows it was a nightmare and generally caused all kinds of trouble but admittedly it's been a long time ago.
    But having to cope with ActivePerl and stuff... I'd probably find it easier to just run LMS on ubuntu or something in a VM
    ---
    learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
    Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
    at penguinlovesmusic.com
    New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch

  6. #16
    Senior Member
    Join Date
    Dec 2009
    Location
    Albinea (Bologna Area) Italy
    Posts
    471
    Quote Originally Posted by pippin View Post
    When I was running Perl from source under Windows it was a nightmare and generally caused all kinds of trouble but admittedly it's been a long time ago.
    But having to cope with ActivePerl and stuff... I'd probably find it easier to just run LMS on ubuntu or something in a VM
    I agree it's easier in linux, but, at least when talking about transcoding, you need to test windows too, you have too many 'special cases' here.

    I did lay down the transcoders path in LMS, some time ago and find out where we miss the transcoding information in slimproto when PCM is involved, if someone is interested in making some light in those corners, I could try to repeat that journey.
    __________________________________________________ __________
    SB+, Klimo Merlino + Kent Gold, Monitor Audio Studio 20 Gold SE+, Klimo reference and DIS Interconnect.

  7. #17
    Babelfish's Best Boy mherger's Avatar
    Join Date
    Apr 2005
    Location
    Switzerland
    Posts
    19,535

    Sample rate for PCM when resampling

    > Now I'm using perl 5.14 in both, but I'm wondering if maybe we could use
    > some newer version in win 10. Any experience?


    That's the biggest issue about running LMS on Windows: you'll have a
    very hard time getting it to run with anything but 5.14 - which is no
    longer available for download (ping me, if you need help ;-)). I
    seriously would not recommend to try to run it with anything else. As
    somebody else said: it would be easier to just set up some Linux VM for
    this sole purpose...

    --

    Michael

  8. #18
    Senior Member
    Join Date
    Dec 2009
    Location
    Albinea (Bologna Area) Italy
    Posts
    471
    Quote Originally Posted by mherger View Post
    > Now I'm using perl 5.14 in both, but I'm wondering if maybe we could use
    > some newer version in win 10. Any experience?


    That's the biggest issue about running LMS on Windows: you'll have a
    very hard time getting it to run with anything but 5.14 - which is no
    longer available for download (ping me, if you need help ;-)). I
    seriously would not recommend to try to run it with anything else. As
    somebody else said: it would be easier to just set up some Linux VM for
    this sole purpose...

    --

    Michael
    Hi Michael, I've got the 5.14.1 installer and is working fine also in win10.
    thanks.

    As I wrote, I need it mainly for debug and test purpose, how could I test windows features (like socketwrapper) without?
    Until the day you are going to remove support to windows, I like to be sure that my plugins works also there.
    __________________________________________________ __________
    SB+, Klimo Merlino + Kent Gold, Monitor Audio Studio 20 Gold SE+, Klimo reference and DIS Interconnect.

  9. #19
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    2,963
    Quote Originally Posted by marcoc1712 View Post
    That's a common problem with PCM in LMS, it always communicate as it is in the original file, that's why i've modified squeezelite to investigate header instead of believe to slimproto.

    to handle downsampling when the player is not capable to play original samplerate, we normally have 'transcoding' but is not working in PCM for the very same reason, plus pcm is an exceptioni in transcoding Helper, so you'll need to patch also that file.

    I've found this working:

    Code:
    line 352:
    
    		#if ($type eq $checkFormat && enabledFormat("$type-$checkFormat-*-*")) {
    		if (enabledFormat("$type-$checkFormat-*-*")) {
    			push @profiles, "$type-$checkFormat-transcode-*";
    		}
    having defined the wav pcm transcode * profile in convert.conf

    But it does not solve your original problem, slimproto will always say is the original sample arte.
    Your patch for squeezelite works perfectly for local files (when 'loc' option is used) but in my case, I never use the 'loc' option, so I have to deal with whatever is sent by LMS over socket interface. Thereare 2 ways to send sample rate for raw PCM, either in the slimproto header or in the HTTP header when the player gets the audio. The mime format for pcm can be audio/L16;rate=XXXX;channels=YYY. I was thinking of putting the real sample rate here but in fact I think my analysys of the problem is wrong:

    The main problem for me is that when a player only accepts pcm and source is aac (eg), transcoding rules will chose faad but LMS does not seem to know the original sampling rate at all. In the LMS code extract of my previous post, the sampling rate value is empty at that moment when transcoding is used and LMS seems to send then 44100 by default to the player in slimptoro (when sending a wav/aif file, it is set, but it's not added to the mime type) . So the issue is not even "where/how" to *send* the sample rate (that I've found where to patch the mime type) but how to *find* its value when transcoding happens (and that I've not found it)
    LMS 7.7, 7.8 and 7.9 - 5xRadio, 3xBoom, 4xDuet, 1xTouch, 1 SB2. Sonos PLAY:3, PLAY:5, Marantz NR1603, JBL OnBeat, XBoxOne, XBMC, Foobar2000, ShairPortW, JRiver 21, 2xChromecast Audio, Chromecast v1 and v2, , Pi B3, B2, Pi B+, 2xPi A+, Odroid-C1, Odroid-C2, Cubie2, Yamaha WX-010, AppleTV 4, Airport Express

  10. #20
    Senior Member
    Join Date
    Dec 2009
    Location
    Albinea (Bologna Area) Italy
    Posts
    471
    Quote Originally Posted by philippe_44 View Post
    Your patch for squeezelite works perfectly for local files (when 'loc' option is used) but in my case, I never use the 'loc' option, so I have to deal with whatever is sent by LMS over socket interface. Thereare 2 ways to send sample rate for raw PCM, either in the slimproto header or in the HTTP header when the player gets the audio. The mime format for pcm can be audio/L16;rate=XXXX;channels=YYY. I was thinking of putting the real sample rate here but in fact I think my analysys of the problem is wrong:

    The main problem for me is that when a player only accepts pcm and source is aac (eg), transcoding rules will chose faad but LMS does not seem to know the original sampling rate at all. In the LMS code extract of my previous post, the sampling rate value is empty at that moment when transcoding is used and LMS seems to send then 44100 by default to the player in slimptoro (when sending a wav/aif file, it is set, but it's not added to the mime type) . So the issue is not even "where/how" to *send* the sample rate (that I've found where to patch the mime type) but how to *find* its value when transcoding happens (and that I've not found it)
    R2 patch do works also with stream (not even sure it works with local files) but it need stream containers with an header in input, not raw pcm.

    As you said, problem is that when LMS handle pcm in output it does not care about the sample rate after transcoding, but looks for the one in the original file, if from file, or uses 44100.

    I have never used HTTP header, but I suppose is built with same information used to fill slimproto one.
    __________________________________________________ __________
    SB+, Klimo Merlino + Kent Gold, Monitor Audio Studio 20 Gold SE+, Klimo reference and DIS Interconnect.

Posting Permissions

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