An open API service indexing awesome lists of open source software.

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.

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!