Run your own speech-to-text server on a home server or NAS.
Transcribe audio files with custom vocabulary like names or brands.
Stream transcription results as they are generated instead of waiting for the full file.
| ronykax/speechie | 0xhassaan/nn-from-scratch | 3ks/embedoc | |
|---|---|---|---|
| Stars | 0 | 0 | — |
| Language | Python | Python | Python |
| Last pushed | — | — | 2023-06-08 |
| Maintenance | — | — | Dormant |
| Setup difficulty | moderate | moderate | hard |
| Complexity | 2/5 | 4/5 | 1/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires an OpenAI compatible LLM API key and endpoint to run.
Speechie is a personal speech-to-text server, written in Python and designed by its author to run on their own home server rather than in the cloud. You send it an audio file and it transcribes the spoken words into text, letting you build simple voice-driven tools without relying on a paid third-party transcription service. The setup involves an OpenAI compatible language model API, meaning any provider that accepts requests in the same format OpenAI uses. You configure an API key, the endpoint URL, and which model to use, with the example in the README showing llama-3.1-8b-instant. You also create a dictionary.txt file listing words you want the system to recognize, one per line, which helps the transcription pick up on proper nouns, names, or unusual vocabulary that a general model might otherwise get wrong. The server itself is started with uvicorn, a Python web server framework commonly used to run this kind of lightweight API, and it listens on a port you can configure. To transcribe audio, you send a POST request to the transcribe endpoint with a .wav file attached as a multipart form upload, and the README includes a working curl command showing exactly how to do this. The server streams the response back without buffering, meaning transcription results start arriving as they are generated rather than making you wait for the entire file to finish processing before you see any text. Dependencies are managed with uv, a fast Python package manager, so installing and running the project involves a small, modern toolchain rather than older, heavier package management tools. Beyond what is described here, the README does not go into detail about transcription accuracy, which audio formats besides .wav are supported, or which model actually performs the speech recognition itself.
A small personal server that transcribes audio files to text using an OpenAI-compatible language model API.
Mainly Python. The stack also includes Python, Uvicorn, uv.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.