
- Buscar imatge a google
- Copiar al porta-retalla
- Obrir Gimp de linux
- Exportar com a ..

- Exporta i comprovar que s’ha carregat al seu lloc






Alternativa amb speech-dispatcher
Sí, i és ben senzill! 👌 Tens dues vies per fer la mateixa funció veus($lang, $tex) sense Python:
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])
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.
espeak-ng és un projecte comunitari de codi obert, sense propietari comercial:
espeak-ng és el fork comunitari mantingut per voluntaris, amb Reece H. Dunn com a mantenidor principal.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:
/opt/calibre amb accés al TTSveus($lang, $tex) amb espeak-ng directe (substituint Python)Quan tornis, ho enllestim! 🚀
Amb el (venv) actiu i situat a /volume2/web/polidic:
gtts-cli "Здравствуйте, это проверка русского языка." --lang ru --output prova_ru.mp3
find /volume2/web/polidic -name ‘prova_eu.mp3’ -o -name ‘prova_es.mp3’
gtts-cli "Hej, det här är ett test av det svenska språket." --lang sv --output prova_sv.mp3
Polidic, voldria afegir una funció nova a polidic: afegir un botó nou a continuació de l’entrada ‘cercar’ i el botó cercar/confirmar, aquest botó conte un altaveu com icona, de forma que al pemèr-lo converteix el text de l’entrada en àudio (veu anglesa). És complicat?

No, no és gaire complicat! Afegir un botó amb un icona d’altaveu que llegeixi en veu alta (text-to-speech, TTS) el contingut de l’entrada de cerca en anglès és una funcionalitat bastant estàndard en navegadors moderns, gràcies a l’API Web Speech API, concretament la part de SpeechSynthesis.
Aquí tens una guia senzilla per implementar-ho a Polidic:
Suposant que tens una entrada de text amb id searchInput i un botó de cerca, afegeix un botó nou al costat:
<input type="text" id="searchInput" placeholder="Cerca...">
<button id="searchButton">Cercar</button>
<button id="speakButton" title="Llegir en veu alta">
<span>?</span> <!-- o usa un ícona SVG o Font Awesome -->
</button>
? Si vols un ícona més professional, pots fer servir una llibreria com Font Awesome (
<i class="fas fa-volume-up"></i>) o un SVG.
document.getElementById('speakButton').addEventListener('click', () => {
const text = document.getElementById('searchInput').value.trim();
if (!text) return; // No diu res si està buit
// Cancel·la qualsevol parla anterior
speechSynthesis.cancel();
const utterance = new SpeechSynthesisUtterance(text);
utterance.lang = 'en-US'; // Veu en anglès (USA)
utterance.rate = 1; // Velocitat normal
utterance.pitch = 1; // To normal
// Opcional: escull una veu específica en anglès si vols
// speechSynthesis.getVoices() es carrega asíncronament, així que cal esperar
utterance.addEventListener('start', () => {
// Opcional: canviar l’estat del botó (ex: desactivar temporalment)
});
speechSynthesis.speak(utterance);
});
⚠️ Nota important:
speechSynthesis.getVoices()pot trigar a carregar. Si vols triar una veu concreta (per exemple, «Google US English»), cal esperar almenys un esdevenimentvoiceschanged:
let voicesLoaded = false;
speechSynthesis.addEventListener('voiceschanged', () => {
voicesLoaded = true;
});
// I dins del botó:
if (voicesLoaded) {
const voices = speechSynthesis.getVoices();
const englishVoice = voices.find(voice => voice.lang === 'en-US');
if (englishVoice) utterance.voice = englishVoice;
}
Però no és obligatori: si només poses utterance.lang = 'en-US', el navegador triarà automàticament una veu en anglès disponible.
Per fer que el botó quedi bé:
#speakButton {
background: none;
border: none;
font-size: 1.2em;
cursor: pointer;
padding: 0 8px;
color: #333;
}
#speakButton:hover {
color: #007bff;
}
Obre la consola del navegador i prova això:
const u = new SpeechSynthesisUtterance("Hello, this is a test.");
u.lang = "en-US";
speechSynthesis.speak(u);
Si ho llegeix en anglès, ja tens el suport actiu!
Vols que t’ajudi a integrar-ho directament al codi actual de Polidic? Si em passes un tros del HTML/JS on està la barra de cerca, et puc donar el codi exacte per enganxar.
Fet:

stud/Index:
1 Agenda visual. Algunes preguntes es mostren sense imatge treballant amb Agenda visual

2 Implementar Preguntes a respostes (Preg <> Resp)
En una primera fase l’enllas Preg <> Resp està en color verd que és la posició per defecte. Pregunta el camp2 (‘castellà) i s’ha de respondre el camp1 (‘català). Si es prem ha de canviar a color vermell, on inverteix el mode a camp1-> camp2

3 Si estem a Stud (estad ‘jugant’) menús d’idiomes, diccionaris, cerques -> bloquejats (no es despleguen)
1 pasar dic.epub -> dic.txt
2 eliminar línies en blanc i aconseguir un fitxer dic_trac.txt amb visual code o 010 editor :
S:\Diccionaris txt/collins englis-spanish.txt:
a ———–>
A [eɪ ] N (Mus) la m
KEYWORD
a [eɪ , ə ] INDEF ART (before vowel or silent h: an) 1 un(a ) ; a book un libro ; an apple una manzana ; she’s a doctor (ella) es médica 2 (instead of the number «one») un(a ) ; a year ago hace un año ; a hundred/thousand etc dollars cien/mil etc dólares
3 (in expressing ratios, prices etc) : three a day/week tres al día/a la semana ; 10 miles an hour 10 millas por hora ; $20 a person $20 por persona ; 50 cents a pound 50 centavos la libra
A.A. N ABBR ( = Alcoholics Anonymous ) Alcohólicos Anónimos ; (Brit : = Automobile Association ) asociación automovilística británica
A.A.A. (US) N ABBR ( = American Automobile Association ) asociación automovilística estadounidense
aback [əˈbæk ] ADV : to be taken aback quedar desconcertado
abandon [əˈbændən ] VT abandonar ; (give up) renunciar a
abate [əˈbeɪt ] VI (storm) amainar ; (anger) aplacarse ; (terror) disminuir
abattoir ˈæbətwɑːr N rastro (Mex) , matadero (LAm exc Mex) (Sp)
…
Z
3 Obrir l’escript: s./carregador/
4 obrir el fitxer: S:\Diccionaris txt/collins englis-spanish.txt amb visual code selecciona nomes les paraules que comencen amb a i salva el fitxer A1.txt a S:/carregador/A1.txt
5 fe corre al navegador: 81.0.60.36–/carregador/carregador_bdq.php/ s’ha de veure com es van carregant les linies:
1: Qualificador: | Català: Aa ———–> | Pronunciació: | Castellà:
2: Qualificador: | Català: A [eɪ ] N | Pronunciació: Mus | Castellà: la m
3: Qualificador: | Català: a [eɪ , ə ] INDEF | Pronunciació: before vowel or silent h: an | Castellà: 1 un(a ) ; a book un libro ; an apple una manzana ; she’s a doctor (ella) es médica 2 (instead of the number «one») un(a ) ; a year ago hace un año ; a hundred/thousand etc dollars cien/mil etc dólares
4: Qualificador: | Català: 3 | Pronunciació: in expressing ratios, prices etc | Castellà: : three a day/week tres al día/a la semana ; 10 miles an hour 10 millas por hora ; $20 a person $20 por persona ; 50 cents a pound 50 centavos la libra
5: Qualificador: | Català: A.A. N ABBR | Pronunciació: = Alcoholics Anonymous | Castellà: Alcohólicos Anónimos ; (Brit : = Automobile Association ) asociación automovilística británica
6: Qualificador: | Català: A.A.A. | Pronunciació: US | Castellà: N ABBR ( = American Automobile Association ) asociación automovilística estadounidense
7: Qualificador: | Català: aback [əˈbæk ] AD | Pronunciació: | Castellà: V : to be taken aback quedar desconcertado
8: Qualificador: | Català: abandon [əˈbændə | Pronunciació: give up | Castellà: renunciar a
9: Qualificador: | Català: abate [əˈbeɪt ] V | Pronunciació: storm | Castellà: amainar ; (anger) aplacarse ; (terror) disminuir
6 Comprovar si s’ha carregat la Taula de la BD
<li><a href=»index.php?dic=english_spanish&lang=’ . $lang_actual . ‘»>English-Spanish</a></li>
//----anglès------
"collins_english" => "English Dictionary",
"english_oxford" => "Oxford English Dictionary",
"castella_angles" => " Diccionario Castellano/English",
"espurnes_eng" => "Spark Dictionary",
"irregular_verbs" => "English irregular verbs",
"phrasals_verbs" => "English phrasals_verbs",
"temps_verbals" => "English temps verbals",
"english_collins_uk" => "Collins English Dictionary",
"english_castilian" => "English/Spanish Dictionary",
"collins_english_spanish" => "English/Spanish Dictionary" -->TAULA DICCIONARI
];
Amb aquests tres fitxers es controlen els diccionaris: mes_taules_lang.php, func.php i diccionaris_default.php