Veus($lang, $text, ‘🔊’)



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:

  1. ✅ Calibre natiu a /opt/calibre amb accés al TTS
  2. ⏳ Funció veus($lang, $tex) amb espeak-ng directe (substituint Python)
  3. ⏳ Post del blog amb tota la documentació (incloent les observacions a, b, c, d)

Quan tornis, ho enllestim! 🚀