Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plan for the next release #24

Open
4 of 15 tasks
nshmyrev opened this issue Jan 29, 2020 · 12 comments
Open
4 of 15 tasks

Plan for the next release #24

nshmyrev opened this issue Jan 29, 2020 · 12 comments
Labels
help wanted Extra attention is needed

Comments

@nshmyrev
Copy link
Collaborator

nshmyrev commented Jan 29, 2020

Help is very much needed on all this, any contribution will be appreciated.

@dtreskunov
Copy link

I can probably help with building for more platforms, including Windows and different flavors of ARM.

One approach is to use cross-compiler images from dockcross.

Let me know if you would consider merging a PR using GitHub actions to automate building/uploading Python wheels.

@nshmyrev
Copy link
Collaborator Author

Let me know if you would consider merging a PR using GitHub actions to automate building/uploading Python wheels.

I checked github actions and didn't find critical advantages over travis. You can try if you want of course.

@dtreskunov
Copy link

I made some progress on getting a Windows build out. I'm currently blocked on some errors when compiling OpenFST (opened this issue: kkm000/openfst#25).

This is much more complicated than expected :)

@nshmyrev
Copy link
Collaborator Author

@dtreskunov Thank you. For Win build I really consider mingw with anaconda, that will be much easier than stock python with VS. I think anaconda build should be enough. We don't have to spend much time on it.

@nshmyrev
Copy link
Collaborator Author

Also, as far as I know @kkm000 uses very recent openfst, you might have better chances with openfst-1.6.7 instead of 1.7 something he is using.

@dtreskunov
Copy link

dtreskunov commented Feb 16, 2020 via email

@nshmyrev
Copy link
Collaborator Author

@dtreskunov ah, I see. Given openfst uses C++11, no chance we can make it working. VS14 simply doesn't support c++11 well enough.

https://docs.microsoft.com/en-us/cpp/overview/visual-cpp-language-conformance?view=vs-2019

Consider mingw and anaconda.

@dtreskunov
Copy link

I was able to fix it thanks to this article. It turns out that the ImportError was getting thrown because the generated _vosk.pyd depended on libopenblas.dll. This despite having provided libopenblas.lib to the linker. By putting libopenblas.dll and its dependencies into the .whl, I was able to get it to work.

The resulting .whl installs and works fine in my plain Python environment: no anaconda, just regular Windows x86-64 executable installer.

I would appreciate it if you could test it: vosk-0.3.1_dtreskunov_183_ga8b2c22-cp38-cp38-win_amd64.whl.zip

I'm not sure why it works. It's built using Visual Studio 15 2017, despite the requirement to use Visual Studio 14 2015.

I'm going to clean up the scripts a bit and will send a PR soon.

@bedapudi6788
Copy link

@nshmyrev I can do Implement more pythonic API, Automatic download of the model and Basic unit tests if you are still looking for help.

@nshmyrev
Copy link
Collaborator Author

@bedapudi6788 that would be great!

@bedapudi6788
Copy link

bedapudi6788 commented Feb 19, 2020

@nshmyrev this is my idea of "pythonic" api.

import vosk

# print available models
print(vosk.list_models())

# auto downloads the model if not found in local
asr = vosk.load("en-us")

# word_list is optional
# if stream=True, will return iterator for partial results
# if stream=False will return final result
# default stream = False
result = asr.recognize('wav_file_path', word_list, stream=True)

let me know if this is ok or any changes required.

@nshmyrev
Copy link
Collaborator Author

@bedapudi6788 I have created a separate issue about this: #31, please check

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Development

No branches or pull requests

3 participants