Los objetos de audio modulares de Roblox te permiten tener control dinámico sobre el sonido y el chat de voz en tus experiencias. Casi todos los objetos de audio corresponden a un dispositivo de audio del mundo real, y todos funcionan juntos para capturar y reproducir audio como sus contrapartes físicas.
Por ejemplo, cada objeto de audio cae conceptualmente en las siguientes categorías:
- Objetos que producen flujos de audio, como reproductores de audio.
- Objetos que consumen flujos de audio, como emisores de audio.
- Objetos que modifican flujos de audio, como efectos de audio.
- Objetos que transportan flujos de audio de un objeto de audio a otro, como cables.
A medida que lees esta guía y aprendes cómo todos estos objetos de audio trabajan juntos para emitir sonido, aprenderás cómo capturar y transmitir con precisión música, efectos de sonido y la voz humana de la experiencia al jugador y viceversa.
Reproducir audio
Para reproducir audio dentro de tu experiencia, es importante entender el papel de cada objeto de audio disponible:
- Un AudioPlayer carga y reproduce el archivo de audio utilizando un ID de activo de audio establecido.
- Un AudioEmitter es un altavoz virtual que emite audio en el entorno 3D.
- Un AudioListener es un micrófono virtual que capta audio del entorno 3D.
- Un AudioDeviceOutput es un dispositivo de hardware físico en el mundo real, como un altavoz o auriculares.
- Un AudioDeviceInput es un micrófono físico en el mundo real.
- El objeto AudioTextToSpeech convierte texto en audio utilizando una voz humana artificial.
- El objeto AudioSpeechToText convierte audio hablado en texto.
- Un Wire transporta flujos de audio de un objeto de audio a otro.
Cómo emparejas estos objetos de audio depende de si deseas emitir audio directamente al altavoz o auriculares del jugador o desde objetos en el espacio 3D. Las siguientes secciones detallan ambos escenarios.
Audio 2D
El audio 2D es sonido no direccional que se reproduce desde ninguna ubicación en particular, permaneciendo al mismo volumen independientemente de la posición o orientación del jugador en el espacio 3D. Este tipo de audio requiere tres objetos de audio:
- Un reproductor de audio para producir un flujo de audio.
- Un dispositivo de hardware físico para reproducir el flujo de audio en el mundo real.
- Un cable para transportar el flujo de audio desde el reproductor de audio hasta el dispositivo de salida.
Para demostrar cómo configurar estos objetos de audio en Studio para el audio 2D, el siguiente diagrama compara cada objeto con su contraparte de dispositivo de audio del mundo real. En resumen:
- El AudioPlayer carga y reproduce tu activo de audio con configuraciones especificadas.
- El AudioDeviceOutput permite al jugador escuchar el audio a través de su altavoz o auriculares.
- El Wire se conecta al reproductor de audio con su propiedad SourceInstance, y al dispositivo de hardware físico con su propiedad TargetInstance. Luego, actúa como un puente para transportar el flujo de audio del reproductor de audio al dispositivo de salida del jugador.

Para reproducir audio no direccional:
- En la ventana Explorer, ve a SoundService e inserta lo siguiente:
- Un objeto AudioPlayer para crear una fuente de audio.
- Un objeto AudioDeviceOutput para crear un altavoz que reproduzca en toda la experiencia.
- Un objeto Wire para conectar el flujo desde el reproductor de audio hasta el altavoz.
- En la ventana Properties del objeto AudioPlayer:
- Establece AssetID a un ID de activo de audio válido. Si no tienes tu propio audio personalizado, puedes encontrar activos de audio de uso gratuito en la Creator Store.
- Habilita Looping si deseas que tu audio se repita continuamente.
- Establece Volume a la unidad de amplitud que deseas que reproduzca tu audio.
- En la ventana Properties del objeto Wire:
- Establece SourceInstance al AudioPlayer para especificar que deseas reproducir el audio dentro de este reproductor de audio específico.
- Establece TargetInstance al AudioDeviceOutput para especificar que deseas reproducir el audio desde este altavoz específico.
Desde aquí, puedes activar tu audio no direccional con scripts para que se reproduzca cuando los jugadores se unan a la experiencia o como resultado de un evento de juego o interacción de UI. Para referencias de ejemplos de código para estos casos de uso, consulta el tutorial Agregar audio 2D.
Audio 3D
El audio 3D es sonido direccional que se reproduce desde una ubicación particular en el espacio 3D, aumentando o disminuyendo en volumen dependiendo de la posición y orientación del jugador respecto al sonido. Este tipo de audio requiere seis objetos de audio:
- Un reproductor de audio para producir un flujo de audio.
- Un emisor de audio para emitir el flujo de audio dentro del entorno.
- Un oyente para recoger el flujo de audio del entorno.
- Un dispositivo de hardware físico para reproducir el flujo de audio en el mundo real.
- Dos cables: uno para transportar el flujo de audio desde el reproductor de audio hasta el emisor, y otro para llevarlo desde el oyente hasta el dispositivo de salida.
Para demostrar cómo configurar estos objetos de audio en Studio para audio 3D, el siguiente diagrama compara cada objeto con su contraparte de dispositivo de audio del mundo real. En resumen:
- El AudioPlayer carga y reproduce tu activo de audio con configuraciones especificadas.
- La posición del padre del AudioEmitter en el espacio 3D determina dónde se emite ese audio dentro del entorno.
- El AudioListener recoge audio del emisor desde la cámara local o dentro de la Humanoid.RootPart del personaje del jugador, dependiendo de dónde establezcas la posición predeterminada del oyente.
- El AudioDeviceOutput permite al jugador escuchar el audio a través de su altavoz o auriculares.
- El primer Wire se conecta al reproductor de audio con su propiedad SourceInstance, y al emisor con su propiedad TargetInstance. Luego, actúa como un puente para transportar el flujo de audio del reproductor de audio al emisor.
- El segundo Wire se conecta al oyente con su propiedad SourceInstance, y al dispositivo de hardware físico con su propiedad TargetInstance. Luego, actúa como un puente para transportar el flujo de audio desde el oyente hasta el dispositivo de salida del jugador.

Para reproducir audio posicional:
Elige dónde quieres crear un AudioListener cuando los jugadores aparezcan en la experiencia.
- En la ventana Explorer, selecciona SoundService.
- En la ventana Properties, establece ListenerLocation en uno de los siguientes:
- Default - Crea y asigna el oyente a Workspace.CurrentCamera en experiencias que habilitan el chat de voz.
- None - No crea un oyente. Esta opción es útil si deseas crear un oyente a través de un script.
- Character - Crea y asigna un oyente al personaje del jugador local.
- Camera - Crea y asigna el oyente a Workspace.CurrentCamera.
En la ventana Explorer, ve al objeto 3D del que deseas emitir audio e inserta lo siguiente:
- Un objeto AudioPlayer para crear una fuente de audio.
- Un objeto AudioEmitter para emitir un flujo posicional desde el objeto 3D.
- Un objeto Wire para conectar el flujo desde el generador de audio hasta el emisor de audio.
En la ventana Properties del objeto AudioPlayer:
- Establece AssetID a un ID de activo de audio válido. Si no tienes tu propio audio personalizado, puedes encontrar activos de audio de uso gratuito en la Creator Store.
- Habilita Looping si deseas que tu audio se repita continuamente.
- Establece Volume a la unidad de amplitud que deseas que reproduzca tu audio.
En la ventana Properties del objeto AudioEmitter, establece DistanceAttenuation en una curva de volumen sobre la distancia que determina cuán fuerte escucha el oyente el emisor de acuerdo con la distancia entre ellos.
Por ejemplo, la siguiente curva disminuye el volumen del audio a la mitad cuando el oyente está a 50 studs del emisor, y luego disminuye rápidamente el volumen a cero cuando el oyente está a 70 studs de distancia.

En la ventana Properties del objeto Wire:
- Establece SourceInstance al AudioPlayer para especificar que deseas reproducir el audio dentro de este reproductor de audio específico.
- Establece TargetInstance al AudioEmitter para especificar que deseas reproducir el audio desde este emisor de audio específico.
Desde aquí, puedes activar tu audio direccional con scripts para que se reproduzca cuando los jugadores se unan a la experiencia o como resultado de un evento de juego o interacción de UI. Para referencias de ejemplos de código para estos casos de uso, consulta el tutorial Agregar audio 3D.
Texto a voz
Texto a voz (TTS) es una forma de tecnología asistencial que convierte cadenas de texto en sonidos de voz utilizando una voz artificial. Este tipo de audio requiere cinco objetos de audio:
- Un generador de voz de audio para cargar y convertir texto en audio.
- Un emisor de audio para emitir el flujo de audio dentro del entorno.
- Un oyente para recoger el flujo de audio del entorno.
- Un dispositivo de hardware físico para reproducir el flujo de audio en el mundo real.
- Para audio 2D - Un cable para transportar el flujo de audio desde el generador de texto a voz hasta el dispositivo de salida.
- Para audio 3D - Dos cables: uno para transportar el flujo de audio desde el generador de texto a voz hasta el emisor, y otro para llevarlo desde el oyente hasta el dispositivo de salida.
Cómo configuras estos objetos depende de si deseas crear audio TTS 2D o audio TTS 3D. Para más detalles sobre cualquiera de los procesos, haz clic entre las siguientes pestañas.
Para demostrar cómo configurar estos objetos de audio en Studio para audio TTS 2D, el siguiente diagrama compara cada objeto con su contraparte de dispositivo de audio del mundo real. En resumen:
- El objeto AudioTextToSpeech carga y convierte cadenas de texto en sonidos de voz.
- El AudioDeviceOutput permite al jugador escuchar el audio a través de su altavoz o auriculares.
- El Wire se conecta al generador de texto a voz con su propiedad SourceInstance, y al dispositivo de hardware físico con su propiedad TargetInstance. Luego, actúa como un puente para transportar el flujo de audio desde el generador de texto a voz hasta el dispositivo de salida del jugador.

Para reproducir audio TTS 2D:
- En la ventana Explorer, ve a SoundService e inserta lo siguiente:
- Un objeto AudioTextToSpeech para crear un generador de voz de audio.
- Un objeto AudioDeviceOutput para crear un altavoz que reproduzca en toda la experiencia.
- Un objeto Wire para conectar el flujo desde el generador de voz de audio hasta el altavoz.
- En la ventana Properties del objeto AudioTextToSpeech:
Establece Text en cualquier cosa que quieras que la voz diga. Hay un límite de 300 caracteres por solicitud.
Establece VoiceId en un número entre 1 y 10, dependiendo de qué voz artificial deseas usar en la siguiente tabla.
Lista de voces artificialesVoiceID Descripción de la voz Ejemplo de audio 1 Hombre británico 2 Mujer británica 3 Hombre de EE. UU. #1 4 Mujer de EE. UU. #1 5 Hombre de EE. UU. #2 6 Mujer de EE. UU. #2 7 Hombre australiano 8 Mujer australiana 9 Voz retro #1 10 Voz retro #2 11 Voz de narrador 101 Hombre español 102 Mujer española 201 Hombre alemán 202 Mujer alemana 301 Hombre italiano 302 Mujer italiana 401 Hombre francés 402 Mujer francesa
Establece Volume a la unidad de amplitud que deseas que reproduzca tu audio.
- En la ventana Properties del objeto Wire:
- Establece SourceInstance al AudioTextToSpeech para especificar que deseas reproducir el audio dentro de este generador de texto a voz específico.
- Establece TargetInstance al AudioDeviceOutput para especificar que deseas reproducir el audio desde este altavoz específico.
Desde aquí, puedes activar tu audio TTS con scripts. Para referencias de ejemplos de código para audio TTS, incluyendo cómo configurar TTS contextual que se adapta en relación al jugador, el estado de su entorno o estado de juego, consulta el tutorial Agregar texto a voz.
Habla a texto
Habla a texto (STT) es una forma de tecnología que genera automáticamente cadenas de texto a partir de sonidos de voz. Este tipo de audio requiere tres objetos de audio:
- Un generador de texto para cargar y convertir audio en texto.
- Un dispositivo de hardware físico como un micrófono para captar la entrada de audio.
- Un cable para transportar el flujo de audio desde el dispositivo de entrada hasta el generador de texto.
Todos estos objetos de audio trabajan juntos para generar texto STT en respuesta a las acciones del jugador. Por ejemplo, si el jugador está usando un auricular mientras juega en su computadora portátil:
- El AudioDeviceInput captura el habla del jugador, como se pronunció en su micrófono y como un flujo de audio.
- El AudioSpeechToText convierte el habla del jugador en texto.
- La experiencia lee este texto y realiza una acción, como mostrar el texto hablado en la pantalla o abrir una puerta a comando del jugador.

Para implementar la función de habla a texto en tu experiencia:
- Habilita el uso de la API más reciente para voz.
- En la ventana Explorer, selecciona VoiceChatService.
- En la ventana Properties, establece UseAudioApi en Enabled.
- En la ventana Explorer, ve a SoundService e inserta lo siguiente:
- Un AudioDeviceInput para capturar el habla.
- Un AudioSpeechToText para convertir el habla en texto.
- Un Wire para llevar el flujo desde el dispositivo de entrada de audio hasta la instancia STT.
- En la ventana Properties del objeto AudioSpeechToText, establece el estado Enabled en activado.
- En la ventana Properties del objeto Wire:
- Establece SourceInstance en tu nuevo AudioDeviceInput para especificar que deseas que el cable transporte audio desde esta instancia de audio específica.
- Establece TargetInstance en tu nuevo AudioSpeechToText para especificar que deseas que el cable transporte audio hacia esta instancia de audio específica.
- Establece la propiedad Player del dispositivo de entrada de audio en el jugador local en tiempo de ejecución con audioDeviceInput.Player = game.Players.LocalPlayer. Esto le indica a Roblox de qué usuario capturar la entrada de audio.
Después de configurar STT en tu experiencia, puedes activarlo con scripts. Para referencias de ejemplos de código, consulta el tutorial Agregar habla a texto.
Idiomas soportados
No se requiere configuración para habilitar los idiomas soportados. Roblox detecta automáticamente el idioma hablado a partir del audio y lo transcribe.
STT admite los siguientes idiomas:
- Árabe
- Chino (simplificado)
- Chino (tradicional)
- Inglés
- Francés
- Alemán
- Indonesio
- Italiano
- Japonés
- Coreano
- Polaco
- Portugués
- Español
- Ruso
- Turco
- Tailandés
- Vietnamita
Filtrar palabras similares
Cuando implementas STT en tu experiencia, es posible que desees mejorar la precisión de coincidencia filtrando palabras que suenen similares a las palabras que realmente deseas que el jugador diga. Para hacer esto, puedes comparar las palabras reconocidas por AudioSpeechToText con listas de palabras conocidas:
- Sane y tokeniza la salida Text de AudioSpeechToText para crear una tabla de cadenas en minúsculas que puedan ser analizadas y comparadas.
- Elimina caracteres de puntuación.
- Convierte toda la cadena a minúsculas.
- Divide la cadena por espacios en blanco para producir una tabla de palabras.
- Genera tablas de candidatos para preparar tus cadenas para comparación.
- Sane y tokeniza cada cadena de referencia.
- Almacena estas palabras procesadas en una tabla separada.
- Compara y empareja las palabras en ambas tablas para reconocer las entradas de habla que están cerca de tus frases objetivo, incluso si incluyen pequeñas variaciones.
- Para verificaciones simples, verifica si las cadenas son exactamente iguales.
- Para coincidencias más flexibles, puedes escribir lógica personalizada para aceptar sustituciones (como "color" en lugar de "color") o emparejar un subconjunto de palabras y calcular un puntaje de similitud.
Personalizar audio
Los efectos de audio te permiten modificar o mejorar no destructivamente los flujos de audio antes de que lleguen a los oídos de un jugador. Puedes aplicar estos efectos para que tu audio sea más inmersivo dentro de las experiencias, como usar un objeto AudioEqualizer para hacer que la lluvia suene apagada, un objeto AudioCompressor para controlar el volumen máximo de un sonido, o AudioReverb para agregar reflejos de sonido más realistas en espacios interiores.
Para obtener instrucciones sobre cómo configurar efectos de audio, así como comparaciones lado a lado de antes y después de personalizar tu audio, consulta Efectos de audio.


Activar audio
Puedes activar audio contextual a partir de un script llamando a Play() en un objeto AudioPlayer que esté correctamente cableado. Por ejemplo, si asignas un script a un reproductor de audio, puedes activar el activo de audio a través de algo como esto:
local audio = script.Parent
local something = ...
something.SomeEvent:Connect(function()
audio:Play()
end)
Para ejemplos de código más complejos para activar audio, como retroalimentación de juego, interacciones UI y ruido de fondo en bucle, consulta los tutoriales Agregar audio 2D, Agregar audio 3D y Agregar texto a voz.