Awesome
<div align="center"> <img width="60px" src="https://user-images.githubusercontent.com/6180201/124313197-cc93f200-db70-11eb-864a-fc65765fc038.png" alt="giant microphone"/> <br/> <h2 align="center">Whisper Playground</h2> <h6 align="center">Instantly build real-time speech2text apps in 99 languages using faster-whisper, Diart, and Pyannote</h6> <h6 align="center"><a href="https://whisperui.monsterapi.ai">Try it via the online demo</a></h6> </div>https://github.com/ethanzrd/whisper-playground/assets/79014814/44a9bcf0-e374-4c71-8189-1d99824fbdc5
Setup
- Have
Conda
andYarn
on your device - Clone or fork this repository
- Install the backend and frontend environment
sh install_playground.sh
- Review config.py to make sure the transcription device and compute type match your setup. Review config.js to make sure it conforms to the backend config and that the backend address is correct.
- Run the backend
cd backend && python server.py
- In a different terminal, run the React frontend
cd interface && yarn start
Access to Pyannote Models
This repository uses libraries based on pyannote.audio models, which are stored in the Hugging Face Hub. You must accept their terms of use before using them. Note: You need to have a Hugging Face account to use pyannote
- Accept terms for the
pyannote/segmentation
model - Accept terms for the
pyannote/embedding
model - Accept terms for the
pyannote/speaker-diarization
model - Install huggingface-cli and log in with your user access token (can be found in Settings -> Access Tokens)
Parameters
- Model Size: Choose the model size, from tiny to large-v2.
- Language: Select the language you will be speaking in.
- Transcription Timeout: Set the number of seconds the application will wait before transcribing the current audio data.
- Beam Size: Adjust the number of transcriptions generated and considered, which affects accuracy and transcription generation time.
- Transcription Method: Choose "real-time" for real-time diarization and transcriptions, or "sequential" for periodic transcriptions with more context.
Troubleshooting
- On MacOS, if building the wheel for safetensors fails, install Rust
brew install rust
and try again.
Known Bugs
- In the sequential mode, there may be uncontrolled speaker swapping.
- In real-time mode, audio data not meeting the transcription timeout won't be transcribed.
This repository hasn't been tested for all languages; please create an issue if you encounter any problems.
License
This repository and the code and model weights of Whisper are released under the MIT License.