Configuración de Text to Speech (TTS)

Text to Speech (TTS, texto a voz) lee en voz alta los mensajes del chat y la narración del juego. Esta guía muestra cómo activarlo, elegir un servicio de voz y las voces, configurar la reproducción automática y usar los controles por mensaje.

Inicio rápido

  1. Abre la tarjeta de Text to Speech (pasos abajo) y activa Use text to speech (Usar texto a voz).
  2. Elige un Source (Fuente) y pega tu clave en API key (clave de API).
  3. Haz clic en Preview (Probar) para oír una muestra.
  4. En un chat, haz clic en Speak (Hablar) debajo de un mensaje.

Activar Text to Speech

Casi todos los ajustes de TTS están en una sola tarjeta. Activar TTS no hace que nada hable por sí solo. Revela el botón Speak en cada mensaje y las opciones de Auto-play (Reproducción automática). Tú sigues eligiendo qué se lee y cuándo.

  1. Haz clic en Connections (Conexiones) en la barra superior y luego en Add (Añadir). Se abre la ventana Add account (Añadir cuenta).
  2. En Voice (Voz), elige Text to speech (Texto a voz). Se abre la tarjeta. Si ya usas PocketTTS, la misma tarjeta también está en On this device (En este dispositivo).
  3. Activa Use text to speech. Mientras está desactivado, no se lee nada en voz alta.
  4. Abre la lista Source y elige un servicio.

Un Source es el servicio que produce el audio.

Marinara mantiene un perfil guardado por separado para cada Source: su clave, su dirección, su modelo, sus voces y sus parámetros. Al cambiar de Source se restaura la configuración anterior de ese Source. Un Source que aún no hayas configurado empieza con los valores predeterminados.

Las solicitudes pasan por el propio servidor de Marinara. Tu API key se guarda cifrada en el servidor. Después de guardarla, el campo muestra puntos enmascarados y la clave real nunca vuelve a tu navegador.

Usar una conexión de Audio

Si ya añadiste una cuenta de Audio (consulta Proveedores de IA compatibles), no necesitas volver a introducir sus datos. Aparece en la lista Source, en Audio providers (Proveedores de audio), con su tipo de fuente entre corchetes.

  1. Abre la lista Source y elige la cuenta.
  2. Elige sus voces y los demás ajustes de abajo.

Marinara entonces usa la dirección, la clave, el modelo y el Request timeout (seconds) (Tiempo de espera de la solicitud, en segundos) de esa cuenta, así que la tarjeta oculta esos campos. La clave se queda en la cuenta y nunca se copia en la tarjeta ni se envía a tu navegador. Los cambios en la cuenta, como una clave nueva, se aplican de inmediato.

Las voces, la velocidad y los demás ajustes de voz se guardan por cuenta. Dos cuentas del mismo tipo nunca los comparten. Tus ajustes de los cuatro Source normales se quedan como estaban. El interruptor de la tarjeta sigue activando y desactivando el TTS normal.

Si la cuenta elegida se elimina o no se puede usar, la tarjeta muestra Missing Audio provider (Falta el proveedor de Audio) y no se dice nada hasta que elijas otro Source. Marinara nunca cambia de Source por su cuenta. Si la cuenta muestra la lista de sus voces, la tarjeta nombra cualquier voz guardada que no esté en la lista.

Configurar la dirección, la clave y el modelo

Omite esta sección si elegiste una cuenta de Audio. La cuenta proporciona estos datos.

  1. Revisa Base URL (URL base). Cada Source rellena un valor predeterminado (tabla de abajo). Cámbialo solo para un proxy o un servidor que ejecutes tú.
  2. Pega tu clave en API key. Para conservar una clave existente, deja los puntos enmascarados. Para eliminarla, borra el campo.
  3. Revisa Model (Modelo). Cada Source rellena un valor predeterminado. Puedes escribir otro modelo que admita tu servicio.
SourceBase URL predeterminadaModelo predeterminadoVoz predeterminada
OpenAI-compatiblehttps://api.openai.com/v1tts-1alloy
ElevenLabshttps://api.elevenlabs.ioeleven_multilingual_v2ninguna, debes elegir una
PocketTTShttp://localhost:8000pocket-ttsalba
xAI Voicehttps://api.x.ai/v1grok-ttseve

Para ElevenLabs, la lista Model carga los modelos de voz que tu cuenta puede usar. Elige un modelo de voz normal. Los ID de modelo que contienen ttv son modelos de diseño de voz que no pueden leer texto. Si eliges uno, la reproducción falla con un error que te indica que uses un modelo de voz.

PocketTTS

PocketTTS no está integrado en Marinara. Instala el servidor oficial de PocketTTS por separado e inícialo con uvx pocket-tts serve. Marinara no lo descarga ni lo administra. El servidor oficial usa http://localhost:8000. Deja Base URL con ese valor salvo que hayas cambiado el host o el puerto. Marinara detecta la API multipart oficial /tts. Las URL personalizadas del adaptador de PocketTTS compatible con OpenAI siguen funcionando.

Tiempo de espera de la solicitud

Marinara espera hasta 60 segundos por cada línea hablada. Un servidor de voz en tu propia computadora, sobre todo en una laptop, puede necesitar más tiempo para una línea larga. Sube Request timeout (seconds), debajo de Model. El rango es de 10 a 3.600 segundos.

Una cuenta de Audio tiene su propio Request timeout (seconds), debajo de Default voice (Voz predeterminada) en su editor. Los chats que hablan mediante una cuenta de Audio, incluida una elegida como Source, usan ese límite. El límite de la tarjeta cubre la voz que usa los ajustes propios de la tarjeta, incluido Preview. Si una línea tarda demasiado, el error indica cuántos segundos esperó Marinara y qué ajuste debes subir.

Elegir voces

Voice option (Opción de voz) decide cómo se asignan las voces.

Una voz para todos

Elige la voz en Shared voice (Voz compartida). Para cargar la lista de voces real de tu servicio, introduce sus datos y haz clic en Refresh voices from provider (Actualizar las voces desde el proveedor; el icono de flecha circular). Esto guarda primero la tarjeta, así que una clave recién introducida se usa de inmediato. Antes de que te conectes, se muestra una breve lista integrada para que el campo no esté vacío. Un error del servicio se muestra en lugar de hacer pasar la lista de reserva por una actualización correcta.

El servidor oficial de PocketTTS no tiene un endpoint para listar voces, así que Marinara muestra sus voces integradas y mantiene un campo de texto junto a la lista para otro nombre integrado o una URL de voz compatible. Los servidores adaptadores compatibles pueden devolver su propia lista y aceptar ID o rutas personalizados.

Para ElevenLabs debes elegir una voz. Marinara carga toda la biblioteca de la cuenta: voces personales, del espacio de trabajo, guardadas y predeterminadas. El selector tiene un cuadro de búsqueda y un recuento de las voces cargadas. Empieza en "Select an ElevenLabs voice", y la reproducción se bloquea hasta que elijas una voz real.

Seleccionada por personaje o persona

  1. Pon Voice option en Selected per character or persona.
  2. En Character and persona voices (Voces de personajes y personas), haz clic en Add voice (Añadir voz).
  3. Elige un personaje o una persona en la lista de la izquierda y una voz en la lista de la derecha.
  4. Repite para cada uno.

También puedes elegir la voz de un personaje en la pestaña Voice del Character Editor (Editor de personajes). Cambia la misma fila. Refresh (Actualizar) en este cuadro vuelve a cargar la lista de voces. Crea primero tus personajes. Si no tienes ninguno, la app te indica que añadas un personaje o una persona antes de asignar voces.

Un personaje sin una voz personal usa la voz de una tarjeta con un nombre coincidente, como el original de una copia AU. De lo contrario, usa la voz compartida. Consulta Crear y editar personajes.

Voz del narrador

La narración es texto que no dice ningún personaje concreto, como la descripción de una escena o las líneas de un game master.

  1. En Narrator voice (Voz del narrador), activa Use separate narrator voice (Usar una voz de narrador aparte).
  2. Elige una voz.

Se usa cuando el hablante de una línea es Narrator, GM, Game Master o System, en los mensajes de Roleplay y de Conversation, y para la narración de Game Mode sin un hablante con nombre. Con ElevenLabs, elige aquí una voz de narrador. Si lo dejas vacío, la narración solo recurre a una voz de reserva cuando hay una voz global configurada.

Voces aleatorias para NPC (solo en Game Mode)

Esto da voces sobrantes a los personajes menores del juego que Game Mode rastrea. No tiene efecto en Roleplay ni en Conversation.

  1. En Random NPC voices (Voces aleatorias para NPC), activa Use default voices for random NPCs (Usar voces predeterminadas para los NPC aleatorios).
  2. Marca voces en Male NPC defaults (Valores predeterminados para NPC masculinos) y Female NPC defaults (Valores predeterminados para NPC femeninos).

Un NPC (personaje no jugador) rastreado sin una voz personal recibe una elección estable del grupo correspondiente y la conserva durante la sesión. Un NPC con una voz asignada conserva esa voz. Los NPC de género poco claro eligen de ambos grupos. Si la app no encuentra voces etiquetadas como masculinas o femeninas, cada grupo usa la lista completa.

Formato de audio y velocidad

Audio format (Formato de audio) es MP3 (predeterminado) o WAV. Usa WAV para servidores locales que no puedan producir MP3. El control está oculto para ElevenLabs, que siempre usa MP3. Aparece para xAI Voice pero no tiene efecto, porque xAI siempre devuelve MP3.

El rango del control deslizante Speed (Velocidad) depende del Source:

SourceRango
OpenAI-compatibleDe 0,25 a 4,0 veces
PocketTTSDe 0,25 a 4,0 en los adaptadores compatibles. El servidor oficial controla la velocidad por sí mismo.
ElevenLabsDe 0,7 a 1,2 veces
xAI VoiceDe 0,7 a 1,5 veces

Una velocidad guardada fuera del rango se ajusta al valor permitido más cercano. Para ElevenLabs hay dos controles más: Language (Idioma: fuerza un idioma o déjalo en Auto detect) y Stability (Estabilidad: de más expresiva a más consistente).

Reproducción automática

Cada interruptor de Auto-play lee un tipo de mensaje nuevo en cuanto termina de generarse. Necesitan que Use text to speech esté activado. Todos empiezan desactivados.

La reproducción automática se dispara una sola vez, en la respuesta más reciente, cuando termina. No vuelve a leer los mensajes antiguos cuando reabres o desplazas un chat.

En Roleplay, la preparación de voz empieza en cuanto se guarda la respuesta principal. Si un agente activo reescribe la respuesta, como Prose Guardian, Marinara espera al texto definitivo.

Filtros de texto e indicaciones de emoción

Estos filtros se aplican a la reproducción manual y a la automática, incluidas la narración de Game y la identificación de hablantes en Roleplay. Los bloques de código se omiten de forma predeterminada. Los otros dos empiezan desactivados.

Activa Roleplay speaker extractor (Identificación de hablantes en Roleplay) para ver Enable emotion indicators (Activar indicadores de emoción). Esta opción añade indicaciones de voz sin cambiar las palabras del diálogo. Con los indicadores de emoción activados, el texto entre corchetes llega al servicio de voz incluso si Skip text inside square brackets está activado. Esto puede incluir notas. Para que las notas entre corchetes no se lean, desactiva los indicadores de emoción y deja activada la opción de omitir. Las indicaciones como [Low, steady voice, restrained urgency] se mantienen completas cuando una línea larga se divide. Se siguen eliminando las etiquetas conocidas de hablante y de escena. El modelo de voz decide cómo usar cada indicación. Con Use text to speech, Game narration y los indicadores de emoción activados, los diálogos de escena, del grupo y de combate de Game también pueden incluir indicaciones.

Hablar un solo mensaje

Una vez que TTS está activado, aparece un botón Speak (un icono de micrófono) en la barra de herramientas debajo de cada mensaje de personaje o de narrador.

Mientras un mensaje se reproduce, aparecen los botones Pause speaking (Pausar la voz), Resume speaking (Reanudar la voz) y Restart speaking (Reiniciar la voz). El botón con el icono de altavoz abre un control deslizante Line volume (Volumen de línea) de 0 a 100 por ciento (50 de forma predeterminada). Es independiente del mezclador de Game Mode y del volumen de llamada de Conversation.

Si no funcionó, consulta Solución de problemas.

Clips en caché

Marinara guarda el audio generado en tu navegador para no generar la misma línea dos veces. El panel Cached clips (Clips en caché) muestra un recuento en vivo y el tamaño total. Haz clic en Export cached TTS clips (Exportar los clips de TTS en caché; el icono de descarga) para guardar cada clip en caché como archivos de audio separados. La caché recorta sus clips más antiguos por sí sola. No hay un botón para vaciarla en la app. Borra los datos de tu navegador para vaciarla.

TTS en cada modo de chat

Phonetic name (pronunciación en las llamadas)

Si la voz pronuncia mal el nombre de un personaje o de una persona, añade un Phonetic name (Nombre fonético) y escribe cómo debería sonar. En el Character Editor está en la pestaña Voice. En el Persona Editor (Editor de persona) está con los campos de información básica. Solo se usa en las llamadas de audio y video de Conversation. Speak, la reproducción automática y la narración de Game Mode lo ignoran.

Solución de problemas

Referencia: música, efectos de sonido y Gacha Forge

Estas secciones son para configuraciones avanzadas.

Música y efectos de sonido de Game con un servidor de audio compatible

  1. En Connections, abre tu cuenta de Music & Sound Effects (Música y efectos de sonido) con Edit model (Editar modelo) y elige Custom compatible server (Servidor compatible personalizado). La ventana Add account no tiene ninguna ficha para este tipo de cuenta; proviene de una actualización o de una importación (consulta la referencia de cuentas).
  2. Introduce la dirección, la clave y el modelo de tu servidor de música o de efectos de sonido.
  3. Configura Generation API format (Formato de la API de generación) e introduce las rutas de los endpoints que ofrece tu servidor. Una ruta vacía deja esa función sin disponibilidad.
  4. Activa Music generation (Generación de música), Sound-effect generation (Generación de efectos de sonido) o ambas.
  5. Selecciona esta cuenta en la configuración de Game o en los ajustes de audio del juego. Conserva por separado tu cuenta de voz seleccionada en la tarjeta de TTS.

Las rutas de los endpoints se añaden a la Base URL de la cuenta. Para http://localhost:8002/v1, usa chat/completions para llegar a /v1/chat/completions. Los endpoints HTTP locales requieren TTS_LOCAL_URLS_ENABLED=true en .env, como las demás solicitudes locales de audio compatible.

Se admiten dos formatos de API:

Activa solo lo que implemente tu servidor. Un endpoint de voz compatible con OpenAI no significa por sí solo que admita música o efectos de sonido. Un servicio como Infermatic debe ofrecer uno de estos formatos o proporcionar un adaptador. Su endpoint de música real no se ha verificado aquí. Para la generación nativa de ElevenLabs o SunoAPI, usa esa fuente en Music & Sound Effects. Consulta la referencia de cuentas.

La música de contexto generada se compone una vez por zona o nivel de encuentro y se reutiliza. Los efectos de sonido repetidos usan la caché de audio. Un error de generación deja la caché disponible para reintentar.

Diálogo y audio de Gacha Forge

Gacha Forge 1.11.0 o posterior usa la cuenta seleccionada en la tarjeta de TTS y sus asignaciones de voz por personaje. - Activa Read character dialogue (Leer diálogos de personajes) para leer los diálogos de los personajes importados que tienen una voz asignada. Está en el paso de configuración Lore (Trasfondo) de un mundo nuevo, o en los ajustes de mundo propios de Gacha Forge para un mundo existente. La narración, los pensamientos, las unidades generadas sin un ID de personaje del Engine y los personajes sin voz permanecen en silencio. Un nombre por sí solo nunca toma prestada la voz de otro personaje.

Actualiza tanto el paquete Gacha Forge instalado como el Engine para obtener estos controles.

Guías relacionadas