+ playsample.ck

This commit is contained in:
tth 2021-11-03 09:08:40 +01:00
parent 7dba31d281
commit 8a17ec60c5
2 changed files with 11 additions and 5 deletions

View File

@ -131,11 +131,17 @@ sustain level pour finir.
\subsection{Jouer des samples} \subsection{Jouer des samples}
Oui, on peut. On peut même faire des choses assez fun. Oui, on peut. On peut même faire des choses assez fun.
Juste un example un peu brouillon et qui manque de rigueur Juste un example un peu brouillon et qui manque de rigueur,
en attendant mieux : essentiellement sur le calcul de la durée d'écoute de
l'échantillon en fonction du \textsl{pitch}.
Mais, en attendant mieux :
\lstinputlisting{code/playsample.ck} \lstinputlisting{code/playsample.ck}
Bien entendu, il vous faudra créer le fichier avec
l'échantillon sonore. J'ai utilisé un fichier de quatre
secondes échantilloné à 22050 Hz.
Et j'entend un esprit chagrin râler au fond de la salle : Et j'entend un esprit chagrin râler au fond de la salle :
« oué, nous on veut du gros son ». Patience, nous allons « oué, nous on veut du gros son ». Patience, nous allons
d'abord voir les briques avant de construire le mur. d'abord voir les briques avant de construire le mur.

View File

@ -1,11 +1,11 @@
SndBuf buf => dac; SndBuf buf => dac;
"sample.wav" => buf.read; "/home/tth/Essais/Chuck/sample.wav" => buf.read;
float srate, duration; float srate, duration;
1 => buf.gain; 1 => buf.gain;
for ( 0.7=>srate; srate<1.8; 0.1 +=> srate) { for ( 0.7=>srate; srate<1.9; 1.1 *=> srate) {
900 / srate => duration; 4000 / srate => duration;
<<< "loop...", srate, duration >>>; <<< "loop...", srate, duration >>>;
0 => buf.pos; 0 => buf.pos;
srate => buf.rate; srate => buf.rate;