Ir al contenido principal

Quiéres estos diseños en tu ropa o en diferentes productos?

Publicidad

Aplicando filtros y efectos de audio con Love2D

 


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