Download Direct Sound
Document related concepts
no text concepts found
Transcript
Resumen: DirectSound Componente de sonido de la API para aplicaciones multimediales de Microsoft: DirectX Direct X & DirectSound En 1995 aparece DirectX, con la idea de ser una API, con la cual, los programadores de video juegos se olvidarían del hardware que el usuario este utilizando, dejando la responsabilidad al SO. Parte de DirectX 1, es DirectSound, que en ese tiempo solo ofrecía efectos básicos de paneo izquierdo y derecho. Direct X & DirectSound DirectSound 3 introdujo en concepto de Directsound3d (DS3D), que ofrecía comandos para ubicar sonidos en un espacio 3D. Fue hasta DS5 que estas librerías pudieron ser aceleradas por componentes alternativos, lo que redujo sustancialmente el consumo de CPU. DirectSound hoy Lo que hoy nos ofrece DirectSound: Tocar archivos o recursos en formato WAV. Tocar varios sonidos de manera simultanea. Asignar alta prioridad a los sonidos. Localizar sonidos en ambientes 3-D. Agregar efectos como Ecos y Coros, y cambiar los parámetros de estos de manera dinámica. Capturar sonidos en formato WAV desde un micrófono u otros dispositivos. Buffers de sonido. Para mezclar un conjunto de sonidos, se usan buffers secundarios. Luego se mezclan y se reproducen en el buffer primario de manera simultanea. Para escribir sobre un buffer secundario, primero debemos hacer un lock, a un trozo de ese buffer. Escribir lo que deseemos en esos bytes y desbloquearlo, con unlock. DS te permite bloquear un trozo mientras se está reproduciendo otro, siempre con cierta seguridad para evitar mezclas no deseadas. Buffers de sonido. Cada aplicación debe crear al menos un buffer secundario, para almacenar y tocar los sonidos. Un buffer secundario puede ser destruido en cualquier momento, puede ser estático y que almacene un sonido simple, o también puede tocar los sonidos de forma streaming, en caso de que el consumo de memoria fuese mayor. Los buffers secundarios se mezclan simplemente al tocar los sonidos al mismo tiempo, cualquiera sea el número, sólo dependerá del poder de procesamiento. Manejo de sonido 3D Cordenadas usadas son las cartesianas, eje x de izq a der, eje y de arriba abajo, y eje z, lejos a cerca. Para la posicion se usan metros. Velocidad se mide por unidades en cada eje por segundo, es decir m/s. Sonido 3D: Percepción de posición Ruido general : Una fuente de sonido que se aleja, se percibe como una disminución cte de sonido. Diferencia interaural de intensidad : Sonidos que vienen del lado derecho se perciben más fuerte por el oído derecho. Sonido 3D: Percepción de posición Diferencia de tiempo interaural : Un sonido que viaja hacia el oyente desde la derecha, llegará antes al oído derecho que al izq. Amortiguación (Rolloff) Dada la forma de la persona, los sonidos que vienen desde atrás, así como los que vienen de la derecha y son oídos por el oído izq., son amortiguados. Sonido 3D: Processing Mode Tres modelos de procesar la información 3D Normal Relativo a la cabeza Disabled Sonido 3D: Efecto Doppler. La velocidad en DS sólo se usa para calcular efectos Doppler. Cambio en el tono debido a un cambio en la frecuencia de las ondas de sonido. Sonidos 3D: Cono De Sonido. Estos conos de sonido sirven para tratar con fuentes de sonido, que se localizan en determinado punto del espacio. Sonidos 3D: Cono De Sonido. Efectos Los efectos que se pueden aplicar a los sonidos con la librería de DS son los siguientes. Chorus Compression Distortion Echo Environmental Reverberation Flange Gargle Parametric Equalizer Waves Reverberation DirectSound and DirectMusic DirectSound y DirectMusic son componentes separados de DirectX, que tienen funcionalidades muy parecidas. Ambos reproducen sonidos WAV, y DirectMusic al final sintetiza todos los sonidos en ondas que son reproducidos por los buffers de DirectSound. Links http://msdn.microsoft.com/directx