Merci beaucoup xoofx ! C'est un bon debut ! Donc pour preciser, j'ai toujours été persuader que je ne pourrais pas faire de son, mais maintenant que je sais que ca peut se coder ca m'intéresse beaucoup !
Peux tu m'en dire plus sur la synthèse additive ?
J'ai regarde le code de celui ci : (
https://www.shadertoy.com/view/ldXXDj )
Je comprends comment utiliser la function instrument( freq, time ), car elle s'appuie fortement sur soundtoy. En revanche je ne comprend pas la théorie derriere ?
Ensuite en regardant, la function mainSound() commence comme ceci :
vec2 mainSound( float time )
{
time = mod( time, 60.0 );
vec2 y = vec2(0.0);
y += vec2(0.7,0.3)*doChannel1( time ); // main instrument
y += vec2(0.3,0.7)*doChannel2( time ); // secondary instrument
y *= 0.1;
return y;
}
Je ne comprends pas les coefficient vec2(0.7,0.3), peux tu me l'expliquer ?
Une autre question, je ne comprend pas ce qui se passe sur cette partie du code :
//----------------------------------------------------------------------------------------
#define D(a) b+=float(a);if(t>b)x=b;
//----------------------------------------------------------------------------------------
#define tint 0.144
float doChannel1( float t )
{
float x = 0.0;
float y = 0.0;
float b = 0.0;
t /= tint;
// F2
x = t; b = 0.0;
D(36)D(2)D(2)D(20)D(2)D(16)D(6)D(2)D(226)
y += instrument( 174.0, tint*(t-x) );
// G2
x = t; b = 0.0;
D(53)D(208)
y += instrument( 195.0, tint*(t-x) );
...
J'avoue être complètement largue ... Quelle est cette méthode D(int), d'ou viennent tous ces nombres ? Comment les determiner ?
Merci beaucoup pour ton aide xoofx, merci a ceux qui vont venir completer ce thread !