Différences entre les versions de « ERG::livecoding »

De {}
Aller à la navigation Aller à la recherche
Ligne 53 : Ligne 53 :
  
 
L'objectif est d'envoyer à l'ordinateur une information numérique semblable à la grandeur physique que le microphone doit acquérir (ici enregistrer un son).
 
L'objectif est d'envoyer à l'ordinateur une information numérique semblable à la grandeur physique que le microphone doit acquérir (ici enregistrer un son).
 +
 +
 +
class ofApp : public ofBaseApp {
 +
  // ... other things ...
 +
  void audioOut( float * output, int bufferSize, int nChannels );
 +
  double phase;
 +
};
 +
 +
void ofApp::setup() {
 +
  phase = 0;
 +
  ofSoundStreamSetup(2, 0); // 2 output channels (stereo), 0 input channels
 +
}
 +
 +
void ofApp::audioOut( float * output, int bufferSize, int nChannels ) {
 +
  for(int i = 0; i < bufferSize * nChannels; i += 2) {
 +
    float sample = sin(phase); // generating a sine wave sample
 +
    output[i] = sample; // writing to the left channel
 +
    output[i+1] = sample; // writing to the right channel
 +
    phase += 0.05;
 +
  }
 +
}

Version du 5 novembre 2018 à 11:00

Live coding

le live coding est la pratique d’écriture de code en direct, devant une audience, principalement dans un contexte de création de musique ou de visuel.

Session du 01/10/2018

Justine, Danaé

Exemples de logiciels de live coding

Un wiki sur le live coding


Références : Collectifs, Artistes sonores et visuels

Session du 08/10/2018

Danaé, Justine

Projet : Faire du live coding audio d'après des sons enregistrés dans le bâtiment même et lus en direct.

Livcod.jpg

Dans un premier temps, nous allons d'abord nous concentrer sur la partie de droite, la captation et l'enregistrement de sons. Cette partie du programme peut être écrite en C et ne concernera que les RasberryPi.

1. Trouver une bibliothèque C permettant de se connecter à un micro et d'exporter de l'audio FmodEx

Session du 05/11/2018

Justine, Danaé

Microhp.gif

L'objectif est d'envoyer à l'ordinateur une information numérique semblable à la grandeur physique que le microphone doit acquérir (ici enregistrer un son).


class ofApp : public ofBaseApp {

 // ... other things ...
 void audioOut( float * output, int bufferSize, int nChannels );
 double phase;

};

void ofApp::setup() {

 phase = 0;
 ofSoundStreamSetup(2, 0); // 2 output channels (stereo), 0 input channels

}

void ofApp::audioOut( float * output, int bufferSize, int nChannels ) {

 for(int i = 0; i < bufferSize * nChannels; i += 2) {
   float sample = sin(phase); // generating a sine wave sample
   output[i] = sample; // writing to the left channel
   output[i+1] = sample; // writing to the right channel
   phase += 0.05;
 }

}