Tip: Modificar el tono de un audio en ActionScript3

danii . Lunes 27 de diciembre de 2010. a las 09:11

Hace algún tiempo necesitábamos modificar por programación el tono de un audio en Flash (es decir, subirle el tono seria volverlo más agudo o “pitufarlo” y bajarle el tono sería volverlo más grave) y la verdad es que estuvimos dando poco más que palos de ciego hasta que dimos con este ejemplo, donde por cortesía de Andre Michele encontramos la clase MP3Pitch en ActionScript 3 que se encarga precisamente de conseguir este efecto utilizando la clase nativa Sound y más específicamente, ampliando de manera magistral el ejemplo de uso que podemos encontrar bajo el método extract. La idea es ir leyendo los bytes del mp3 a mayor o menor velocidad (según si queremos incrementar el tono o hacerlo más bajo) y a continuación interpolarlos y dinámicamente meterle estos bytes interpolados al objeto sound que se está reproduciendo. Nos encantó porque a este nivel de byte todos hemos visto muchísimos ejemplos que trabajan con imágenes, pero como vemos con el audio también se puede ser creativo.

Una ventaja adicional es que el código proporcionado está comentado en su totalidad (por desgracia esto no es la norma) lo cual resulta tremendamente útil en el caso que nos veamos forzados a cambiar la funcionalidad (o simplemente enterarnos de qué carajo hace internamente).

El código final es muy simple, utilizando la clase MP3Pitch proporcionada, tan sólo tenemos que ir asignando el valor del slider al rate en el que se van a ir leyendo los bytes del audio, y en nada de tiempo tenemos ejemplos tan resultones como este:


Get Adobe Flash player

Ejemplo en el que por cierto hemos aprovechado el espíritu navideño reinante para colar un villancico y desearos a todos/as, queridos lectores, FELICES FIESTAS 2010/2011!

Etiquetas: , ,

Enviar comentario