Nava is a lightweight Voice-to-Text application designed for simple and fast speech recognition.
- 🎙️ Voice-to-Text
- 🧠 Vosk speech recognition
- 🐍 Self-contained Python runtime
- 📦 Automatic dependency installation
- 🔄 Automatic application update checking
- 🌐 GitHub-based update system
- 💻 Windows support
Nava/
│
├── main.py
├── installer.py
├── ui.py
├── stt.py
│
├── version.json
├── files.json
│
├── models/
├── packages/
└── runtime/
main.py is the Nava launcher.
When Nava starts, it:
- Checks whether Nava is installed.
- Runs the installer if required.
- Reads the local version.
- Checks the GitHub repository for a newer version.
- Checks for code updates.
- Downloads updated files when available.
- Replaces the old files.
- Starts Nava.
Nava uses three version numbers:
{
"version": "1.0.0",
"code_version": "1.0.0",
"model_version": "1.0.0"
}The public Nava version.
The version of the application code.
For example, if ui.py or stt.py changes:
1.0.0 → 1.0.1
The version of the speech recognition model.
This is currently reserved for the future model updater.
files.json tells Nava which files can be updated.
Example:
{
"files": [
{
"path": "ui.py",
"type": "code"
},
{
"path": "stt.py",
"type": "code"
}
]
}When the code version changes, Nava downloads these files from GitHub and replaces the local versions.
To publish a code update:
For example:
ui.py
Run:
python ui.pyor run the launcher:
python main.pyExample:
{
"version": "1.0.1",
"code_version": "1.0.1",
"model_version": "1.0.0"
}The repository must contain:
version.json
files.json
ui.py
stt.py
After the files are pushed, existing Nava installations will detect the new code version when they start.
Model updates are planned for a future version.
The intended system is:
Nava
↓
Check model_version
↓
New model available?
↓
Ask user
↓
Download new model
↓
Replace old model
The model itself should not be stored directly inside the normal Git repository.
Nava is currently developed with Python.
Main technologies include:
- Python
- Tkinter
- Vosk
- PyInstaller
- GitHub
Nava is developed and distributed through GitHub.
This project is currently under development.