Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
A live speech recognition using Facebooks wav2vec 2.0 model.
| Date | Stars |
|---|---|
| 2026-07-31 | 379 |
| 2026-08-08 | 379 |
| 2026-08-28 | 380 |
| 2026-09-16 | 380 |
| 2026-09-25 | 379 |
| 2026-10-31 | 380 |
| 2026-11-04 | 380 |
Today
— stars today
This week
+1 stars this week
This month
+1 stars this month
Momentum
0.0
growth rate 0.26%/day
# automatic speech recognition with wav2vec2
Use any wav2vec model with a microphone.

## Setup
I recommend to install this project in a virtual environment.
```
python3 -m venv ./venv
source ./venv/bin/activate
pip install -r requirements.txt
```
Depending on linux distribution you might encounter an **error that portaudio was not found** when installing pyaudio. For Ubuntu you can solve that issue by installing the "portaudio19-dev" package.
```
sudo apt install portaudio19-dev
```
Finally you can test the speech recognition:
```
python live_asr.py
```
### Possible Issues:
* The code uses the systems default audio device. Please make sure that you set your systems default audio device correctly.
* "*attempt to connect to server failed*" you can safely ignore this message from pyaudio. It just means, that pyaudio can't connect to the jack audio server.
## Usage
You can use any **wav2vec2** model from the [huggingface model hub](https://huggingface.co/models?pipeline_tag=automatic-speech-recognition&search=wav2vec2). Just set the model name, all files will be downloaded on first execution.
```python
from live_asr import LiveWav2Vec2
english_model = "facebook/wav2vec2-large-960h-lv60-self"
german_model = "maxidl/wav2vec2-large-xlsr-german"
asr = LiveWav2Vec2(german_model,device_name="default")
asr.start()
try:
while True:
text,sample_length,inference_time = asr.get_last_text()
print(f"{sample_length:.3f}s"
+f"\t{inference_time:.3f}s"
+f"\t{text}")
except KeyboardInterrupt:
asr.stop()
```Excerpt of 1,654 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:0430fdcbf9fa253d, topic:speech-recognition, topic:asr, topic:speech-to-text