Tecnología de audio de Dreams
Motor de audio de Dreams
Dreams dispone de algunas potentes herramientas para ayudarte a comprender el rendimiento del sonido de tus creaciones. La mayoría de los creadores no necesitarán preocuparse por ellas, pero los que quieran exprimir un poco más la potencia del motor, podrían encontrarlo útil. Puedes usar las herramientas para averiguar por qué algunos de tus sonidos se cortan, se distorsionan o suenan con retraso.
En primer lugar, vamos a sumergirnos en la tecnología del motor de audio de Dreams. El sonido en Dreams procede de los artilugios de sonido de la escena. Cuando la lógica activa un artilugio de sonido, crea un caso de sí mismo. Un artilugio puede crear más de un caso al mismo tiempo si, por ejemplo, se vuelve a activar antes de que su caso anterior termine de sonar.
Cada caso de sonido puede crear varias voces. Un efecto de sonido generalmente activará un caso, con una voz: la voz es lo que realmente reproduce los datos de la muestra de audio. Un clip de un instrumento creará un caso de sonido, que creará varias voces, una por cada nota del clip. Aquí tienes un ejemplo del aspecto de ese flujo y qué puede incluirse en estas unidades.
Si vamos un poco más allá, Dreams usa un motor granular y cada voz en realidad reproduce el audio en trozos individuales llamados granos. ¡Son un poco como las motas que Dreams usa para los gráficos!
El Analizador de audio
Esta herramienta te permite ver cuántos de estos recursos está usando tu creación en un momento dado. Encontrarás un práctico vídeo sobre el analizador de audio justo aquí.
Ejecuta analizar audio, reproduce tu creación y la herramienta irá recogiendo información, mostrándote los datos utilizados mientras juegas. Sal de la herramienta y verás el resumen del análisis (imagen a continuación). Se trata de un informe que representa los datos de tu partida en un gráfico en el que puedes ver qué partes de tu creación son caros. Puedes recorrer el gráfico hasta cualquier punto en el tiempo y la imagen a la derecha del gráfico te mostrará lo que está sucediendo en ese momento.
Aquí la estadística más importante es coste de audio. Es el coste combinado de voces, casos, granos y todos los efectos, como reverberaciones, retrasos, compresores y demás. Cuanto más cerca esté del máximo, el motor recortará más voces para evitar llegar al 100 %. Normalmente recibirás un aviso si esto sucede. Si el coste llega al 100 %, Dreams no podrá emitir el audio correctamente, así que hará todo lo posible para evitarlo.
Los casos y las voces tienen límites, y si los alcanzas, los nuevos sonidos se reproducirán incorrectamente o podrían cortarse algunos que estén sonando. El límite de casos es 128. Para las voces es un poco más complicado, pero hemos hecho que el máximo en el gráfico sea también 128. En teoría, podrías tener más voces en funcionamiento, pero normalmente tendrán un gran impacto en el rendimiento por encima de ese número, dependiendo del sistema en el que estés ejecutando Dreams.
Cuantas más voces y casos haya en marcha, más aumentará el coste del audio. Mirando al gráfico deberías poder ver dónde debes optimizar.
Ten en cuenta que no todas las voces son iguales. Que el motor sea granular supone que algunas voces se reproducirán con más granos superponiéndose que otras y por lo tanto, costarán mucho más. La estadística coste de grano es la media de este coste para todos los sonidos de la escena. La mayoría de las voces tienen un coste de grano de 1x, pero puede elevarse mucho si juegas con los ajustes síntesis granular y aleatorización granular en los artilugios de sonido. Los siguientes diagramas muestran ejemplos de ajustes de superposición de grano.
Puedes ajustar la superposición de grano en la página Síntesis granular del menú de retoque de un sonido. Este retoque también aparece en la página Aleatorización granular, donde otros controles diferentes también pueden afectar al coste de grano.
Las voces también pueden ser más caras si has activado funciones de sonido como el oscilador, la distorsión, el compresor dinámico y demás. Las voces más baratas suelen ser simples efectos de sonido, reproduciéndose sin usar retoques emocionantes.
¿Y cómo puedes usar esta información para optimizar tu creación? Lo normal que querrás hacer es reducir el límite polifónico de tus sonidos. Este es el límite al número de voces que puede crear un sonido. Si se hace bien, ni siquiera notarás la diferencia. Aquí tienes un par de ejemplos en los que reducir la polifonía puede ser útil:
- Un clip de música que reproduce notas muy largas, unas sobre otras, como un piano o un sintetizador con un envolvente de relajación larga.
- El sonido de una explosión o un arma que suena sobre sí misma al ser activada rápida y sucesivamente.
El valor predeterminado del límite polifónico suele ser 20, lo que significa que la mayoría de los sonidos pueden reproducir 20 casos de sí mismos sin necesidad; por ejemplo, si se activan repetidamente muy rápido.
Otra opción es buscar sonidos que tienen grandes superposiciones de grano y reducirlos, aunque hay que tener en cuenta que esto suele afectar al bonito efecto para el que esos sonidos usaban las opciones granulares.
Puede que quieras entrar en la página Efectos de sonido para desactivarlos todos o algunos, lo que debería ayudar a hacer más baratos casi todos estos sonidos.
Y, por supuesto, si nada de esto funciona, puede que quieras buscar en tus escenas sonidos que borrar.
Termómetro de audio y Disponibilidad de sonido
¡Hablemos del termómetro de audio! Pero primero, volvamos a ver el motor.
El sonido de Dreams está en muestras, que se cortan en sectores. Las muestras son lo que crean las grabaciones del micrófono y los sectores son lo que ves en el asignador de sectores de un sonido.
Hay un límite al número total de muestras únicas (denominadas Sonidos únicos en el termómetro) y también tenemos un límite a la cantidad de memoria que usan estas muestras.
Por ejemplo, puedes quedarte sin muestras si tienes un número muy grande de grabaciones muy pequeñas, o podrías quedarte sin memoria teniendo solo unas pocas grabaciones muy grandes y largas. El otro límite es la cantidad de sonidos importados o grabados personalizados. Aquí hay algo que es muy importante y útil comprender, que vertebra y motiva todo el sistema de sonido de Dreams:
Todo el contenido de audio de Mm, como los instrumentos o los efectos de sonido de las colecciones, puede descargarse gratis.
Los datos de sonido suelen ser caros de almacenar y descargar, así que incluir un conjunto de muestras estándar en Dreams es parte de lo que hace que las creaciones de la comunidad de Dreams se carguen muy rápido. Cada vez que usas contenido de audio subido por ti o por otros usuarios, afecta al tiempo de carga de tus creaciones, por ejemplo, haciendo que las transiciones de nivel sean más largas y no tan fluidas. Es mucho peor si tienes largas muestras de audio importadas, como canciones completas.
Por eso, siempre es mucho mejor usar música creada en Dreams usando los instrumentos de Mm o derivados de ellos; en muchos casos la biblioteca de muestras de Mm es más que suficiente para crear una gran variedad de sonidos usando los efectos integrados. Al menos, si quieres que tus creaciones se sigan cargando de forma rápida, deberías asegurarte de que el audio que importes esté tan recortado y reciclado como sea posible.
Es importante entender que recortar tus muestras en el asignador de sectores de un sonido no reducirá nada estos costes. Las muestras no pueden cambiarse después de grabarse, así que siempre deberías intentar importarlas lo más parecidas a como quieras usarlas. Si estás importando un archivo en Dreams que vas a seccionar y convertir en un sonido, asegúrate de que ya lo has editado para eliminar tantos silencios o audio no necesario como sea posible. Si alcanzas cualquiera de los límites, no podrás publicar ni guardar tu creación.
Aquí tienes un ejemplo de dos sonidos y su coste. El de la izquierda usa dos sectores de dos muestras diferentes. El de la derecha usa dos sectores de solo una muestra. El de la derecha es más barato, pero se puede hacer más barato recortando las partes que no se usan antes de importarlo. ¡El de la izquierda es bastante derrochador! En Mm preferimos crear efectos de sonido e instrumentos con sectores cortados de una muestra, para minimizar el coste general.
Hay un límite muy importante que siempre ha existido, pero no siempre se ha mostrado o explicado. Se llama disponibilidad de sonido.
Para que un sonido suene al activarse, hay que "cargar" sus datos de audio. Si los datos de audio no están listos, habrá un retraso cuando se active el sonido, lo que es un desastre en casos como la música o el doblaje los cuales deben estar sincronizados con las animaciones.
Pero por mucho que nos guste el sonido, si cargásemos por adelantado cada sector individual de cada sonido individual, no tendríamos memoria para todas las otras partes geniales del juego, así que el motor está constantemente transigiendo. Llamamos a este sistema fijación: cada sonido intenta asegurarse de que al menos uno de sus sectores esté listo para sonar en cualquier momento. Esto ayuda, pero si tienes demasiados sonidos en tu creación, todos intentando cargar diferentes trozos de audio, también te quedarás sin memoria, lo que significa que volverán a aparecer problemas con retrasos al iniciarse en cada ocasión.
En Dreams antes esto pasaba de forma oculta, pero ahora aparecerá un aviso y también podrás usar una herramienta especial para ver qué sonidos son los culpables.
Para tus creaciones, especialmente las creadas para que otros las estampen en sus niveles, siempre debes intentar minimizar el coste en el termómetro; ¡nadie quiere estampar tu elemento y descubrir que los diálogos suenan con retraso! Pero si eso sucede, también se pueden optimizar recortando en otras cosas. Veamos cómo.
En primer lugar, en el modo Sonido hay una barra de termómetro que aparecerá cuando el coste de disponibilidad del sonido suba. Añadimos el menú Mostrar/ocultar al modo Sonido para que puedas hacer que el termómetro siempre sea visible. Pero normalmente solo tendrás que preocuparte de él si alcanzas el límite de disponibilidad de sonido. Si haces clic en esa barra, terminarás en el termómetro de disponibilidad de sonido, donde puedes seleccionar más detalles para ver un análisis de los 20 sonidos más caros de la escena. Recuerda: ¡solo en lo que respecta al coste de disponibilidad del sonido!
También se incluye un análisis de cada canal de sonido. Puedes seleccionar cualquiera de las entradas de la lista y te llevará a la ubicación de ese sonido en tu escena (puede que tengas que sacarlo de un microchip o una línea temporal). También verás un indicador azul parpadeando que indica dónde está el sonido en un momento dado.
Como habrás observado, algunos sonidos de la lista están duplicados. Si quieres liberar su gasto en disponibilidad de sonido, tendrás que trabajar con los duplicados, porque todos están usando memoria.
Lo que podrías hacer a continuación es borrar los sonidos más caros o recortarlos en el asignador de sectores. Recortar no mejora el coste de audio pero si ayuda al coste de disponibilidad del sonido ya que solo pagas el coste de un sector, en vez del de toda la muestra. Aquí tienes un ejemplo de dos sonidos usando diferentes partes de una muestra más grande.
El coste viene de la parte de la muestra que usan los dos sectores; ¡no contará dos veces los trozos compartidos!
A menudo, los problemas con la disponibilidad de sonido se deben a sonidos innecesariamente largos. Aquí tienes un ejemplo: Aquí hay un sonido ambiental de fondo, Día en el bosque, que está usando el 5,24 % del presupuesto, ¡casi tanto como toda la canción que también hay en la escena! En este caso, estamos por debajo del presupuesto, pero si hiciera falta, podríamos recortar ese sonido de Día en el bosque en su asignador de sectores.
Es hora de otro consejo: el audio importado, como largos fragmentos de música pregrabada, consumirán rápida e ineficazmente el presupuesto de disponibilidad de sonido, y es una de las cosas por las que usar música hecha en Dreams siempre es mucho más eficaz para que el audio funcione suavemente.
Eso es, más o menos, todo. Esperamos que encuentres útiles estas funciones. Ten en cuenta que hay un montón de casos límite, excepciones y partes complicadas con las que tener cuidado, como…
- Cada sonido solo prepara uno de sus sectores (¡Espera! ¡Mira más adelante!), así que cuando haya más de uno, puede que tengas que explorar un poco para descubrir cuál es.
- ¡Excepto los instrumentos con Asignación de fila activada! Estos prepararán un sector de cada fila en su pianola que esté ocupada por notas. ¡Eso significa que pueden volverse bastante caros!
- Los sonidos que usan casi las mismas partes de una muestra, pero no exactamente las mismas, registrarán su coste como si fueran cualquier parte de la muestra que usen, aunque sea compartida. Esto es así para que puedas ver cuántas deben prepararse. Sin embargo, como mencionamos anteriormente, las partes de audio compartidas no se cuentan dos veces al calcular el coste total. Básicamente, los sonidos de la lista se convierten en entradas separadas si se recortan de diferente forma, aunque se usen datos de audio casi idénticos.
- No hay forma de decidir qué sector debería prepararse, pero ¡quién sabe lo que podría depararnos el futuro!
La Guía de usuario de Dreams es un trabajo en curso. Permanece atento a las actualizaciones porque añadiremos más artículos y recursos de aprendizaje con el tiempo.