+ playsample.ck
This commit is contained in:
parent
7dba31d281
commit
8a17ec60c5
@ -131,11 +131,17 @@ sustain level pour finir.
|
||||
\subsection{Jouer des samples}
|
||||
|
||||
Oui, on peut. On peut même faire des choses assez fun.
|
||||
Juste un example un peu brouillon et qui manque de rigueur
|
||||
en attendant mieux :
|
||||
Juste un example un peu brouillon et qui manque de rigueur,
|
||||
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}
|
||||
|
||||
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 :
|
||||
« oué, nous on veut du gros son ». Patience, nous allons
|
||||
d'abord voir les briques avant de construire le mur.
|
||||
|
@ -1,11 +1,11 @@
|
||||
SndBuf buf => dac;
|
||||
"sample.wav" => buf.read;
|
||||
"/home/tth/Essais/Chuck/sample.wav" => buf.read;
|
||||
|
||||
float srate, duration;
|
||||
1 => buf.gain;
|
||||
|
||||
for ( 0.7=>srate; srate<1.8; 0.1 +=> srate) {
|
||||
900 / srate => duration;
|
||||
for ( 0.7=>srate; srate<1.9; 1.1 *=> srate) {
|
||||
4000 / srate => duration;
|
||||
<<< "loop...", srate, duration >>>;
|
||||
0 => buf.pos;
|
||||
srate => buf.rate;
|
||||
|
Loading…
Reference in New Issue
Block a user