Logo Mon Club Elec

Processing : Jouer un son avec Mplayer

http://web.archive.org/web/20210804223007/https://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ArduinoExpertCapteursComplexesDS18B20

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

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

Noter cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Archive Mon Club Elec

Articles populaires

Newsletter

Inscrivez-vous maintenant et bénéficiez d'un soutien continu pour réaliser vos travaux électriques en toute sécurité.