Pantalla TV: preferir Sabina y Paulina, que son locales

La voz es-CO de Chrome es de Google y se baja de internet en cada llamado:
con wifi flojo se corta. Una colombiana local no existe, así que se prefieren
las mexicanas del propio equipo —Sabina en Windows, Paulina en macOS—, que
para leer letras, números y un nombre propio se oyen naturales aquí.

El orden queda: las dos por nombre, luego cualquier local latinoamericana,
luego cualquier local aunque sea de España (peor acento, pero no se corta), y
la remota solo si el equipo no tiene ninguna instalada.

Comprobado contra cinco inventarios de voces: Windows con Sabina, macOS con
Paulina, solo España local, sin ninguna local, y sin voces en español.

voces.php replica el mismo orden para señalar cuál está sonando.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-08-12 07:57:33 -05:00
co-authored by Claude Opus 5
parent 24c05a40c2
commit 7764f88df3
2 changed files with 48 additions and 11 deletions
+16 -3
View File
@@ -78,14 +78,27 @@
// El mismo texto que dice la pantalla de turnos, para juzgarlas en condiciones
const TEXTO = 'Turno A 0 1, María Fernanda Gómez, pase a Consultorio 2';
// Réplica de la preferencia que usa display_global.php hoy, para señalar
// cuál está sonando en este momento en el televisor.
// Réplica de la preferencia de display_global.php, para señalar cuál está
// sonando. Si allá se cambia el orden, hay que cambiarlo aquí también.
const VOCES_PREFERIDAS = ['sabina', 'paulina'];
function vozActual(voces) {
if (!voces.length) return null;
const locales = voces.filter(v => v.localService);
for (const nombre of VOCES_PREFERIDAS) {
const v = locales.find(v => v.name.toLowerCase().includes(nombre));
if (v) return v;
}
for (const lang of ['es-MX','es-419','es-US','es-CO']) {
const v = locales.find(v => v.lang === lang);
if (v) return v;
}
if (locales.length) return locales[0];
for (const lang of ['es-CO','es-419','es-MX','es-US','es-ES']) {
const v = voces.find(v => v.lang === lang);
if (v) return v;
}
return voces.find(v => v.lang.startsWith('es')) || null;
return voces[0];
}
function probar(voz) {