Minim core | ugens | analysis |
AudioSource mix | Description The AudioBuffer containing the mix of the left and right channels. If this is a mono sound, `mix` contains the same samples as `left`. Signature
    AudioBuffer mix
Related AudioBuffer Example
    /**
      * This sketch demonstrates how to play a file with Minim using an AudioPlayer. <br />
      * It's also a good example of how to draw the waveform of the audio. Full documentation
      * for AudioPlayer can be found at http://code.compartmental.net/minim/audioplayer_class_audioplayer.html
      * <p>
      * For more information about Minim and additional features,
      * visit http://code.compartmental.net/minim/
      */

    import ddf.minim.*;

    Minim minim;
    AudioPlayer player;

    void setup()
    {
      size(512, 200, P3D);

      // we pass this to Minim so that it can load files from the data directory
      minim = new Minim(this);

      // loadFile will look in all the same places as loadImage does.
      // this means you can find files that are in the data folder and the
      // sketch folder. you can also pass an absolute path, or a URL.
      player = minim.loadFile("groove.mp3");
    }

    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 < player.bufferSize() - 1; i++)
      {
        float x1 = map( i, 0, player.bufferSize(), 0, width );
        float x2 = map( i+1, 0, player.bufferSize(), 0, width );
        line( x1, 50 + player.left.get(i)*50, x2, 50 + player.left.get(i+1)*50 );
        line( x1, 150 + player.right.get(i)*50, x2, 150 + player.right.get(i+1)*50 );
      }

      // draw a line to show where in the song playback is currently located
      float posx = map(player.position(), 0, player.length(), 0, width);
      stroke(0,200,0);
      line(posx, 0, posx, height);

      if ( player.isPlaying() )
      {
        text("Press any key to pause playback.", 10, 20 );
      }
      else
      {
        text("Press any key to start playback.", 10, 20 );
      }
    }

    void keyPressed()
    {
      if ( player.isPlaying() )
      {
        player.pause();
      }
      // if the player is at the end of the file,
      // we have to rewind it before telling it to play again
      else if ( player.position() == player.length() )
      {
        player.rewind();
        player.play();
      }
      else
      {
        player.play();
      }
    }
Usage Web & Application