abdeladim-s / subsai

🎞️ Subtitles generation tool (Web-UI + CLI + Python package) powered by OpenAI's Whisper and its variants 🎞️
https://abdeladim-s.github.io/subsai/
GNU General Public License v3.0
1.31k stars 107 forks source link

Enhancement:provide user-friendly packages #22

Open momobobe opened 1 year ago

momobobe commented 1 year ago

For ordinary users, pip is still not friendly enough for installation. Maybe it's better to pack with pyinstaller for direct distribution, or add a little more effort to turn this into an Electron or Tauri App, so the project can approach a larger user group. https://github.com/chidiwilliams/buzz has done it, but it's more oriented to transcription while less to caption, so such a job may be still worthwhile here.

abdeladim-s commented 1 year ago

Thanks @momobobe for your suggestion.

I also thought of packaging the app, but the problem is it is based on other models and you will need to package all dependencies like Pytorch, which will results in huge installer file and it may trigger antiviruses.

Turn it into Electron or Tauri does not need little effort unfortunately! PRs are welcome if you want to try!

momobobe commented 1 year ago

but the problem is it is based on other models and you will need to package all dependencies like Pytorch

Yeah, but that's exactly the problem for most ordinary end users, as installing Pytorch is more than challenging if one has never done it before.

Turn it into Electron or Tauri does not need little effort unfortunately!

Well, I get it. Maybe we need more help from some experienced guys

abdeladim-s commented 1 year ago

Yes each has its own disadvantages . I will leave the issue open in case someone has a better idea.

Thanks @momobobe again.

momobobe commented 1 year ago

Pardon me for being not a developer, I just searched a bit and found maybe something related to ONNX 1 2 3 4 5. Hope these may help.

momobobe commented 1 year ago

One more post just found https://www.reddit.com/r/electronjs/comments/12rsdn5/shipping_large_ml_models_with_electron_a/

abdeladim-s commented 1 year ago

Thanks @momobobe for the resources. Yes ONNX seems the way to go if you want to ship ML models to consumer devices. However, the pre-trained models needs to be converted to the ONNX format, which is not straightforward. There are some people who tried to convert the original whisper, but what about the other variants, whisper.cpp for example or faster-whisper!

Electron seems also an option, I will take a look at the post

ninjamonkey198206 commented 1 year ago

Containerize it. This is practically begging for it.

This is a perfect use case for containerization.

Docker was made for situations like this.

abdeladim-s commented 1 year ago

Yes I agree @ninjamonkey198206, I really wanted to dockerize it, I just didn't find some time for it yet. I hope I will do it soon. Thanks!

ninjamonkey198206 commented 1 year ago

I've been having issues pulling subtitles for things so when I found this I was super excited.

Looking forward to it getting fleshed out and giving it a shot.

abdeladim-s commented 1 year ago

Here you go @ninjamonkey198206, You can use docker to run the web-ui. Keep in mind though that the resulting image is relatively large (around 8GB) because of Pytorch and the other dependencies.

ninjamonkey198206 commented 1 year ago

Woohoo!

I have a 1TB nvme mirror for OS vhds and containers.

The space doesn't bother me too much, but containerizing it makes it so much easier to test and play with.

You are awesome!