Créer un morceau
Bien ! Tu as un morceau qui tourne avec un rythme stable et une basse sur laquelle s’accroche la mélodie. Maintenant nous allons faire un truc vraiment cool et libérer le vrai potentiel de Sonic Pi. Programmons l’ordinateur pour qu’il compose pour nous !
Transposer signifie changer la hauteur des notes (vers l’aigu ou le grave). On peut aléatoirement transposer la mélodie ici et là pour ajouter du piment au morceau. Tu peux lancer un dé pour décider quand augmenter la hauteur de la mélodie. Voici un exemple :
Faisons quelque chose d’intéressant avec la boucle de basse. .choose
est un moyen d’extraire de façon aléatoire un élément d’une liste. Comme ceci :
[:c, :e, :g]
est une liste de notes (en fait les notes de l’accord de Do majeur). .choose
extrait une de ces notes au hasard. Au lieu de notes tu peux avoir n’importe quoi dans la liste. Par exemple des valeurs de sleep :
Tu n’as même pas besoin de retenir quelles notes sont dans quels accords. Sonic Pi peut s’occuper de ça pour toi. Au lieu de [:c, :e, :g]
, tu peux juste écrire (chord :C, :major)
. Ca crée automatiquement une liste des notes de l’accord de Do majeur. Voici un exemple :
Utilisons cette sorcellerie pour avoir une ligne de basse bouillonnante. Sauvegarde ton travail et copie ta boucle :bass
dans un autre buffer, au cas où tu voudrais la reprendre. Ensuite fais de la place pour notre nouvelle ligne de basse en supprimant le contenu de la boucle. Prenons le célèbre synthétiseur :tb303
et jouons au hasard des doubles-croches de l’accord majeur de do :
Oups ! Pas vraiment des doubles-croches. Ajoute le paramètre , release: 0.125
à la fin de la commande play, comme ceci :
C’est mieux, mais il y a encore quelques finitions à faire. Jusqu’ici tu as utilisé les paramètres attack:
et release:
pour une instruction play. En fonction du synthétiseur que tu utilises, il y a beaucoup plus de paramètres à disposition. Par exemple le synthétiseur tb303 possède 45 options différentes à règler. Utilisons pour la basse un paramètre nommé cutoff
. Cutoff supprime toutes les fréquences au-dessus d’un seuil. Tu peux utiliser des valeurs entre 0-130.
Mais n’utilise pas un seuil de cutoff fixe quand tu peux en avoir un au hasard ! Avec rrand(min, max)
tu peux générer des nombres aléatoires dans un intervalle donné. Essaie ça :
Super ! N’oublie pas d’explorer et d’essayer différentes choses. Pour récapituler, voici un exemple de ce que tu peux avoir maintenant :