1
Code / Re : How to play sound in Shadertoy
« on: 11 August 2014 à 23:09:23 »
La fonction instrument génère un sample pour une fréquence donnée, à un temps donné: c'est à dire la valeur de l'échantillon qu'on mesurerait (avec un micro) si l'on avait vraiment joué (sur un instrument physique équivalent) la note de fréquence donnée il y a exactement tel temps.
Ce qu'il fait avec ça macro D (pour drum je pense), c'est en quelque sorte coder les coups de percussions. Les nombres en paramètres sont le nombres de beats (du tempo) entre chaque coup.
Par exemple
La variable x contient le temps inférieur à t et le plus proche de t où il y a eu une percussion. (La variable est initialisée à t entre chaque note car ça fait saturer l'instrument je pense, donc en fait on l'entend pas).
Le tint permet de régler le temps que va durer chaque percussion je pense.
(j'y connais rien en musique donc je dis sûrement des conneries avec les tempos et tout ça)
Et pour es histoires de
Ce qu'il fait avec ça macro D (pour drum je pense), c'est en quelque sorte coder les coups de percussions. Les nombres en paramètres sont le nombres de beats (du tempo) entre chaque coup.
Par exemple
Code: [Select]
D(36)D(2)D(2)D(20)D(2)D(16)D(6)D(2)D(226)
Veut dire: premier coup à 36 beats après le début, puis deux après, puis encore deux après etc...La variable x contient le temps inférieur à t et le plus proche de t où il y a eu une percussion. (La variable est initialisée à t entre chaque note car ça fait saturer l'instrument je pense, donc en fait on l'entend pas).
Le tint permet de régler le temps que va durer chaque percussion je pense.
(j'y connais rien en musique donc je dis sûrement des conneries avec les tempos et tout ça)
Et pour es histoires de
Code: [Select]
// put the 1st instrument on the left
y += vec2(0.7,0.3)*doChannel1( time ); // main instrument
// put the 1st instrument on the right
y += vec2(0.3,0.7)*doChannel2( time ); // secondary instrument
C'est pour sortir du son stéréo. L'instrument principal s'entend mieux à gauche, l'autre à droite. Ils sont complétement symétrique là.