Bonjour,
excusez moi pour mon absence, j'aurai une demande, pourriez-vous me dire ligne par ligne les fonctions de ce programme, c'est le vood draw du programme :
void draw() {
background(0);
loadPixels();
for(int i = 0; i < width; i++){
int buffIndex = i * ac.getBufferSize() / width;
int vOffset = (int)((1 + ac.out.getValue(0, buffIndex)) *
height / 2);
pixels[vOffset * height + i] = color(255);
}
updatePixels();
}
Hors ligne
for(int i = 0; i < width; i++){
int buffIndex = i * ac.getBufferSize() / width; //on prend la grandeur du buffer de Bead et on la divise par la //largeur de lecran
int vOffset = (int)((1 + ac.out.getValue(0, buffIndex)) * //on prend la valeur que contient lindex et on la multiplie
height / 2); //par la hauteur //2 ca va te donner lamplitude
pixels[vOffset * height + i] = color(255); //on affiche les valeur pixel par pixel
}
updatePixels();
}
Dernière modification par imdidi (2017-05-08 19:58:39)
Hors ligne
Bonjour,
Merci pour votre réponse Imdidi, une autres question, est-ce que Beads est en floate ou en entier ?
Je ne sais pas si vous comprenez ma question, mais en tout cas je n'ai pas réussi à trouver de réponse aha
Hors ligne
non je comprend mal ta question
Hors ligne
J'aimerai savoir si la librairie, du moins le programme est en float ou en INT, je ne pense pas avoir mieux expliqué, peut-être as-tu mieux compris ?
Hors ligne
que veux tu faire pourquoi tu demande cette info
si c'est par rapport au volume il fonctionne dans une plage de 0 a 1 donc il est float
mais une chose que moi je fais ce n'est peut être pas une bonne méthode mais je n'utilise que des float comme ca quand j'en ai besoin ca fonctionne et pas besoin de reconvertir tes int en float car tu as modifier quelque chose dans un de tes void et que tu tai rendu compte que ca te prenais des chiffre a virgule les int je les utilise seulement en cas de boolean binaire 1 0 et apres si une methode demande un int et que tu a des float tu fais juste rajouter int()
ex:
float x = 440.0, y = 210.0; int(x); // = 440 int(y); // = 210 rect(int(x), int(y), 10,10;
c'est sur rect ce n'est pas une bonne exemple car il prend les float et les int mais c'est juste pour te montrer
Hors ligne
Bonjour,
Une librairie est une collection de classes qui ont chacune plusieurs méthodes pour interagir avec les entrées et sorties son.
Ta question devrait se rapporter à une méthode de classe précise. Pour savoir quels son les paramètres et leurs types, il faut se référer à la documentation en ligne :
http://www.beadsproject.net/doc/
Hors ligne
Bonjour,
Merci pour vos réponses, j'ai pu grâce à vous avoir ma réponse concernant ma question
Autre chose, je viens de rajouter la reverb, pouvez-vous me dire s'il y a des erreurs s'il vous plait ? Mais aussi à quoi servent les fonctions de la reverb (r.setSize(0.7); r.setDamping(0.5); r.addInput(g), j'ai beau lire sur le tuto je ne comprends pas a quoi servent les lignes de programme.
import beads.*;
AudioContext ac;
TapIn delayIn;
TapOut delayOut;
Gain delayGain;
Reverb r;
void setup() {
size(800,800);
ac = new AudioContext();
UGen microphoneIn = ac.getAudioInput();
Gain g = new Gain(ac, 1, 1);
delayGain = new Gain(ac, 1, 0.50);
delayIn = new TapIn(ac, 2000);
delayOut = new TapOut(ac, delayIn, 500.0);
r = new Reverb(ac, 1);
r.setSize(0.7);
r.setDamping(0.5);
r.addInput(g);
g.addInput(microphoneIn);
ac.out.addInput(g);
delayIn.addInput(g);
delayGain.addInput(delayOut);
ac.out.addInput(delayGain);
ac.start();
Hors ligne
Bonjour,
Comme toujours un petit tour dans la doc de la classe pour trouver les méthodes :
http://www.beadsproject.net/doc/net/bea … everb.html
Pour en savoir plus sur la réverbération numérique :
http://www.espace-cubase.org/page.php?page=appplugvb1
La méthode addInput est héritée de la class net.beadsproject.beads.core.UGen :
http://www.beadsproject.net/doc/net/bea … core.UGen-
Il faut appliquer la réverbération dont tu as établi les paramètres à un objet sonore, c'est ce que doit faire la méthode addInput().
Hors ligne