https://github.com/david-lamonaca/voice-to-text-app
Allows you to manage your computer with your voice.
https://github.com/david-lamonaca/voice-to-text-app
java javafx jna maven vosk-api
Last synced: 2 months ago
JSON representation
Allows you to manage your computer with your voice.
- Host: GitHub
- URL: https://github.com/david-lamonaca/voice-to-text-app
- Owner: David-Lamonaca
- Created: 2025-02-23T01:20:36.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-04-08T22:32:15.000Z (2 months ago)
- Last Synced: 2025-04-08T23:26:30.445Z (2 months ago)
- Topics: java, javafx, jna, maven, vosk-api
- Language: Java
- Homepage:
- Size: 39.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ฃ๏ธ Voice Control - Desktop Voice-to-Text App
A voice-to-text Java desktop application that allows you to control your system using spoken commands. Built with JavaFX and Vosk for offline speech recognition, and supports customization features including push-to-talk keys and keyword-triggered actions.
---
## ๐ Features
- ๐๏ธ **Push-to-Talk Voice Input** โ Hold a configurable key (e.g. `Shift`) to speak commands.
- ๐ง **Custom Keywords** โ Define keywords that can:
- Launch apps (e.g., "Notepad" opens Notepad)
- Type out text or URLs (e.g., "Email" types an address)
- Simulate key presses (e.g., "Space" simulates a space key)
- ๐ **Global Key Hooking** โ Monitors input across the entire OS.
- ๐งฉ **Modular Settings System** โ Easily configurable via JSON settings file or in-app UI.
- ๐ **Dark, Sleek UI** โ Minimalist and distraction-free design.---
## ๐ง Keyword Types
| Type | Description |
|-----------|--------------------------------------------------|
| Execute | Opens an app (e.g., `"notepad"` โ Notepad) |
| Typing | Types a phrase or sentence |
| KeyPress | Simulates a specific key |Hold the **Push-to-Talk** key and say the keyword to trigger the action.
---
## โ๏ธ Configuration
Settings are managed in `settings.json`. You can change:
- `pushToTalkKey`: e.g., `"SHIFT"`
- `keywordActivationKey`: e.g., `"CRTL"`
- Add/edit keywords under `keywords`Example:
```json
{
"pushToTalkKey": "SHIFT",
"keywords": [
{ "word": "notepad", "type": "Execute", "value": "notepad.exe" },
{ "word": "email", "type": "Typing", "value": "[email protected]" },
{ "word": "space", "type": "KeyPress", "value": "SPACE" }
]
}
```---
## ๐ฆ Dependencies
- [JavaFX](https://openjfx.io/)
- [Vosk API](https://alphacephei.com/vosk/)
- [JNA](https://github.com/java-native-access/jna) โ for native input hooks
- [GSON](https://github.com/google/gson)---
## ๐งช TODOs / Coming Soon
- ๐ฑ๏ธ Global Mouse Hook Support
- ๐ฎ Multi KeyPress execution for keyboard shortcuts
- ๐ Better Speech Recognition---
## ๐ฌ License
MIT License โ feel free to fork, improve, and use!