vosk-api
vosk-api copied to clipboard
Support for model downloader UI
@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...
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.
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?
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.
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.
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.
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.
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?
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.
Of course! I am sending you an email to arrange this
Hi! We have merged the command line code to download model automatically. We could have UI too, so I'm renaming the issue.
@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 you can check "type" field. "small" and "big-lgraph" support grammar, "big" doesn't
thanks