Salut !
Dites, est-il possible de recevoir un flux audio streamé par une autre machine dans Processing ?
Hors ligne
Bonjour,
Oui, c'est possible avec la librairie Minim qui est incluse dans Processing. Il suffit de passer l'adresse dans le constructeur. Cela peut-être aussi l'adresse IP avec le numéro du port style 127.0.0.1:8000 :
import ddf.minim.*; Minim minim; AudioPlayer radio; void setup() { size(512, 200, P3D); minim = new Minim(this); // load a URL radio = minim.loadFile("http://m1.liveatc.net/einn_high", 2048); // play the file radio.play(); } void draw() { background(0); stroke(255); // draw the waveforms // the values returned by left.get() and right.get() will be between -1 and 1, // so we need to scale them up to see the waveform // note that if the file is MONO, left.get() and right.get() will return the same value for (int i = 0; i < radio.bufferSize ()-1; i++) { float x1 = map(i, 0, radio.bufferSize(), 0, width); float x2 = map(i+1, 0, radio.bufferSize(), 0, width); line(x1, 50 + radio.left.get(i)*50, x2, 50 + radio.left.get(i+1)*50); line(x1, 150 + radio.right.get(i)*50, x2, 150 + radio.right.get(i+1)*50); } } void stop() { radio.close(); minim.stop(); super.stop(); }
Hors ligne
Ah merci ! J'avais bien pensé à Minim mais j'avais estimé, à tord, qu'il ne pouvait pas le faire.
Bon ben merci beaucoup, je test ça et je fais un retour :-)
Hors ligne
Ça fonctionne NICKEL !
Merci beaucoup ! :-D
Maintenant, chercher comment récupérer et traiter l'amplitude du signal audio...
Hors ligne
Hey! merci pour les posts. Cependant, le dernier lien ne fonctionne plus, aurais tu une explication similaire? je me pose la meme question concernant le traitement d'un signal audio
merci!
Hors ligne