El sonido en VRML puede ser de dos tipos: espacializado o no espacializado. Por espacializado se entiende que se modela una fuente emisora de sonido y que el observador percibe la posición de esta fuente en función de las posiciones relativas entre ambos Por no espacializado se entiende que la percepción del sonido por parte del usuario es independiante de cualquier parámetro de posición u orientación..
El sonido que no tiene la cualidad de espacializado, es un sonido que se escucha siempre igual, se esté en la posición que sea dentro del entorno. Se le llama también sonido ambiente por hacer referencia al hecho que siempre está presente y crea una especie de ambientación global.
Para definir un sonido en VRML, se utiliza el node
Sound. Para que sea un sonido ambiente, debemos definirle un rango
de actuación muy grande (tan grande como sea nuestro entorno). Veamos
(o escuchemos) un ejemplo:
|
Ejemplo1: Definición
de un sonido ambiente.
|
Aquí aparecen diversos conceptos. En primer lugar, el hecho que el sonido esté formado por una fuente (field source). Para poder especificar qué sonido queremos generar, debemos definir un node AudioClip como fuente sonora (también se puede definir mediante un node MovieTexture pero no lo veremos aquí). En este node AudioClip definimos el archivo de sonido que deseamos integrar a nuestro entorno (field url) y en este caso definimos que se vaya repitiendo indefinidamente (field loop).
Una vez definido el archivo de sonido, debemos establecer las características de este sonido. Hemos dicho que el sonido ambiente no es espacializado y por esta razón definimos como FALSE esta propiedad (field spatialize). Los otros cuatro fields describen el rango de acción del sonido y, por ahora, diremos que definen una esfera de sonido dentro de la cual se oirá el sonido y fuera de ella no. Esta esfera la hemos definido de radio 200 unidades.
La espacialización del sonido se basa en el hecho de que los seres humanos tenemos dos orejas (y dos oidos), y por esta razón se manifiesta un decalage en tiempo (y en fase) entre el sonido que llega a cada una desde la fuente sonora. De esta forma, podemos detectar de dónde proviene un sonido. Este es el efecto percibido pero, ¿cómo se definen estos sonidos espacializados en VRML?
Para empezar, una fuente sonora tiene una posición en el espacio desde la cual salen las ondas sonoras y se transmiten por vibración de las partículas en el aire. Un sonido usualmente no se emite en todas direcciones por igual, y por esta razón presenta una dirección privilegiada. Este "centro" y esta dirección, generan unos volúmenes en el espacio, en que el sonido se percibe de forma distinta según la posición del oyente. Estos volúmenes no son esféricos por efecto de la dirección privilegiada. Son un tipo de volúmenes llamados elipsoides ("esferas alargadas"). Finalmente un sonido pierde intensidad conforme se aleja de la fuente: es el fenómeno conocido como atenuación. POr esta razón, el oyente nota como va bajando el volúmen (la intensidad) del sonido conforme se aleja de del sitio donde se ha producido (la fuente sonora). Pero como hay una dirección privilegiada de emisión, la atenuación es más lenta en la dirección principal y más rápida en la dirección opuesta.
La siguiente ilustración muestra una vista lateral de una persona gritando. El elipse muestra un corte lateral del elipsoide de sonido generado por la fuente sonora (la boca de la persona). La flecha muestra la dirección principal o privilegiada de emisión (la dirección en que la persona está mirando). El tono de gris muestra cómo se atenúa el sonido (negro = intensidad máxima; blanco = intensidad mínima).

Los valores maxBack y maxFront son las distancias máxima hacia atrás y hacia delante (respectivamente) a las que se llega a oir el sonido. Más allá de estas distancias ya no se oye nada.
El modelo del VRML se basa absolutamente en estos principios. El siguiente ejemplo muestra, en 3D, los volúmenes generados y las componentes del node Sound que listamos. Este excelente ejxemplo ha sido diseñado por la empresa dFORM dentro de su tutorial específico de Àudio en VRML.
NOTA: Se debe tener un poco de paciencia para bajar todo el ejemplo completo. Una vez esté totalmente cargado os podéis mover libremente o (de forma recomendada) podéis utilizar los puntos de vista predefinidos.
NOTA2: Puede ocurrir que aparezca un error avisando que no se reconoce el tipo
de compresión de sonido. Ignoradlo y pulsar OK.
|
Sound volumes: Definición del node Sound con valores por defecto. En el ejemplo, podéis ver y escuchar los distintos conceptos al iros moviendo por los puntos de vista predefinidos.
Sound {
location 0 0 0 # Posición por defecto de la fuente sonora: el origen
direction 0 0 1 # Dirección por defecto: eje Z
intensity 1 # Intensidad máxima por defecto: 1 (el máximo)
minFront 1 # Máxima distancia hacia delante en que hay sonido regular (o ambiente)
minBack 1 # Máxima distancia hacia atrás en que hay sonido regular (o ambiente)
maxFront 10 # Máxima distancia hacia delante en que se oye el sonido
maxBack 10 # Máxima distancia hacia atrásen que se oye el sonido
spatialize TRUE # Por defecto espacializar el sonido
source AudioClip {
...
...
...
}
}
|
Como podéis observar, existen dos pares de límites sonoros. Estos dos límites forman dos elipsoides concéntricos. El menor (el interior), definido por field minFront y field minBack, determina la zona en la que el sonido es totalmente envolvente y presente (por lo tanto, como si fuera sonido ambiente). El mayor (el exterior), definido por field maxFront yi field maxBack, determina la frontera a partir de la cual ya no se oye el sonido porque se supone que se está demasiado lejos de la fuente sonora. El espacio entre los dos elipsoides es la zona en la que se puede apreciar la atenuación. Tanto más cercano esté el oyente del elipsoide menor, más fuerte se oirá el sonido. Tanto más lo esté al elipsoide exterior, más bajo se oirá el sonido, hasta que en el límite se deja de oir.
Ejercicios propuestos:
|