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:
co-authored by
Claude Opus 5
parent
24c05a40c2
commit
7764f88df3
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user