Home of the Squeezebox™ & Transporter® network music players.
Page 4 of 4 FirstFirst ... 234
Results 31 to 40 of 40
  1. #31
    Senior Member
    Join Date
    Aug 2012
    Location
    Austria
    Posts
    991
    Quote Originally Posted by Jesperlykke View Post
    Next step is to find where the audio actually is played in the code, and let this stream to the camilladsp capture [loopback].
    Then if possible let squeezelite grab the output of camilladsp and play it directly on the hardware.
    Check you assumptions. Audio data flow is:
    LMS ----(pipe)----> sox ----(pipe)----> brutefirwrapper ----(pipe)----> camilladsp ----(pipe)----> LMS ---(network)--> player

    Quote Originally Posted by Jesperlykke View Post
    I don't think i can use the Brutefirdrc as it is, due to the latency (red marks above)
    Is it a good idea or is it nogo
    Not sure how brutefirdrc's performance is relevant - wasn't using camilladsp instead of it the whole point of this exercise?
    Various SW: Web Interface | Playlist Editor / Generator | Music Classification | Similar Music | Announce | EventTrigger | LMSlib2go | ...
    Various HowTos: build a self-contained LMS | Bluetooth/ALSA | Control LMS with any device | ...

  2. #32
    Quote Originally Posted by Roland0 View Post
    Check you assumptions. Audio data flow is:
    LMS ----(pipe)----> sox ----(pipe)----> brutefirwrapper ----(pipe)----> camilladsp ----(pipe)----> LMS ---(network)--> player


    Not sure how brutefirdrc's performance is relevant - wasn't using camilladsp instead of it the whole point of this exercise?
    Hi, a little dalayed i know.
    I just wrote that, so if someone suggested to use brutefirdrc instead of camilla i would just tell that it's not so good with this long delay!

    Check you assumptions. Audio data flow is:
    LMS ----(pipe)----> sox ----(pipe)----> brutefirwrapper ----(pipe)----> camilladsp ----(pipe)----> LMS ---(network)--> player
    I'am trying to figure out where brutefir actually play's the stream. I haven't figured out how yet!

    Jesper.

  3. #33
    Senior Member
    Join Date
    Aug 2012
    Location
    Austria
    Posts
    991
    Quote Originally Posted by Jesperlykke View Post
    I just wrote that, so if someone suggested to use brutefirdrc instead of camilla i would just tell that it's not so good with this long delay!
    My response was to your question:
    Quote Originally Posted by Jesperlykke View Post
    Is it a good idea or is it nogo
    Anyway:
    Quote Originally Posted by Jesperlykke View Post
    I'am trying to figure out where brutefir actually play's the stream. I haven't figured out how yet!
    As I wrote: check you assumptions:
    - brutefir doesn't "play the stream"
    - there is no "camilladsp capture [loopback]" involved
    - squeezelite is not supposed to "grab the output of camilladsp"

    Instead: LMS ----(pipe)----> sox ----(pipe)----> brutefirwrapper ----(pipe)----> camilladsp ----(pipe)----> LMS ---(network)--> player

    Regarding where the modification has to be made (see post #6):
    Quote Originally Posted by Roland0
    - re-write BrutefirDrc/Bin/brutefirwrapper to use camilladsp instead of BruteFIR (keeping the same parameters, so you don't have to change the plugin itself)
    Various SW: Web Interface | Playlist Editor / Generator | Music Classification | Similar Music | Announce | EventTrigger | LMSlib2go | ...
    Various HowTos: build a self-contained LMS | Bluetooth/ALSA | Control LMS with any device | ...

  4. #34
    RolandO :

    Good info, thank's.

    Instead: LMS ----(pipe)----> sox ----(pipe)----> brutefirwrapper ----(pipe)----> camilladsp ----(pipe)----> LMS ---(network)--> player

    Regarding where the modification has to be made (see post #6):
    Quote Originally Posted by Roland0
    - re-write BrutefirDrc/Bin/brutefirwrapper to use camilladsp instead of BruteFIR (keeping the same parameters, so you don't have to change the plugin itself)
    I have been studying the Brutefirwrapper, but not yet figured out how to get going.
    -I will search for where brutefirdrc "pipes" the stream out, but i'am no programmer so have to learn first.

    Jesper.

  5. #35
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    18,586
    Quote Originally Posted by Jesperlykke View Post
    I have been studying the Brutefirwrapper, but not yet figured out how to get going.
    -I will search for where brutefirdrc "pipes" the stream out, but i'am no programmer so have to learn first.
    The way LMS works all decoder (e.g. faad, sox, flac) - take a stream of audio data in on stdin, process it and sends a stream out on stdout. Cammiladsp can do this as well but input is a PCM and output is PCM . If the PCM streams had WAV headers there would be no problem

  6. #36
    Quote Originally Posted by bpa View Post
    The way LMS works all decoder (e.g. faad, sox, flac) - take a stream of audio data in on stdin, process it and sends a stream out on stdout. Cammiladsp can do this as well but input is a PCM and output is PCM . If the PCM streams had WAV headers there would be no problem
    Cool.

    Well i asked if it would be possible to make camilladsp capture wav-files, but it is more work and rewrite than good is he wrote.
    I fully accept that ofcause.

    Can you perhaps point out in the brutefirwrapper where the stream is piped out?
    This must be where samplerate etc.. are detected and ready to be applied filters?

    Anyway thanks for helping

    Jesper.

  7. #37
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    18,586
    Quote Originally Posted by Jesperlykke View Post
    Can you perhaps point out in the brutefirwrapper where the stream is piped out?
    This must be where samplerate etc.. are detected and ready to be applied filters?
    You need to learn more about LMS.

    All transcoding is implemented using rules defined in convert.conf and custom-convert.conf file.

    Format conversion (e.g. AAC to Flac), resampling, etfc are part of transcoding.

    Examine and understand the convert.conf file and see how the parameters are used.

  8. #38
    Quote Originally Posted by bpa View Post
    You need to learn more about LMS.

    All transcoding is implemented using rules defined in convert.conf and custom-convert.conf file.

    Format conversion (e.g. AAC to Flac), resampling, etfc are part of transcoding.

    Examine and understand the convert.conf file and see how the parameters are used.
    Will do.

    Jesper.

  9. #39
    Senior Member
    Join Date
    Aug 2012
    Location
    Austria
    Posts
    991
    Quote Originally Posted by Jesperlykke View Post
    Can you perhaps point out in the brutefirwrapper where the stream is piped out?
    Code:
    def create_brutefir_process(brutefir_filter):
        cmdline = [ 'brutefir', '-nodefault', brutefir_filter ]
    modify cmdline

    Quote Originally Posted by Jesperlykke View Post
    This must be where samplerate etc.. are detected and ready to be applied filters?
    No, that's done in main() (variables samplerate, bitspersample)
    Various SW: Web Interface | Playlist Editor / Generator | Music Classification | Similar Music | Announce | EventTrigger | LMSlib2go | ...
    Various HowTos: build a self-contained LMS | Bluetooth/ALSA | Control LMS with any device | ...

  10. #40
    Quote Originally Posted by Roland0 View Post
    Code:
    def create_brutefir_process(brutefir_filter):
        cmdline = [ 'brutefir', '-nodefault', brutefir_filter ]
    modify cmdline


    No, that's done in main() (variables samplerate, bitspersample)
    Hey that's very good info !

    I will try it in the Easterday's if work not taking to much time through.

Posting Permissions

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