Es bueno regresar a tus raíces, cuando hace ya 4 años traveseaba con un processing liviano y divertido. Hoy, las cosas no han cambiado, este processing ha crecido y sigue conservando las razones por las que me interesé en este IDE. La versión 2.0+ brilla por su capacidad de unir diferentes lenguajes y tantas librerías en una sola. Por ejemplo, me gustaría hablar de Soundcloud y su manipulación a través de processing.
Soundcloud es un servidor gratuito para subir música, entrevistas y mixes. Un fuerte comunidad alimenta cada día de nuevo contenido, y debido a ese interesante ecosistema se lanzó una librería de processing que se pueda controlar, a través del API.
Vamos a probarlo
- El usuario voidplus puso en su repositorio de Github.
- Necesitamos tener una cuenta de Soundcloud
- Si ya tienes cuenta, me puedes seguir si gustas 😀 Allí encontrarás la canción que vamos a reproducir para el ejemplo
- Inmediatamente ingresa a your apps por este enlace
- Al crear el app tendremos el Client ID y Client Secret. Esto nos servirá para hacer correr la librería
Código
import de.voidplus.soundcloud.*;
import ddf.minim.*;
PImage img;
SoundCloud soundcloud;
Minim minim;
AudioPlayer player;
void setup(){
size(619,464);
img = loadImage(«chabuco.jpg«);
soundcloud = new SoundCloud(«CLIENT ID«, «CLIENT SECRET«);
// Por lo general, no es necesario
soundcloud.login(«USER», «CLAVE»);
User me = soundcloud.get(«me»);
println(me);
// play the first track of search
ArrayList<Track> result = soundcloud.findTrack(«BUSCAR LA CANCIÓN«);
if(result!=null){
println(«Tracks: «+result.size());
minim = new Minim(this);
player = minim.loadFile(result.get(0).getStreamUrl());
player.play();
}
minim = new Minim(this);
}
void draw(){
image(img,0,0);
}
void stop(){
player.close();
minim.stop();
}
Resultados
El buscador que se configure con tu cuenta hará una búsqueda del artista o de la canción que escribas. Automáticamente saldrá una pantalla del sketch y comenzará a reproducir la primera canción que encuentre. Obviamente, podemos configurar a minim para que realice efectos y otros tipos de sonidos.