VRML y sonido 3D

Introducción:

VRML son las siglas de Virtual Reality Modeling Language. Éste es un lenguaje de modelado de escenas virtuales tridimensionales. De la misma forma con que diseñamos páginas web con HTML, VRML sirve para crear mundos en tres dimensiones a los que accedemos utilizando nuestro navegador, igual que si visitásemos una página web cualquiera, con la salvedad que nuestras visitas no se limitan a ver un simple texto y fotografías, sino que nos permite ver todo tipo de objetos y construcciones en 3D por los que podemos pasear e interactuar.

Esta tecnología supone un método mucho más avanzado de navegar por la web, además de tener otras grandes posibilidades. Para empezar, permite una navegación más intuitiva, actuando de forma similar a la del mundo real. Se permite el movimiento en todas las direcciones del espacio, así como interactuar con los objetos que componen la escena tocándolos, desplazándolos, etc. Estos objetos, además, pueden tener acciones asociadas que se inicien al pulsar el ratón sobre ellos como, por ejemplo, comenzar a reproducir un sonido, abrir una puerta, o enviarnos a otra escena o sitio web.

La version 2.0 de este lenguaje permite la implementación de sonido tridimensional, mediante el procesado de la información de la posición relativa del espectador respecto de la fuente sonora y la utilización de las HRTF. El uso de sonido espacial proporciona una alta sensación de inmersión y realismo en el entorno virtual. Su aplicación a los ya habituales contenidos multimedia en la web, como música, vídeo y animaciones interactivas o juegos, puede dotar a Internet de unas posibilidades totalmente nuevas en cuanto a comunicación, entretenimiento y publicidad.

El modelo de implementación del sonido en VRML es bastante sencillo. Se definen, para una fuente sonora, dos elipsoides:
El menor de ellos tiene su centro sobre la propia fuente. En todo el volumen de su interior, la intensidad del sonido permanecerá constante. Este elipsoide está, a su vez, en uno de los focos del mayor. En el interior de éste, la intensidad con que percibimos el sonido disminuye según el inverso de la distancia, como lo haría en un medio ideal, sin impedancia acústica. Fuera del elipsoide de mayor tamaño, no percibiremos ningún sonido.

Este sistema permite representar fuentes que no emiten por igual en todas direcciones, sino que focalizan el sonido en una dirección, como en el caso de un altavoz o un locutor humano. La dirección de propagación preferente viene dada por el eje de ambos elipsoides, en sentido hacia el foco más alejado de la fuente. El método se refleja mejor en la siguiente figura:

[x] Tutorial de VRML'97. Narcís Parés. 1997.
Ejemplo propagación voz de un interlocutor.
[x] VRML Audio Tutorial. dForm.com.
Implementación en VRML del ejemplo de la izquierda.

Auralización del sonido:

Para conseguir el efecto de sonido holofónico, VRML determina nuestra posición relativa respecto a la fuente. Con información (azimut, elevación y distancia), procesa el sonido aplicando la HRTF apropiada a esos valores. La distancia sólo afectará a la intensidad del sonido recibido.

En función de la HRTF utilizada, estaremos ante un sistema más o menos complejo. En el caso más simple, se determina únicamente la posición de los oídos respecto a la fuente y la diferencia de intensidad correspondiente por estar uno de ellos más cerca, reproduciendo el sonido a un mayor volumen en un oído que en el otro. Este sistema es muy pobre pero requiere poco cómputo operacional, una importante limitación en ordenadores antiguos o dispositivos portátiles. No olvidemos que el procesamiento de la señal debe hacerse en tiempo real.

Un modelo algo más completo aplica también la diferencia de tiempo interaural (ITD) a la recreación del sonido, consiguiendo un mejor efecto de auralización del sonido. Sin embargo, este sistema sigue estando limitado a la localización de la fuente en el plano horizontal, no pudiendo recrearse la elevación.

Por último, mediante la aplicación de una HRTF estándar completa a la señal de audio, se logra el efecto tridimensional. En contra, este sistema requiere un gran costo computacional. Ha de tenerse en cuenta que el proceso se debe llevar a cabo para cada fuente sonora que el oyente perciba en cada momento.

Sin embargo, al estar el entorno VRML descrito en un archivo con el código fuente, pero interpretarse en el cliente, en la máquina del usuario, estas diferencias no entorpecen el diseño y desarrollo de entornos virtuales. Una misma escena podrá ser reproducida de modo diferente en distintas plataformas: distinto nivel de detalle de las superficies, texturas, luces o nivel de procesamiento de sonido.

Ejemplos:

Para poder visualizar correctamente los siguientes ejemplos, debe tener instalado en su ordenador un visor de contenido VRML apropiado tanto a su sistema operativo como navegador web. A continuación le indicamos algunos de los más populares:

Los siguientes ejemplos proceden de [x], y algunos han sido modificados para adaptarlos a la explicación. Recuerda utilizar auriculares para percibir la sensación de espacialización:

  1. Primer ejemplo: Nodo simple.
    Aquí podemos ver la implementación de un único nodo de sonido. Se representan además los elipsoides mayor y menor, antes comentados.
  2. Segundo ejemplo: Varios nodos simultáneos.
    En este caso hay varias fuentes sonando al mismo tiempo. Dependiendo de nuestra posición, escucharemos una u otra con mayor o menor intensidad. Podemos comprobar que en los puntos donde se perciben varias fuentes simultáneamente la carga computacional del ordenador aumenta.
  3. Tercer ejemplo: Comportamiento complejo.
    Se puede dotar a los nodos de ciertos comportamientos para que interactúen con el usuario. En este caso, al pulsar sobre el insecto éste girará alrededor de nuestra cabeza.