Home of the Squeezebox™ & Transporter® network music players.
Page 10 of 10 FirstFirst ... 8910
Results 91 to 97 of 97
  1. #91
    Senior Member
    Join Date
    Apr 2005
    Location
    UK/London
    Posts
    4,962
    Maybe I was thinking incorrectly ... so re-reading ...
    "It works great, for the most part. However, there is one issue. If I do something like "resume living room music", rhasspy will detect that and try to continue playback on the relevant player. However, it will also send a "request recognized" sound to the squeezebox using aforementioned rhasspy plugin that uses this LMS plugin.

    This will end up in a race condition where the announce sound is what's happening while the play command comes in and so nothing really happens. The notification sound finishes playing and after that, the music still won't play."
    Instead of issuing the resume why not insert the "request recognized" sound as the first item in the playlist and shuffle everything else down by one ... and then issue the resume?
    Paul Webster
    Author of "Now Playing" plugins covering Radio France (FIP etc), PlanetRadio (Bauer - Kiss, Absolute, Scala, JazzFM etc), KCRW, ABC Australia and CBC/Radio-Canada
    and, via the extra "Radio Now Playing" plugin lots more - see https://forums.slimdevices.com/showt...Playing-plugin

  2. #92
    Senior Member
    Join Date
    Aug 2012
    Location
    Austria
    Posts
    1,240
    Quote Originally Posted by Paul Webster View Post
    Instead of issuing the resume why not insert the "request recognized" sound as the first item in the playlist and shuffle everything else down by one ... and then issue the resume?
    I still don't understand what the playlist has to do with anything.
    See post #86 for an analysis of the issue.

    The simplest solution is for rhasspy to first send the "play" command, and then send the "announce" command (if rhasspy can do this). Otherwise, just disable the announcement for this specific scenario.
    Various SW: Web Interface | Text Interface | Playlist Editor / Generator | Music Classification | Similar Music | Announce | EventTrigger | Ambient Noise Mixer | DB Optimizer | Image Enhancer | Chiptunes | LMSlib2go | ...
    Various HowTos: build a self-contained LMS | Bluetooth/ALSA | Control LMS with any device | ...

  3. #93
    Junior Member
    Join Date
    Oct 2015
    Posts
    4
    Hi Roland,
    Today I‘ve installed the plugin for the first time on my piCoreplayer LMS - 8.2.0, works as expected for mp3 announcements- great!

    Two questions:
    1) I‘m using DynamicPlaylists 3.2.7- after the announcements the playlist is continuing as expected, but like/as static playlist (DynamicPlaylists stops)- is there a way to continue with the dynamic playlist?
    2) Since piCoreplayer comes „out of the box“ - how can TTS be implemented the easiest way? (idea: I‘m running separate RaspberryPI in parallel, could I install TTS service or cloud link there and use it in your plugin?)

    Thanks, Martin

  4. #94
    Senior Member
    Join Date
    Aug 2012
    Location
    Austria
    Posts
    1,240
    Quote Originally Posted by martingr View Post
    1) I‘m using DynamicPlaylists 3.2.7- after the announcements the playlist is continuing as expected, but like/as static playlist (DynamicPlaylists stops)- is there a way to continue with the dynamic playlist?
    The plugin uses LMS' built-in methods to save/restore the playlist, so there isn't an obvious solution except writing some custom logic to detect that DynamicPlaylists is active, somehow save it's state, restore state and re-activate it afterwards, which seems excessive.

    2) Since piCoreplayer comes „out of the box“ - how can TTS be implemented the easiest way? (idea: I‘m running separate RaspberryPI in parallel, could I install TTS service or cloud link there and use it in your plugin?)
    Described on the homepage
    Various SW: Web Interface | Text Interface | Playlist Editor / Generator | Music Classification | Similar Music | Announce | EventTrigger | Ambient Noise Mixer | DB Optimizer | Image Enhancer | Chiptunes | LMSlib2go | ...
    Various HowTos: build a self-contained LMS | Bluetooth/ALSA | Control LMS with any device | ...

  5. #95
    Junior Member
    Join Date
    Oct 2015
    Posts
    4
    Quote Originally Posted by Roland0 View Post
    The plugin uses LMS' built-in methods to save/restore the playlist, so there isn't an obvious solution except writing some custom logic to detect that DynamicPlaylists is active, somehow save it's state, restore state and re-activate it afterwards, which seems excessive.


    Described on the homepage
    Hi Roland, thanks for your reply!

    ad Dynamic PLaylist:
    OK, as an idea: one workoround might be to add the announcement mp3 to the playlist (play as next title) and go to the next title (which is the announcement itself). The playlist will continue then after the announcement with the next Diynamic Playlist entry (without switching to static playlist mode). I've tested this (manually) - seems to work also if there is no current playlist. (... but would be a problem if current playlist has been paused, after the announcement the existing playlist will continue...)

    ad TTS description on your homepage - how to for piCorePlayer:
    piCorePlayer is based on http://tinycorelinux.net/, very small distribution w/o the common tools like "apt". It's not too easy to install additional software...
    I'm wondering whether I could install one of the TTS service described on your homepage on a separate Raspberry PI (with raspbian 4.19) and somehow (?) call the TTS service from your plugin?

    Kind regards,
    Martin
    Last edited by martingr; Today at 07:15.

  6. #96
    Senior Member
    Join Date
    Aug 2012
    Location
    Austria
    Posts
    1,240
    Quote Originally Posted by martingr View Post
    ad Dynamic PLaylist:
    OK, as an idea: one workoround might be to add the announcement mp3 to the playlist (play as next title) and go to the next title (which is the announcement itself). The playlist will continue then after the announcement with the next Diynamic Playlist entry (without switching to static playlist mode). I've tested this (manually) - seems to work also if there is no current playlist. (... but would be a problem if current playlist has been paused, after the announcement the existing playlist will continue...)
    That's going to fail for a lot of cases (e.g. streaming)

    ad TTS description on your homepage - how to for piCorePlayer:
    piCorePlayer is based on http://tinycorelinux.net/, very small distribution w/o the common tools like "apt". It's not too easy to install additional software...
    I'm wondering whether I could install one of the TTS service described on your homepage on a separate Raspberry PI (with raspbian 4.19) and somehow (?) call the TTS service from your plugin?
    Simplest way would be using ssh.
    Here's a script to use in a TTS profile:
    Code:
    #!/bin/bash
    
    while getopts "o:t:" opt; do
            case $opt in
                    o)
                    DESTFILE="$OPTARG"
                    ;;
                    t)
                    TEXT="$OPTARG"
                    ;;
            esac
    done
    ssh user@otherraspi "/usr/bin/mimic -o /dev/stdout -voice slt -t \"$TEXT\"" > "${DESTFILE}"
    For a http-based approach, webhook should work if you have curl/wget available on piCorePlayer
    Various SW: Web Interface | Text Interface | Playlist Editor / Generator | Music Classification | Similar Music | Announce | EventTrigger | Ambient Noise Mixer | DB Optimizer | Image Enhancer | Chiptunes | LMSlib2go | ...
    Various HowTos: build a self-contained LMS | Bluetooth/ALSA | Control LMS with any device | ...

  7. #97
    Junior Member
    Join Date
    Oct 2015
    Posts
    4
    Quote Originally Posted by Roland0 View Post
    That's going to fail for a lot of cases (e.g. streaming)


    Simplest way would be using ssh.
    Here's a script to use in a TTS profile:
    Code:
    #!/bin/bash
    
    while getopts "o:t:" opt; do
            case $opt in
                    o)
                    DESTFILE="$OPTARG"
                    ;;
                    t)
                    TEXT="$OPTARG"
                    ;;
            esac
    done
    ssh user@otherraspi "/usr/bin/mimic -o /dev/stdout -voice slt -t \"$TEXT\"" > "${DESTFILE}"
    For a http-based approach, webhook should work if you have curl/wget available on piCorePlayer
    Many thanks - I'll try that!

Posting Permissions

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