Assistente vocale locale per radioamatori, scritto in C++17 / Qt6 / QML / CMake (stesso stack di DECODIUM). Risponde a voce, conosce il mondo ham e si integra in tempo reale con il decoder DECODIUM 4.
Autore: Martino β IU8LMC
- π¬ Chat + voce β scrivi e Decodius risponde a voce (italiano naturale).
- π§ Cervello LLM via Ollama β cloud (
gpt-oss:120b-cloud) o locale (gemma4, ecc.), configurabile indecodius_model.txt. - π‘ Integrazione DECODIUM 4 β legge in tempo reale stato, frequenze, modo e
i decode ("chi chiama CQ?") e puΓ² comandare il decoder a voce
(sposta la RX, cambia modo/banda, TXβ¦). Vedi
LEGGIMI-Decodium.txt. - π οΈ Strumenti (tool calling) β calcoli ham, locatore Maidenhead, ora UTC, propagazione, lookup nominativi (callook/HamQTH), ricerca web, log QSO, lettura file.
- π Base di conoscenza radioamatoriale in
decodius_ham_kb.md. - π¨ UI "orb" animata (Qt Quick MultiEffect: aurora, ripple, particelle, onda sinusoidale).
- π Nominativo personalizzato chiesto al primo avvio.
β¨οΈ Testo β OllamaClient β LLM (Ollama) β strumenti β risposta
π Risposta β edge-tts (it-IT-Giuseppe) β audio
π‘ DECODIUM 4 ββ HTTP locale (lettura :8080 / comandi :19091)
| File | Ruolo |
|---|---|
main.cpp |
avvio QGuiApplication + QML |
Assistant.* |
orchestratore: stato (Idle/Thinking/Speaking), TTS, nominativo |
OllamaClient.* |
dialogo LLM in streaming + tool calling (incluso decodium e decodium_comando) |
AudioAnalyzer.*, Fft.h, Spectrum.h |
cattura microfono + analisi spettrale |
XttsTts.*, PiperTts.*, WhisperStt.* |
backend voce/STT (storici/opzionali) |
edge/edge_server.py |
server voce edge-tts (Giuseppe, italiano) |
Main.qml |
interfaccia "orb" animata |
decodius_system.txt |
persona/istruzioni di sistema |
decodius_model.txt |
modello LLM da usare |
decodius_ham_kb.md |
base di conoscenza ham |
Prerequisiti: Qt 6.5+ (moduli Multimedia, Network, TextToSpeech), CMake β₯ 3.21, compilatore MSVC.
cmake -B build -S . -DCMAKE_PREFIX_PATH="C:/Qt/6.8.0/msvc2022_64"
cmake --build build --config Release
C:\Qt\6.8.0\msvc2022_64\bin\windeployqt.exe --qmldir . build\decodius.exeIn alternativa apri
CMakeLists.txtin Qt Creator e premi Run.
- Installa Ollama (https://ollama.com) e scegli il modello in
decodius_model.txt(cloud:ollama signin; locale:ollama pull gemma4:latest). - Avvia
decodius.exee inserisci il tuo nominativo al primo avvio. - Scrivi nella barra in basso: Decodius risponde a voce.
Per la voce serve Python con edge-tts (incluso come runtime portatile nell'installer,
oppure pip install edge-tts). Richiede connessione Internet (voce + cervello cloud).
Decodius e DECODIUM devono girare sullo stesso PC. In DECODIUM:
- Lettura: Settings β tab Decodifica β "Abilita Web Server" (porta 8080).
- Comandi: Settings β General β "Remote Web Dashboard (LAN)" β bind
127.0.0.1, porta 19091.
Dettagli completi in LEGGIMI-Decodium.txt.
Lo script Inno Setup decodius.iss produce un installer pubblico con runtime Qt,
Python portatile per la voce e tutte le risorse. Compila con:
"C:\Program Files (x86)\Inno Setup 6\ISCC.exe" decodius.iss
Distribuito sotto licenza MIT β vedi il file LICENSE.
73! β IU8LMC
