Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Demo de noise shaping para todos los públicos

Iniciado por synchrnzr, 21 de Enero de 2010, 10:29:25 AM

« anterior - próximo »

synchrnzr

¡Hola a todos!

Bueno, hacía tiempo ya que quería hacer una demo de esto, de hecho lo hice el año pasado por estas fechas pero voy tan apretado de curro que no me había dado tiempo aún a poner nada.

Vamos allá pues. Todos sabemos que un WAV cuando lo pasas a 8 bits suena como si estuvieran friendo huevos fritos encima. Eso se debe al ruido de cuantización, es decir, a los fallos de precisión que se producen al pasar de un bitrate a otro inferior (por ejemplo de 16 a 8 bits)

El ruido de cuantización es inevitable. Se puede optimizar, como ya demostré en un post hace año y pico, aunque obviamente nunca se puede eliminar del todo. Sin embargo, sí podemos controlar la forma que tiene ese ruido, lo cuál puede resultar en ocasiones muy interesante. Es lo que se conoce como noise shaping.

Pongamos como ejemplo este WAV. Si lo pasamos a 8 bits con cualquier programa convencional, quedaría así. ¿Oís el "chisss" que se oye? Ese es el susodicho ruido de cuantización. Para este ejemplo nos podemos concentrar en la parte central del archivo, cuando suena la flauta. El ruido nos la tapa bastante.

Como vemos, normalmente es un siseo agudo. Dado que la música es para un juego de móvil, esto resulta bastante desagradable, dado que los móviles tienden a sobrecargar las frecuencias agudas y además pierden todos los medios-graves. El resultado final en un móvil de gama media sería esto.

Solución para que el sonido no sea tan aberrante: me voy a llevar el ruido a los graves. Si miramos la siguiente imagen:




La línea más oscura es el ruido de la muestra. Vemos que hay muy poco ruido en los graves y mucho en los agudos. He separado el ruido para que lo podáis oir. ¿Qué pasaría si pudiera alterar el ruido para que fuera como la línea más brillante? Ésta vemos que tiene muchísimo ruido en los graves (el ruido sería ahora así) Pero a partir de los 2.5KHz tiene menos, es decir, tenemos menos ruido en esa pequeña franja aguda. Visualmente parece una estupidez, pero no lo es.

Éste es el WAV que finalmente se incluye en el juego. Como podéis comprobar con unos altavoces normales, ahora notamos un ruido grave de fondo, pero el siseo ha desaparecido prácticamente. Cuando lo escuchamos con un móvil, oímos algo así. Si vamos a la parte de la flautita, que es donde la música es más fuerte, veréis que apenas hay ningún ruido que estorbe.

He subido todos los WAVs por si queréis hacer pruebecillas o experimentos.

Éste es un uso del noise shaping muy muy inusual. Es más normal que en archivos de 8 bits sampleados a 44100Hz se utilice el noise shaping para llevar al ruido más hacia los agudos en vez de hacia los graves. Como los agudos de una muestra a 44100Hz prácticamente se salen del alcance de la mayoría de los altavoces (22050Hz) y del espectro audible por el oído humano, eso nos funciona muy bien con este tipo de archivos. Pero NO es así con los archivos que os he enseñado, dado que en móvil, por temas de espacio, se suelen usar WAVs a 16000Hz o incluso 8000Hz. En este caso, llevar el ruido a los agudos sólo causaría que el ruido fuera mucho más audible, porque aumentaría hacia los 8000Hz o 4000Hz, frecuencias a las que el oído humano es además especialmente sensbile.

Por ello decidí adoptar este otro método. La cuantización está realizada con software propio, cómo no :)

sync

PD: Olvidé mencionar que tanto en las muestras estándar como en las processadas se utiliza dithering para evitar que el ruido tenga correlación armónica.




Mars Attacks

Me parece un uso muy creativo y tecnológicamente acertado del fenómeno. Eres otro fenómeno :)

Pogacha

¿Por que no lo formas como articulo y lo envias a gamasutra?

Mars Attacks

Pero patenta antes el procedimiento si no lo está.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.