vosk-api icon indicating copy to clipboard operation
vosk-api copied to clipboard

Support for model downloader UI

Open a-prototype opened this issue 2 years ago • 10 comments

@nshmyrev Added the VOSK model downloader for vosk-api!

It scraps for models on https://alphacephei.com/vosk/models, it lists them, it downloads them, unzip and delete the zip file.. It does everything :)

We need to find a better location than the added folder...

a-prototype avatar Feb 24 '22 19:02 a-prototype

Hi. Thank you for your contribution!

Actually there is no need to scrape page, we have https://alphacephei.com/vosk/models/model-list.json which contains information about models in machine-readable format.

We also prefer command line instead of UI, there is no much need for GUI I think.

@Vadim-cloud-star, take a look on this.

nshmyrev avatar Feb 24 '22 19:02 nshmyrev

Thank you! I didn't know about the json! I spent some hours on making the scrapper but I will change it soon to load the data from the json :) After our little talk on my first push on ros-vosk (https://github.com/alphacep/ros-vosk/pull/1) we talked about that you wanted a model downloader, I suggested something like the nltk downloader and I understood that you said that something like would be okay and and that's how the GUI was created... (Actually it is my first gui on python) Well it works and especially for ros-vosk i have tested it many times.. Do you want me to make it on command line too?

a-prototype avatar Feb 24 '22 19:02 a-prototype

you said that something like would be okay and and that's how the GUI was created

Sorry for confusion. I never thought NLTK has a GUI

Do you want me to make it on command line too?

That would be nice if you have time / courage. @Vadim-cloud-star works on it as a part of transcriber patch, but he hasn't started yet I think.

nshmyrev avatar Feb 24 '22 19:02 nshmyrev

Actually this project took me some good few hours just to help you and everyone else with this I don't mind spending some more time.. Most of it is ready based on the GUI. Do you mind to discuss here or via mail about the procedure / way you want the models to get downloaded via the terminal? Have you by any chance opened the GUI? It lists the languages, when you select a language it lists the models on a combo box and shows the info of the model.. You can also select another path etc. vosk_downloader

a-prototype avatar Feb 24 '22 19:02 a-prototype

On ros-vosk I solved it completely because I know where I want my model. (I pushed it directly https://github.com/alphacep/ros-vosk/commit/aa4e6feee3d360482a97fb417232ecf8f45cef6b ) If you run the vosk_node.py (on ros-vosk) and the node will not find the folder or a model, it will automatically open the GUI, you download the required model and the node continues without any action from the user! The download, unzip of the model, deletion of the zip and the loading of the downloaded model's name to Model obj of vosk happens automatically. I shall make it also like this for vosk-api if you don't mind re arranging the folders and scripts.

a-prototype avatar Feb 24 '22 20:02 a-prototype

Ok, great. Lets have a GUI then. We will probably need a list of installed model and a way to uninstall too. Like in NLTK (I just checked the screenshot). Lets keep it open, we will work on it too, hopefully next week.

nshmyrev avatar Feb 24 '22 20:02 nshmyrev

I will happily work on it too. For ROS it's easy to check for the models.. For vosk-api can we please discuss the proper way?

a-prototype avatar Feb 24 '22 20:02 a-prototype

For vosk-api can we please discuss the proper way?

Sure, I'd be happy to catch you when you are available. On any messenger or meeting.

nshmyrev avatar Feb 24 '22 20:02 nshmyrev

Of course! I am sending you an email to arrange this

a-prototype avatar Feb 24 '22 20:02 a-prototype

Hi! We have merged the command line code to download model automatically. We could have UI too, so I'm renaming the issue.

nshmyrev avatar May 24 '22 21:05 nshmyrev

@nshmyrev could you please indicate in https://alphacephei.com/vosk/models/model-list.json whether or not each model supports grammars (lookahead/precompiled HCLG graph)?

nalbion avatar Dec 17 '22 00:12 nalbion

@nalbion you can check "type" field. "small" and "big-lgraph" support grammar, "big" doesn't

nshmyrev avatar Dec 18 '22 22:12 nshmyrev

thanks

nalbion avatar Dec 18 '22 22:12 nalbion