Comanda per dir bon dia amb la veu d’Ona:
echo "hola bon dia" | /home/Miquel/piper/piper -m /home/Miquel/piper_linux_x86_64/ca_ES-upc_ona-medium.onnx --output-raw | aplay -r 22050 -f S16_LE -t raw -
1. Extreure el fitxer correctament:
tar -xvf piper_linux_x86_64.tar.gz
2. Descarregar la veu en català (dins de la carpeta que acabes de crear):
wget -P piper_linux_x86_64 https://huggingface.co/rhasspy/piper-voices/resolve/main/ca/ca_ES/upc_ona/x_low/ca_ES-upc_ona-x_low.onnx wget -P piper_linux_x86_64 https://huggingface.co/rhasspy/piper-voices/resolve/main/ca/ca_ES/upc_ona/x_low/ca_ES-upc_ona-x_low.onnx.json
3. Fer que l’ordinador parli:
echo "hola bon dia" | ./piper_linux_x86_64/piper -m ./piper_linux_x86_64/ca_ES-upc_ona-x_low.onnx --output-raw | aplay -r 22050 -f S16_LE -t raw -
📋 Xuleta d’Ús: Piper TTS (Català) a Deepin
1. COM usar-la des de la Terminal (Deepin)
Si vas afegir la funció al teu ~/.bashrc, tens dues eines ràpides:
- Escoltar directament:
parla "Hola Miquel, el sistema funciona perfectament." - Generar un fitxer d’àudio (sense reproduir-lo):
cd ~/piper-tts/piper export LD_LIBRARY_PATH=. echo "Text a guardar" | ./piper --model ca_ES-upc_ona-medium.onnx --output_file /ruta/del/meu/fitxer.wav
2. COM usar-la des de PHP (Integració Web)
Com que treballes amb aplicacions PHP, pots generar àudio dinàmicament al servidor. Aquí tens un exemple segur i net:
<?php
$text = "Hola, això és una prova de veu generada des de PHP.";
$output_file = "/tmp/tts_" . uniqid() . ".wav";
// 1. Netejar el text per evitar injecció de comandes a la terminal
$text_net = escapeshellarg($text);
// 2. Construir la comanda (ajusta la ruta si el teu usuari no és 'Miquel')
$comanda = "cd /home/Miquel/piper-tts/piper && " .
"export LD_LIBRARY_PATH=. && " .
"echo $text_net | ./piper --model ca_ES-upc_ona-medium.onnx --output_file $output_file 2>/dev/null";
// 3. Executar
shell_exec($comanda);
// 4. Comprovar si s'ha creat i servir-lo (o retornar la ruta)
if (file_exists($output_file)) {
header('Content-Type: audio/wav');
header('Content-Disposition: attachment; filename="veu.wav"');
readfile($output_file);
unlink($output_file); // Neteja el fitxer temporal després d'enviar-lo
} else {
echo "Error generant l'àudio.";
}
?>
Nota: Assegura’t que l’usuari que executa PHP (ex: www-data o el teu usuari en entorn de desenvolupament) tingui permisos d’execució a la carpeta /home/Miquel/piper-tts/piper.
3. ON i QUAN usar-la (Casos d’ús pràctics)
- 🎓 Projectes d’aprenentatge d’idiomes: Com que t’interessa el suport multilingüe, pots canviar el model
.onnx(ex: aen_US-amy-medium.onnx) per generar àudio d’exemple per a estudiants de català, anglès o basc. - ♿ Accessibilitat: Afegir un botó «Escoltar resposta» a les teves aplicacions web per a usuaris amb discapacitat visual o dificultats de lectura.
- 🔔 Notificacions d’escriptori: Combinar-ho amb les notificacions de Deepin perquè l’ordinador et llegeixi alertes:
parla "Atenció: la còpia de seguretat al servidor Synology ha finalitzat." - 🛠️ Depuració (Debugging): Fer que el servidor «parli» quan un script PHP llarg acaba d’executar-se, així no has d’estar mirant la pantalla constantment.
4. COM personalitzar la veu (Trucs avançats)
Piper permet ajustar paràmetres afegint-los a la comanda:
- Fer-la parlar més ràpid: Afegeix
--length_scale 0.8(valors més baixos = més ràpid). - Fer-la parlar més a poc a poc: Afegeix
--length_scale 1.2. - Més expressiva/aleatòria: Afegeix
--noise_scale 0.8(el valor per defecte és 0.66).
Exemple:
echo "Vaig molt ràpid!" | ./piper --model ca_ES-upc_ona-medium.onnx --length_scale 0.8 --output_file rapid.wav
5. RESOLUCIÓ RÀPIDA DE PROBLEMES
| Problema | Solució |
|---|---|
Error: libpiper_phonemize.so.1: cannot open | Estàs executant l’ordre fora de la carpeta o sense la variable d’entorn. Fes: cd ~/piper-tts/piper && export LD_LIBRARY_PATH=. |
No se sent cap so amb paplay | Prova a reproduir el fitxer .wav directament amb el reproductor d’àudio del Deepin (doble clic). Si se sent, el problema és de configuració de PulseAudio/PipeWire, no de Piper. |
| La veu sona molt robòtica | Assegura’t que estàs fent servir el model medium o high. Els models x_low són molt ràpids però sonen més artificials. |
💡 Proper pas opcional
Si en el futur vols afegir una veu en anglès o basca al mateix sistema, només has de:
- Descarregar el
.onnxi.jsonde la nova llengua des del repositori de veus de Piper. - Posar-los a la carpeta
~/piper-tts/piper. - Canviar
--model ca_ES-upc_ona-medium.onnxpel nom del nou fitxer a les teves comandes o scripts PHP.
T’ha quedat clar amb aquest format? Si vols que adaptem la funció de bash o l’script de PHP per a algun cas concret dels teus projectes, digue-m’ho!


Deep think completado (tardó 6s)