Edit: I understand that you can use small samples and approximate something like streaming, but the limitation here is you wind up without context for the samples, increasing WER. It would be nice if there was some streaming option.
Edit: I understand that you can use small samples and approximate something like streaming, but the limitation here is you wind up without context for the samples, increasing WER. It would be nice if there was some streaming option.
It's inefficient, but even older gaming GPUs are fast enough for real time performance, and accuracy is good. If you were going to train a model from scratch for real time you could do something more efficient, but it works as is.
Edit: I'm not sure what you mean by "you wind up without context for the samples". You can supply context to Whisper.
>> Video Memory: 6 GB >> Graphics Processor: Nvidia GPU with 12 GB VRAM or greater
Would it work on an x64 Intel i7 machine with 32 GB RAM and with Nvidia RTX3060 with 6 GB RAM.
I'd like to support less VRAM. Maybe a future version will offload some of the processing to the cloud.
Here's a thread about running realtime on raspberry pi devices (some tweaks required): https://github.com/ggerganov/whisper.cpp/discussions/166
The idea was to provide transcription results as fast as you can, and you can refine it along the way by providing more and more context.
There are other ways too with different trade-offs, can e-mail me at the link in my profile if you'd like to talk about how.
(I am definitely inspired as we don't currently provide such a straightforward experience in our own signup flow)
I tried it in English, French, and my broken Spanish, and all 3 came out great. One surprising thing is that if you switch languages mid-transcription with the "single language" model, it will transcribe the second language and translate it at the same time, so the entire transcription is in a single language, but the meaning is preserved.
The zeroes + faster model is how Gladia (mentioned in my other comment here) achieves live transcription by simply transcribing really short chunks one after the other, I believe.
For more advanced stuff you kinda have to get your hands dirty, which I've done for my own product (not linked).