Différences entre les versions de « ERG::livecoding »
Ligne 109 : | Ligne 109 : | ||
---- | ---- | ||
− | + | ==01_ Hello World, I'm SuperCollider== | |
---- | ---- | ||
Ligne 132 : | Ligne 132 : | ||
"Hello World".postln; | "Hello World".postln; | ||
+ | |||
+ | To execute it, simply click to place the cursor somewhere on the same line as the code and then press Shift-Enter (Shift-Return on the Mac). Try this now. | ||
+ | Pour l'exécuter, cliquez simplement pour placer le curseur quelque part sur la même ligne que le code puis appuyez sur Maj-Entrée. Essayez maintenant. | ||
+ | |||
+ | Si tout se passe bien, vous devriez voir ceci dans la fenêtre de publication : | ||
+ | |||
+ | Hello World! | ||
+ | -> Hello World! |
Version du 14 décembre 2018 à 11:10
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
- IXI Lang
- puredata
- Max/MSP
- SuperCollider
- Extempore
- Fluxus
- TidalCycles
- Gibber
- Sonic Pi
- FoxDot
- Cyril
- ChucK
- Impromptu
- Overtone
- SuperCollider
Références : Collectifs, Artistes sonores et visuels
- Algorave
- VEhF Computer
- Organisation TOPLAP
- Andrew Sorensen
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.
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é
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; } }
Session du 26/11/2018
Justine, Danaé
Enregistre un fichier texte dans le dossier "bin" du projet.
#include <iostream> #include <fstream> using namespace std;
int main() { ofstream myfile("example.txt",ios::app);///no use of ios::trunc as without declaring it, // previous content is deleted & replaced by blank file///same ///effect by ios::ate cout<<myfile.tellp()<<endl;///result was '0' myfile.seekp(24, ios::end); cout<<myfile.tellp()<<endl;///result was '71' myfile<<"should add this text from 71 but text is added from 47, end of file ";//but still writes from 47 which is the /// end of file while the tellp says should write from 71 }
Par contre si la phrase est effacée, remplacé et le code à nouveau exécuté, le fichier "example.txt" n'est pas remplacé, mais les phrases s'écrivent à la suite.
Session du 10/12/2018
Justine
01_ Hello World, I'm SuperCollider
Lors de l’apprentissage d’un nouveau langage de programmation, la coutume veut que l’on commence par un programme simple appelé «Hello World». Cela affiche le texte 'Hello World!' partout où le programme devra afficher du texte. En SC, cet endroit est appelé la fenêtre de publication ('post window' en anglais). La fenêtre de publication est démarrée lorsque vous avez lancé SC pour la première fois. Un tas de choses y ont été affichées, et ressemblent à ceci :
init_OSC compiling class library.. NumPrimitives = 587 compiling dir: '/Applications/SC3/SCClassLibrary' pass 1 done Method Table Size 3764776 bytes Number of Method Selectors 3184 Number of Classes 1814 Number of Symbols 7595 Byte Code Size 180973 compiled 296 files in 1.34 seconds compile done RESULT = 256 Class tree inited in 0.14 seconds
Ne vous inquiétez pas trop de ce que tout cela signifie pour le moment, gardez simplement à l’esprit que c’est là où SC vous enverra des informations. C'est également là que nous aurons le résultat de notre programme 'Hello World', que vous pouvez voir ci-dessous :
"Hello World".postln;
To execute it, simply click to place the cursor somewhere on the same line as the code and then press Shift-Enter (Shift-Return on the Mac). Try this now. Pour l'exécuter, cliquez simplement pour placer le curseur quelque part sur la même ligne que le code puis appuyez sur Maj-Entrée. Essayez maintenant.
Si tout se passe bien, vous devriez voir ceci dans la fenêtre de publication :
Hello World! -> Hello World!