Tecnología de audio de Dreams
Motor de audio de Dreams
Dreams tiene 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 del 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 en verdad 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 cualquier momento. Encontrarás un práctico video 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 caras. 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 costo de audio. Es el costo 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 costo llega al 100 %, Dreams no podrá emitir el audio correctamente, así que hará todo lo posible para evitar que suceda.
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 de 128. En teoría, podrías tener más voces en funcionamiento, pero por lo general tendrán un gran impacto en el rendimiento si están 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 costo del audio. Al ver el gráfico deberías poder observar 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 en grano es la media de este costo para todos los sonidos de la escena. La mayoría de las voces tienen un coste en grano de 1x, pero puede subir 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 diferentes controles también pueden afectar al coste en 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 que normalmente 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 innecesarios de sí mismos, 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 normalmente afectará al bonito efecto para el que esos sonidos usaban las opciones granulares.
Quizás 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, quizás quieras buscar, en tus escenas, sonidos que puedas 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 respalda 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 enteras.
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 rápidamente, deberías asegurarte de que el audio que importes esté lo más recortado y reciclado posible.
Es importante entender que recortar tus muestras en el asignador de sectores de un sonido no reducirá nada estos costos. 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 lo más que puedas silencios o audio no necesarios. 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 costo. 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 costo 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 que 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 cediendo. 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 pedazos de audio, también te quedarás sin memoria, lo que significa que volverán a aparecer, de vez en cuando, problemas con retrasos al iniciarse.
En Dreams, esto pasaba sin notificártelo, 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 costo en el termómetro; ¡nadie quiere estampar tu elemento y descubrir que los diálogos suenan con retraso! Pero si eso sucede, también 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 costo de disponibilidad de sonido suba. Añadimos el menú Mostrar/ocultar al modo Sonido para que puedas hacer que el termómetro siempre sea visible, pero, por lo general, 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 costo 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 (quizás 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 momentáneamente.
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 costo de audio, pero ayuda al costo de disponibilidad de sonido ya que solo pagas el costo 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 costo 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: 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 está 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á 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 sin problemas.
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, quizás 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 que una muestra, pero no exactamente, registrarán su costo como si fueran cualquier parte de la muestra que usen, aunque sea compartida. Esto es para que puedas ver cuántas deben prepararse. Sin embargo, como mencionamos antes, las partes de audio compartidas no se cuentan dos veces al calcular el costo total. Básicamente, los sonidos de la lista se convierten en entradas separadas si se recortan de diferente forma, aunque 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 traer el futuro!
La Guía de usuario de Dreams es un trabajo en curso. Mantente al tanto de las actualizaciones porque añadiremos más artículos y recursos de aprendizaje con el tiempo.