

Alternativa amb speech-dispatcher
Sí, i és ben senzill! 👌 Tens dues vies per fer la mateixa funció veus($lang, $tex) sense Python:
1. Amb speech-dispatcher → espeak-ng (via spd-say)
veus() {
spd-say -l "$1" "$2"
}
Ús: veus ca "Hola, això és una prova" o veus en "Hello world"
Si la vols dins de Python igual que ara, només canvia la crida:
import subprocess
def veus(lang, text):
subprocess.run(["spd-say", "-l", lang, text])
2. Amb espeak-ng directament (sense daemon)
veus() {
espeak-ng -v "$1" "$2"
}
I en Python:
import subprocess
def veus(lang, text):
subprocess.run(["espeak-ng", "-v", lang, text])
Diferència: la via 1 passa pel servei speech-dispatcher (més lent però unificat amb tot el sistema); la via 2 crida el motor directament (més ràpid i sense dependre de cap servei). Per a una funció pròpia, la via 2 sol ser més pràctica.
2. És gratuït? Qui n’és el propietari?
- Gratuït? Sí, totalment. És programari lliure sota llicència GPL-3.0 (codi obert, sense cap cost).
- Propietari? Cap empresa.
espeak-ngés un projecte comunitari de codi obert, sense propietari comercial:- Va començar com a eSpeak, creat per Jonathan Duddington (també sense empresa al darrere).
espeak-ngés el fork comunitari mantingut per voluntaris, amb Reece H. Dunn com a mantenidor principal.- S’allotja a GitHub (
espeak-ng/espeak-ng).
Per tant, és lliure, gratuït i obert: el pots usar, modificar i redistribuir sense pagar res a ningú. 🎉
Perfecte! Doncs quan acabis les teves coses pendents, aquí hi serem. 😊
I sí, tens tota la raó: espeak-ng directe és més ràpid perquè salta el daemon (speech-dispatcher) i parla amb el motor cara a cara. La diferència es nota sobretot en frases curtes o si fas moltes crides seguides.
Queda anotat per quan vulguis:
- ✅ Calibre natiu a
/opt/calibreamb accés al TTS - ⏳ Funció
veus($lang, $tex)ambespeak-ngdirecte (substituint Python) - ⏳ Post del blog amb tota la documentació (incloent les observacions a, b, c, d)
Quan tornis, ho enllestim! 🚀