So

Tutorial de VRML2.0

El so en VRML2.0 pot ser espacialitzat o no. Per espacialitzat, s'enten que hi ha una font emissora de so i que l'observador (o oidor) percep la posició d'aquesta font en funció de les posicions relatives entre font sonora i observador.

So No Espacialitzat o So Ambient

El so que no té la qualitat d'espacialitzat, és un so que se sent sempre i sempre igual, s'estigui en la posició que sigui dins l'entorn. S'anomena so ambient, fent referència al fet que és sempre present i crea una mena d'ambientació global.

Per a definir un so en VRML2.0, s'utilitza el node Sound. Per tal que sigui un so ambient, cal donar-li un rang d'actuació molt gran (tan gran com sigui el nostre entorn). Vejam (o escoltem) un exemple:

Exemple1: Definició d'un so ambient.

Shape {
	geometry Sphere { radius 2 }
	appearance Appearance { material Material { diffuseColor 1 1 0 } }
}

Sound {
	minFront 200
	minBrack 200
	maxFront 200
	maxBack 200
	spatialize FALSE
	source AudioClip {
		url "forest.wav"
		startTime 1
		loop TRUE
	}
}

Aquí surten varis conceptes. Primer, el fet que el so sempre té una font (field source). Per tal de dir quin so volem generar, cal definir un node AudioClip com a font sonora (també es pot fer amb un node MovieTexture però no ho veurem aquí). En aquest node AudioClip hi definim l'arxiu de so que volem integrar a l'entorn (field url) i en aquest cas definim que vagi repetint-se indefinidament (field loop).

Un cop definit l'arxiu de so, cal establir les característiques d'aquest so. Hem dit que el so ambient no és espacialitzat i per tant posem a FALSE aquesta propietat (field spatialize). Els altres quatre fields, descriuen el rang d'acció del so, i per ara tan sols direm que formen una esfera de so on se sent el so volgut si s'és dins l'esfera, i no se sent si s'és fora. Aquesta esfera l'hem definit de radi 200 unitats.

So Espacialitzat

L'espacialització del so es basa en el fet que tenim dues oides (i orelles) i per tant es manifesta un decalatge en temps (i fase) d'arribada a una i altra del so produït per una font sonora. D'aquesta manera, podem detectar d'on prové el so. Ara bé, aquest és l'efecte percebut, però el que ens interessa és saber com es generen els sons i com funciona el model establert en VRML2.0.

Per començar, una font sonora té una posició en l'espai des d'on surten les ones sonores. Un so normalment no emet en totes direccions amb la mateixa intensitat, per tant, té una direcció privilegiada. Aquest "centre" i aquesta direcció, generen uns volums on el so es percep diferent segons la posició de l'oient. Aquests volums no són esfèrics pel fet que hi ha una direcció privilegiada. Per tant, són el que es coneix com el.lipsoides ("esferes allargassades"). Finalment, el so perd intensitat comforme s'allunya de la seva font (és el feòmen conegut per atenuació). Per tant, l'oient va notant com baixa el volum del so conforma s'allunya del lloc on s'ha produït. Però com que hi ha una direcció principal del so, l'atenuació és més ràpida o notòria en la direcció oposada a la direcció principal.

La il.lustració següent mostra una vista lateral d'una persona cridant. L'el.lipse mostra el tall lateral de l'el.lipsoide generat per la font del so (la boca de la persona) i la direcció principal d'emissió (la direcció en que mira la persona). El to de gris mostra com s'atenua el so (negre = intensitat màxima; blanc = intensitat mínima).

El valor maxBack i maxFront són les distàncies màxima en darrere i en davant (respectivament) a la que s'arriba a sentir el so. Més enllà ja no se sent res.

El model del VRML2.0 es basa absolutament en aquests principis. L'exemple següent, mostra en 3D els volums generats i les components del node Sound que llistem. Aquest excel.lent exemple ha estat dissenyat per l'empresa dFORM dins del seu tutorial específic d'Àudio en VRML2.0.

NOTA: Cal tenir un xic de paciència per tal que baixi tot l'exemple i el so. Un cop estigui tot carregat us podeu moure lliurement o (recomenat) podeu anar passant pels punts de vista predefinits tot fent AvPag dins del Cosmo Player.

NOTA2: Us sortirà un error dient que no es reconeix el tipus de compressió. Premeu l'OK i ignoreu-lo.

Sound volumes: Definició del node Sound amb valors per defecte. En l'exemple, podeu veure i escoltar els diferents conceptes a base d'anar-vos movent pels punts de vista predefinits.

Sound {
	location 0 0 0		# Posicio per defecte de la font sonora: l'origen
	direction 0 0 1		# Direccio per defecte: eix Z
	intensity 1		# Intensitat maxima per defecte: 1 (el maxim)
	minFront 1		# Maxima distancia en davant a la que hi ha so regular (o ambient)
	minBack 1		# Maxima distancia en darrera a la que hi ha so regular (o ambient)
	maxFront 10		# Maxima distancia en davant a la que se sent el so
	maxBack 10		# Maxima distancia en darrere a la que se sent el so
	spatialize TRUE		# Per defecte espacialitzar el so
	source AudioClip {
		...
		...
		...
	}
}

Com podeu observar, hi ha dos parells de límits sonors. Aquests dos límits formen dos el.lipsoides concèntrics. El menor (el de dins), definit per field minFront i field minBack, determina la zona en que el so és totalment envolvent i present (per tant és com si fos so ambient). El major (l'exterior), definit per field maxFront i field maxBack, determina la frontera a partir de la qual ja no se sent el so per que se suposa que s'està massa lluny de la font sonora. L'espai entre els dos el.lipsoides, és la zona on es pot apreciar l'atenuació. Com més a prop de l'el.lipsoide menor, més fort se sent el so. Com més a prop de l'exterior, més fluix se sentirà el so, fins que en el límit, es deixa de sentir.

Exercicis proposats:

El Mosquit
Dissenyeu un entorn on hi hagi un objecte (el mosquit) que vagi "volant" al voltant d'un objecte central (el cap de la víctima) i feu que el mosquit vagi brunzint en el seu vol.
Comentaris
  • Utilitzeu tan sols primitives per a modelar els objectes.
  • Utilitzeu el so que us proveim a l'adreça: http://www.iua.upf.es/~npares/docencia/vrml/so/exemples/mosquit.wav
  • Utilitzeu un interpolador d'orientació.
  • Feu la mida de l'el.lipsoide intern de la mida del mosquit.
  • Feu la mida de l'el.lipsoide extern prou gran com per que se senti des del "cap".
  • Noteu que un mosquit és una de les poques fonts sonores que si emeten de manera (força) regular en totes direccions per igual.
Solució proposada: mosquit.wrl.




< Anterior | Menú ^ | Següent >