Vos actions : Créer un document, voir la page générale.

Cultures numériques

Cours de Bachelor 1

Télécharger les scripts de ce workshop

Vous pouvez télécharger les scripts dans chaque article à la suite de celui-ci, mais il est aussi possible de les charger tous en une fois ici.

Minim et sound, pourquoi ?

Minim et sound sont des librairies. voir l’article sur ce site à ce sujet.

Selon le type d’ordinateur et de version d’OS, ou de version de Java, ou pour d’autres raisons cabalistiques, il se peut que soit Minim soit Sound ne marche pas. C’est pourquoi les scripts de test pour ce workshop ont été adaptés en fonction de l’une ou l’autre librairie...

Comment choisir sa librairie

Le mieux est d’installer les deux librairies. Ça ne pose pas de problème de conflit et permet de disposer des deux librairies. Les deux ont des avantages et des inconvénients : Minim est plus complète mais plus complexe à utiliser pour certaines fonctions. Sound est simple mais parfois limitée.

Les scripts d’exemple sont quasiment les mêmes. Inutile de charger les deux versions, mais rien ne l’empêche non plus.

Tester minim

Pour savoir si minim fonctionne sur votre ordinateur, installez la librairie, puis chargez un de ses scripts d’exemple dans le menu fichier/exemples ou placez le code suivant par copier-coller. Si le code démarre sans erreur, c’est que la librairie est compatible avec votre configuration. Vous pouvez télécharger le fichier zippé ci-contre contenant les script en minim.

import ddf.minim.*;
import ddf.minim.ugens.*;
 
Minim       minim;
AudioOutput out;
Oscil       wave;
 
void setup()
{
  size(512, 200, P3D);
 
  minim = new Minim(this);
 
  // use the getLineOut method of the Minim object to get an AudioOutput object
  out = minim.getLineOut();
 
  // create a sine wave Oscil, set to 440 Hz, at 0.5 amplitude
  wave = new Oscil( 440, 0.5f, Waves.SINE );
  // patch the Oscil to the output
  wave.patch( out );
}
 
void draw()
{
  background(0);
  stroke(255);
  strokeWeight(1);
 
  // draw the waveform of the output
  for(int i = 0; i < out.bufferSize() - 1; i++)
  {
    line( i, 50  - out.left.get(i)*50,  i+1, 50  - out.left.get(i+1)*50 );
    line( i, 150 - out.right.get(i)*50, i+1, 150 - out.right.get(i+1)*50 );
  }
 
  // draw the waveform we are using in the oscillator
  stroke( 128, 0, 0 );
  strokeWeight(4);
  for( int i = 0; i < width-1; ++i )
  {
    point( i, height/2 - (height*0.49) * wave.getWaveform().value( (float)i / width ) );
  }
}
 
void mouseMoved()
{
  // usually when setting the amplitude and frequency of an Oscil
  // you will want to patch something to the amplitude and frequency inputs
  // but this is a quick and easy way to turn the screen into
  // an x-y control for them.
 
  float amp = map( mouseY, 0, height, 1, 0 );
  wave.setAmplitude( amp );
 
  float freq = map( mouseX, 0, width, 110, 880 );
  wave.setFrequency( freq );
}

Tester la librairie Sound

Pour savoir si Sound fonctionne sur votre ordinateur, installez la librairie, puis chargez un de ses scripts d’exemple dans le menu fichier/exemples ou placez le code suivant par copier-coller. Si le script démarre, c’est que votre configuration est compatible, vous pouvez télécharger les scripts du workshop pour cette librairie.

import processing.sound.*;
SinOsc sine;

void setup() {
  size(640, 360);
  background(255);
    
  // Create the sine oscillator.
  sine = new SinOsc(this);
  sine.play();
}

void draw() {
}
Par Stéphane Noël, 26 novembre 2017