Un saludo a todos, el día de hoy les traigo más información sobre Love2D, y en esta oportunidad les explicaré como aplicarle filtros y efectos a nuestros sonidos y así darle un toque extra a nuestros juegos.
Empecemos recordando como cargar nuestro audio, y para esto usaremos lo siguiente:
audio = love.audio.newSource("directorio/archivoDeAudio.mp3","stream o static")
Como ves es muy simple, y de esta manera ya tenemos en nuestra variable audio nuestro sonido cargado en espera de ser reproducido.
Aplicando filtros Low-pass, High-pass, Band-pass
Estos son los filtros que Love2D posee y que nos ayudan a modificar el audio de manera que se puedan escuchar mas los graves o los agudos, o una mezcla de ambos, veamos como aplicarlos.
audio:setFilter(ajustes)
Con este comando ya teniendo nuestro audio cargado, podemos aplicarle nuestros ajustes al sonido, este parámetro es una tabla con los siguientes valores.
Low-pass
{type = "lowpass", volume = 0 , highgain = 0}
High-pass
{type = "highpass", volume = 0, lowgain = 0}
Band-pass
{type = "bandpass", volume = 0, lowgain = 0, highgain = 0}
Por ejemplo:
audio:setFilter{type = "lowpass", volume = 0.5, highgain = 0.4}
O tambien.
ajustes = {type = "lowpass", volume = 0.5, highgain = 0.4}
audio:setFilter(ajustes)
Como puede observar el valor que toma "type" es uno de los tres tipos de filtros, "lowpass", "highpass", "bandpass". Los valores de "volume" y "lowgain", "highgain" van desde cero a uno (0,1).
Aplicando efectos en Love2D
Ahora les explicaré como aplicar los efectos, son parecidos a los filtros en que debes pasarle como parámetro una tabla con los ajustes que desees, pero primero debes definir el efecto y luego puedes agregarlo.
love.audio.setEffect("nombre del efecto", ajustes)
De esta manera definimos el efecto en Love2D agregándole un nombre, puede ser el que quieras, y los ajustes en una tabla tal como lo explique más arriba en los filtros.
audio:setEffect("nombre de efecto",activo)
Y con el comando anterior le aplicamos el efecto al sonido, como ves primero lo debes definir creándole un nombre y configurándolo, para luego aplicarlo al sonido que desees con solo pasar el nombre con el cual lo definiste. El parámetro "activo" te permite activar o desactivar el efecto, sus valores son "true" o "false".
Love2D tiene 8 efectos que puedes utilizar y configurar a tu gusto, estos son.
- chorus
- distortion
- compressor
- echo
- equalizer
- flanger
- reverb
- ringmodulator
Veamos como aplicar uno de ellos, primero definimos el efecto.
ajustes = {type="echo",volume=0.3,delay=0.1,tapdelay=0.1,damping=0.5,feedback=0.5,spread=-1}
love.audio.setEffect ("miEfecto",ajustes)
Luego aplicamos el efecto al sonido.
audio:setEffect("miEfecto",true)
Si deseas deshabilitarlo escribes lo siguiente.
audio:setEffect("miEfecto", false)
Como acabas de leer no es muy difícil aplicar efectos con Love2D, en la página principal podemos encontrar la documentación y ver todos los parámetros que podemos configurar en cada uno de ellos. Y aquí puedes encontrar el rango de valores que pueden tomar, si quieres conocer más debes buscar sobre OpenAL y te dejo una página con más información aquí.
También he creado una aplicación con Love2D que te puede ayudar a probar todos los filtros y efectos y configurarlos mientras reproduces un sonido, te dejo el enlace aquí por si te parece interesante, en las futuras entregas explicaré un poco más sobre todo esto, y bueno eso es todo por ahora, hasta la próxima.
Comentarios
Publicar un comentario