Rhasspy 2.5.8 Released

I’ve tried to make this clear in the docs, but it’s just terribly unintuitive. I don’t understand why Docker specifically does this just for armv6l. I believe it’s because the Pi Zero lies about it’s architecture, reporting armhf when it’s really armel.

I just check in another browser and it still shows 2.5.7.
I’ll try doing another upgrade and see what happens.

yes. it is very clear in the docs indeed - so no hard feelings :wink:
I have setup two satellite on rpi4 before and didn’t thought that it could have something todo with the wrong image. Also most of the time was actually waiting anyways…

1 Like

@synesthesiam

I personally don’t mind an appImage package, and they appear to be less hassle than ubuntu snaps!. This would also be a good way to get Rhasspy onto other non Debian distros, rather than having to build specific packages for each package manager. It’s also probably a lot easier to deploy than docker, but I have no experience of that, which is why I went down the native package route to start with.

Purists could argue that applications should always be installed and managed by the package manager, and the appImage approach is just wasting space bundling dependencies that are already on the system anyway as part of the pre-requisites.

If you can spend less time on one appImage to rule them all, instead of creating and testing individual packages for multiple distros, and that gives the devs more time to work on the actual product, then this can’t be a bad thing in my humble opinion :slight_smile:

I’m happy to do testing on the app Image if you create one.

Very weird. Is it possible the 2.5.7 container is still running, or that you have that version pinned?

I removed the 2.5.7 container with a ‘docker rm’ command.
I think I did something wrong when I pulled 2.5.8 and didn’t actually pull it.

So I did another pull yesterday and tried to install it. I ran into an error when I exec my docker run command.

I created a thread in the help section of the forum about the error.

1 Like

Any progress on English for Larynx @synesthesiam? I’ve been using cloud-based TTS for a while, so I’m excited to give Larynx a try!

Hi @hawkeye217

Yes, I’m still working on an English voice. I’ve prioritized some other voices from volunteers first, so it’s still got a few days of training left to go :slight_smile:

1 Like

Hi @synesthesiam
I see you have a few questions to answer but maybe you could help me too? I’m running rhasspy inside a docker container on an Ubuntu VM (KVM processor x64, proxmox) on a NUC with an Intel Core i5-8259U. And I’m having the same issue (I think). Do you have experience with proxmox or enableing AVX on a MV?

Many thanks!

@synesthesiam Successfully playing with Larynx and Russian language! Thank you!
Have few questions:

  1. Does Larynx could speech numbers?! Can’t figure out. Because in my case only words are spoken but not int(1,2,3 etc).
  2. Can we hope for a female voice of Russian Larynx? As I could see female models are available.

PS: Seems Porcupine updates to V1.9 - added some new words to RPi platform.

1 Like

Hi @nordeep, glad Larynx is working for someone :wink:

Yes, it looks like I just made a mistake with a config file for Russian. I’ve fixed it on my end, and it will be in the next update.

I should be able to do that. I have some female Russian audio from the same dataset as the male audio.

Thanks! I’ll try and get this updated soon. Here’s the Github issue: https://github.com/rhasspy/rhasspy/issues/139

2 Likes

@synesthesiam Thank you!
Will wait for updates. Not so convenient without ability to speech numbers :grinning:

@synesthesiam If it’s not difficult, could you give some recommendations - how to organize conversation between User <-> Rhasspy <-> HA?
Just simple example:

User - “Rhasspy, turn off the lights everywhere.”
Rhasspy - “Ok, but this intent requires confirmation”
User - “Rhasspy, turn off the lights everywhere.”
Rhasspy - “Turning off lights everywhere.”
HA - light.turn_off group.all_lights

At the moment I can imagine complex configuration with HA actions like, rest_commands, turn_on/off some input_boolean and so on. And I’m not completely sure if this will work. :laughing:

--------- Edit -----------
Scratch everything I said below.
I was trying to apply the settings on the Satellite, but it appears to work as stated when the volume is set or the wav is removed on the base.
The wav files and sound volume don’t apply on the individual satellite, although I had made the assumption it would since I am using a local wake word.

------ End Edit ----------

Just got a chance to try this and it’s still playing. I removed the wake and recorded lines from the web UI, saved and restarted. I also tried power cycling it and verified in the config…

"sounds": {
"aplay": {
    "device": "default:CARD=seeed2micvoicec"
},
"recorded": "",
"system": "aplay",
"wake": ""
},

I left the error wave populated, but I don’t see it anywhere in the config.
I also noticed the overall volume including the wake sounds seems to be controlled by the volume under the audio playing section. The volume under “Sound” doesn’t seem to affect anything.

I’m making these settings on the Satellite, and the satellite is running a local wakeword / UDP.

1 Like

You could do this will a Python skill or a somewhat simple NodeRED automation. Using NodeRED as an example, I’d create an intent in Rhasspy like this (oversimplified of course):

[MaybeTurnOffLights]
turn off the lights everywhere

Don’t listen for this intent in HA. Instead, just have NodeRED listen for it.

  1. The first time NodeRED gets MaybeTurnOffLights, it sends a message to Rhasspy for TTS (maybe using /api/text-to-speech) with “Ok, but this intent requires confirmation” and then sets a variable indicating it’s ready for confirmation.
  2. When the users triggers the same MaybeTurnOffLights intent, NodeRED now either sends a message directly to HA or delivers a different intent to Rhasspy (maybe using /api/handle-intent) which HA should be listening for.

Bonus points if you add a timeout to the NodeRED flow so the confirmation variable gets reset if the user doesn’t confirm within a few minutes or something :slight_smile:

@synesthesiam Thank you for recommendations! Thinking the same way, but using pure HA :laughing:
Going deep at learning how Rhasspy interacts with HA, and have a few questions:

  1. Does MQTT has the similar to /api/listen-for-command? I know about hermes/hotword/<WAKEWORD_ID>/detected but wakeword call wake WAV Sound, /api/listen-for-command doesn’t.
  2. Is there a way to forcefully specify intent in API call? In case if I have some logic at intent handle side and want to add slots(items) to intent handle by short phrases(listing).
1 Like

No problem, hope I can help.

  1. You’re looking for hermes/asr/startListening
  2. When calling /api/listen-for-command you can add ?entity=<entity>&value=<value> to the URL to include a custom entity with a value that will be passed through to the intent.

@synesthesiam

  1. Trying to use hermes/asr/startListening but can’t understand - do I need to send hermes/asr/stopListening and do I need to control - sessionId? /api/listen-for-command - looks more simple :grinning:
  2. Can I set, as example - ?intent=VacuumControl ?!

I’m looking the way to realize next logic at Rhasspy <-> HA:
– Rhasspy, Start Vacuum cleaner (we are have intent but we need to specify it)
– (HA answer) - Please, specify the place of cleaning
– Rhasspy, (we do not need to say intent again, we just list places) kitchen, hall, etc

As I can imagine this - I could send api call /api/listen-for-command?intent=VacuumControl and Rhasspy, knowing about intent, waiting for only <place1> [and] [<place2>] [and] [<place3>] etc.

Continue to adjust Rhasspy for my tasks. For me doesn’t work Volume control WAV Sounds. Audio Playing Volume control works as expected. I’m using alsa. Am I doing something wrong?

I see /api/set-volume but how I can get current volume level?

I don’t have a message or API for this yet, and it can be more complex if it involves satellites. Unless you set it otherwise, all the volumes should start out at 1.0.

The volume should be between 0 and 1, so try something like 0.5.

A part of my profile below. Does WAV Sounds volume work only if Dialougue manager enabled on satellite?
0.05 - Sound volume
0.15 - Audio playing volume

{
    "dialogue": {
        "satellite_site_ids": "default,sat1",
        "volume": "0.05"
    },
    "sounds": {
        "aplay": {
            "device": "sysdefault:CARD=Headphones",
            "volume": "0.15"
        }
    }
}