UltraStar-Deluxe / Play

Free and open source singing game with song editor for desktop, mobile, and smart TV

Home Page:https://ultrastar-play.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Voice Assistant | "Ok Ultrastar, Select Katy Perry - Roar"

DariusRDev opened this issue · comments

Issue type: Feature request

I'm just Brainstorming, this might not be worth the effort, but would be nice to have. What are your opinions on this?

Expected behaviour

Beeing able to use speech recognition to request songs, and perform other actions, while in Song Selection or Menu.

Examples:
"Ok Ultrastar, Select Katy Perry - Roar",
"Ok Ultrastar, Show all songs of Katy Perry",
"Ok Ultrastar, start Microphone assignment",

You've Mentioned that you already implemented Speech Recognition in #106 with Vosk.

It could also help with #297 Player Assignment:

So I use UltraStar Deluxe at the moment for Partys with up to 18 People with 6 Mics, and the Mics get passed around every Song. With the Current Player System I would have to update the "Active" Check everytime we pass around the Mics and then assign the Mics new to the Players. That is a lot of afford, the Voice Assistant could come in handy here.

How about a Feature where before the song starts every Player has to say his name into his microfone, and USP uses speech recognition and a fuzzy search to select the player from the player list. And maybe it asks if the selection is right and the players have to say yes.

I also had the idea for voice control because the game uses a microphone anyway.
It is doable, and yes I already integrated Vosk in the private repo and it could do this stuff.

But I don't think it's worth it.

The speech recognition is not as solid as Google or Siri. With non-standard words, such as artist and song names, results might be doubtful.

Plus, speech control can always only be an alternative to regular user input via point-and-click. Not every language and dialect is supported by speech recognition yet.
Thus, I would like to focus on the regular input for now.

With the Current Player System I would have to update the "Active" Check everytime we pass around the Mics and then assign the Mics new to the Players

Using speech recognition does not change this. You would still need to tell which players are active for the next round.

A "(de)select all players" button may be more handy.
Assigning mics to players will get easier with #297, which I want to tackle soon.

every Player has to say his name into his microfone

I actually doubt that this is faster than clicking the checkboxes, especially if there are names that are not recognized immediately.

I am currently changing to Whisper for speech recognition, which returns impressively accurate results.

This could also enable to control the game by voice.
However, this is still not a priority because it would always only be an additional way to control the game.