Le Processing est un langage de programmation open source qui permet aux développeurs de créer des applications interactives et des visualisations complexes. Il est très populaire auprès des artistes et des designers qui souhaitent créer des expériences visuelles et sonores uniques. Dans cet article, nous allons vous montrer comment jouer un son avec Mplayer en utilisant Processing. Nous allons vous expliquer les étapes à suivre pour configurer votre environnement et vous montrer comment utiliser les fonctionnalités de Mplayer pour jouer un son.
Processing : Jouer un son avec Mplayer
Explication
- Sur un système Gnu/Linux tel qu’Ubuntu, on dispose d’un lecteur de fichiers sons et vidéos multiformat très performant, mplayer. Ce programme peut être lancé en ligne de commande facilement. D’où l’idée de l’utiliser depuis Processing pour lancer la lecture d’un fichier son en ligne de commande.
- La ligne de commande à utiliser sera de la forme : mplayer /home/hinault/Bureau/mes_sons/r2d2_2.mp3 -quiet Ici le paramètre -quiet a pour effet de limiter les messages renvoyés dans la console.
- Pour lancer une ligne de commande système depuis Processing sous Ubuntu, on utilise un tableau de String pour y mettre les éléments de la ligne de commande et on envoie le tout vers la console système via un bout de code en Java. Le pied !
Ressources utiles
- Pour plus d’infos :
- man mplayer dans le Terminal sous Ubuntu pour avoir la doc complète sur mplayer
- La page Ubuntu sur mplayer : http://doc.ubuntu-fr.org/mplayer
- le site officiel : http://www.mplayerhq.hu/design7/news.html
Le programme
- Mettez des fichiers sons dans le répertoire de votre choix. Indiquer dans le programme le chemin des fichiers sons et tester plusieurs sons en changeant le nom du fichier son dans le programme. Vous trouverez ici une série de sons utilisables, dont quelques bruits de r2d2 sympas…
- Lancer le programme et amusez-vous bien !
// Programme processing
// généré avec le générateur de code Processing
// www.mon-club-elec.fr
// par X. HINAULT – Avril 2011 – tous droits réservés
String[] command ; // pour envoi ligne de commande
void setup(){ // fonction d’initialisation exécutée 1 fois au démarrage
// —- initialisation paramètres graphiques utilisés
colorMode(RGB, 255,255,255); // fixe format couleur R G B pour fill, stroke, etc…
fill(0,0,255); // couleur remplissage RGB
stroke (0,0,0); // couleur pourtour RGB
rectMode(CORNER); // origine rectangle : CORNER = coin sup gauche | CENTER : centre
imageMode(CORNER); // origine image : CORNER = coin sup gauche | CENTER : centre
//strokeWeight(0); // largeur pourtour
frameRate(30);// Images par seconde
// — initialisation fenêtre de base —
//size(400, 130); // ouvre une fenêtre xpixels x ypixels
background(0,0,0); // couleur fond fenetre
} // fin fonction Setup
// XXXXXXXXXXXXXXXXXXXXXX Fonction Draw XXXXXXXXXXXXXXXXXXXX
void draw() { // fonction exécutée en boucle
//—— code type pour jouer son avec mplayer par ligne commande (Ubuntu) —-
String nomFichier=« r2d2_1.mp3 »; // variable pour nom du fichier son à jouer
String cheminFichier=« /home/glapbox/Bureau/mes_sons/ »; // chemin complet avec / de fin
joueSonMplayer (cheminFichier, nomFichier);
delay (5000);
joueSonMplayer (cheminFichier, « r2d2_5.mp3 »);
//while(true); // stoppe programme
} // fin de la fonction draw()
// XXXXXXXXXXXXXXXXXXXXXX Autres Fonctions XXXXXXXXXXXXXXXXXXXXXX
//——————— fonction lecture son avec Mplayer —————
void joueSonMplayer(String cheminSon, String fichierSon) {
//—— code type pour jouer son avec mplayer par ligne commande (Ubuntu) —-
command = new String[3]; // tableau String pour la ligne de commande
// mplayer /home/hinault/Bureau/mes_sons/r2d2_2.mp3 -quiet
command[0] = « mplayer »;
command[1] = cheminSon+fichierSon;
command[2]=« -quiet »;
//— exécution de la ligne de commande (code Java)
try {
Process p = exec(command); // exécute la commande
//— récupère la sortie de la commande dans la console de Processing
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}//fin while
} // fin try
catch (IOException e) { // gestion exception
e.printStackTrace();
} // fin catch
} //——————— fin joueSonMplayer
Articles similaires:
- Processing Lancer Firefox par appui sur un bouton graphique (Ubuntu):
- Processing Sons avec Mplayer : Lire un fichier son avec Mplayer à la réception d’une chaîne sur le port série
- EeePC-Bot : Interface Processing Mplayer + Espeaker + Envoi / Réception chaine série
- GLAP-Box : Programme de test : Tester la lecture de fichier sons dans un programme Processing
- Processing Fichiers : Datalogging de fichier image contrôlé par le clavier.
Articles Liés
- Processing Synthese vocale avec espeak lancé en ligne de commande depuis Processing
La synthèse vocale est un outil puissant qui permet aux utilisateurs de générer des voix…
- Javascript : Graphique Dygraphs simple
Le Javascript est un langage de programmation très populaire et puissant qui permet aux développeurs…
- Processing : interfaces graphiques : Oscilloscope multivoies avec contrôles pour chaque voie.
Le Processing est un langage de programmation open source qui permet aux utilisateurs de créer…