Transcription
1. Aperçu du cours: Bienvenue pour faire de la musique avec du code, le guide complet pour les
coder en tant que Sonic Pi. Ce cours amusant s'adresse aux
musiciens ayant peu ou pas d'expérience en codage et vous
apprendra à
composer et à interpréter de la musique en utilisant le
code de vos instruments. Je m'appelle Steven Moffat et
je serai votre professeur. J'écris des
logiciels et je crée la musique depuis plus de 30 ans. Pendant ce
temps, j'ai appris, travaillé et
enseigné plus d'une douzaine langages de programmation
différents dans ce cours, qui contient plus de quatre
heures de leçons vidéo, vous apprendrez à utiliser un framework
Sonic Pi populaire et gratuit. Vous aborderez tout, des bases
de la programmation à l'utilisation
de Sonic Pi pour conception
sonore et les
performances live avec des
explications et des exemples détaillés et détaillés. À chaque étape, vous
apprendrez à créer de la musique en codant des patterns musicaux
avec since et samples. Les concepts de programmation fondamentaux, notamment le flux de programme et Sonic Pi sont des structures de données
intégrées. Comment créer un séquenceur de batterie
et boucler des mélodies, progressions d'
accords et des
lignes de base à partir de zéro. Comment utiliser les filtres et enveloppe
ADSR pour la conception sonore
basée sur du code. L'utilisation d'
algorithmes de randomisation pour créer de la musique générative. Comment ajouter des effets
tels que la distorsion, delay et la réverbération pour rendre vos sons encore
plus intéressants. Vous apprendrez à contrôler le
MIDI et l'audio à partir de votre code et à les
intégrer à vos performances. À la fin du cours,
vous serez en mesure d'
appliquer ce que vous avez
appris pour créer des compositions musicales
uniques
et jouer en direct en utilisant du code. Et vous verrez que n'importe qui
peut apprendre à programmer. Je suivrais chaque nouveau concept étape par étape et c'
est vraiment beaucoup plus facile que
vous ne le pensez. Le cours s' adresse aux musiciens
souhaitant acquérir
des connaissances en programmation en utilisant le code comme un instrument
de composition, d'inspiration, d'enregistrement
et de performance live. Vous n'avez pas besoin d'expérience préalable en
programmation ni de connaissances
approfondies en mathématiques
ou en informatique. Ou vous avez besoin de quelques concepts
musicaux de base tels que la note, gammes, les accords et le rythme. Et un ordinateur Mac Windows ou
Raspberry Pi. Alors participez et apprenez à utiliser code pour créer
la musique que vous pouvez imaginer. Et peut-être même que tu ne peux pas.
2. Introduction: Bonjour et bienvenue dans ce cours où nous
allons étudier l'utilisation du
code pour créer de la musique à la fois pour des performances
live et
pour nos compositions. Je n'ai donc supposé
aucune connaissance préalable
en programmation pour ce cours. Ce cours s'adresse principalement
aux musiciens qui souhaitent utiliser du code
pour composer
et interpréter de la musique, ou introduire chaque
concept de programmation étape par étape. Nous allons y aller
doucement et il y aura de
nombreuses occasions
de s'entraîner. Maintenant, il y a certaines
choses que vous devriez avoir à
tirer le meilleur parti du cours. Le premier
est un ordinateur. Maintenant, n'importe quel ordinateur Windows, Mac ou Raspberry Pi
ira parfaitement. La deuxième chose est une connaissance musicale
de base. Nous ne parlons pas ici de solfège
avancé, mais tant que vous
avez une connaissance des notes, des gammes et des octaves, ce
genre de concepts, alors tout ira bien. Enfin, je vous
recommande vivement d'
écouter le cours un bon casque ou
une bonne configuration de haut-parleurs stéréo. Cela permet de s'assurer que
vous êtes capable d'entendre les nuances de certaines modifications apportées
aux
sons que nous créons. Alors en gardant cela à
l'esprit, prenez un café et
plongeons-nous dans le vif du sujet.
3. Obtenir un Pi sonique: Le logiciel que nous allons
utiliser avec ce cours est le fantastique Sonic Pi, qui a été créé par
Sam Aaron et qui est
devenu très populaire dans
la scène des algorithmes. Il s'agit d'un
framework musical basé sur Ruby, qui est un langage de programmation. Ne vous inquiétez pas trop, mais cela pourrait vous intéresser
si vous avez des codes d'accès et de l'expérience.
Sonic Pi fonctionne sous Windows
et Mac et, Sonic Pi fonctionne sous Windows comme son
nom l'indique, est
en fait conçu pour fonctionner particulièrement bien
sur un Raspberry Pi. Rendez-vous donc sur
le site web de Sonic Pi et voyons comment nous les téléchargeons
et les installons. Nous voici sur le
site de Sonic Pi et ici vous pouvez voir des boutons ici
à télécharger pour Windows, pour Mac OS et
pour Raspberry Pi. Mais ce site Web
offre bien plus encore. Je vous
encourage donc vivement
à vous impliquer dans
la communauté. Regardez les exemples, lisez les
tutoriels. Il y a plein d'informations
intéressantes ici. Sonic Pi est désormais
disponible gratuitement. Il est très populaire dans l'éducation pour apprendre à coder aux
enfants. Mais cela demande
beaucoup de maintenance. Sam fait ça
gratuitement depuis des années. Donc, si vous pouvez vous le permettre, je
vous recommande vivement de faire défiler un peu le site Web
et d'utiliser patria et, ou GitHub Sponsors pour donner un peu
d'argent à Sam, tout ce que vous pouvez vous permettre
afin de poursuivre cette fantastique initiative.
4. Apprendre à connaître l'interface utilisateur de Sonic Pi.: Ok, donc une fois que vous
avez installé Sonic Pi, lancez-le et vous
devriez avoir un écran
similaire à celui-ci. Ne t'inquiète pas si ça ne
ressemble pas exactement à ça. Je vais vous montrer
comment configurer l'écran au cours de cette session. Passons donc en revue chaque
partie de l'interface utilisateur étape par étape. La partie principale de
l'écran est donc occupée par la fenêtre de code. C'est là que nous tapons le code et c'est là que
nous pouvons l'exécuter à partir de deux, en utilisant ces boutons ici
qui s'exécutent sur le bouton Stop. Donc une fois que nous avons fini
avec notre code, une fois qu'il est, une fois que le code est complet,
nous pouvons appuyer sur le bouton Exécuter. Et voici les résultats. Si le code est en cours d'exécution
pendant une longue période, nous voulons qu'il s'arrête. On peut appuyer sur le bouton stop. Si nous voulons enregistrer
la sortie du code,
soit la musique qui s'est
régénérée avec le code dans un fichier WAV. Nous pouvons appuyer sur le bouton Enregistrer ,
puis exécuter le code et
nous obtiendrons un fichier audio. Nous pouvons enregistrer et charger notre code. Désormais, par défaut, Sonic Pi
va conserver votre
code entre les sessions. Ce que je veux dire par là,
c'est que si vous tapez code dans Sonic Pi
puis que vous quittez Sonic Pi, la
prochaine fois
que vous y reviendrez , le code que vous
aviez précédemment sera là et disponible
pour vous à l'écran. Il possède donc son propre mécanisme de sauvegarde
intégré. Cependant, je ne m'
appuierais pas là-dessus si vous avez un
morceau de code dont
vous êtes particulièrement
fier ou qui est vous êtes particulièrement
fier ou qui est une pièce de
composition terminée, ou quelque chose que
vous souhaitez partager avec vos amis ou partagez avec
quelqu'un de la communauté, puis utilisez certainement,
utilisez les boutons pour enregistrer votre code afin d'en faire
une bonne copie de sauvegarde. Encore une fois,
une fois que vous avez un
code ou un morceau de code que vous souhaitez recharger dans un fichier dans lequel
vous souhaitez revenir, vous pouvez simplement le faire via le bouton de chargement.
En bas. Nous avons ces
chiffres de 0 à 9. Elles sont différentes. Vous pouvez
les considérer comme des onglets, de sorte qu'ils sont appelés
tampons
dans Sonic Pi, nous pouvons les considérer comme
des onglets séparés. Chaque fois que nous
cliquons sur le bouton Exécuter, nous allons exécuter le
code dans ce tampon. Donc, si je suis ici en ce moment, si je clique sur Exécuter et que je vais
exécuter le code dans le tampon 1. Si je clique ici,
maintenant dans le tampon six, je vais exécuter le code
qui se trouve dans le tampon six uniquement. En haut à droite, nous avons
deux commandes pour contrôler la taille de la police
dans la fenêtre de code. Et je les utiliserai plus tard pour rendre le code beau et grand afin que vous puissiez suivre
le long de manière agréable et facile. Allons-y. Jetons un œil
au reste ici alors. Le premier est la portée. Donc ceci, ce panneau en haut à
droite est la portée. Et cela est
défini par défaut comme un graphe de spectre. Vous verrez cela lorsque nous commencerons à générer du bruit
dans la leçon suivante. Mais cela peut être modifié
dans le panneau
des préférences et je vais vous montrer
comment procéder dans un instant. Cette section suivante est
probablement la flaque la plus utile et la plus
utile autre que la fenêtre de code, et
c'est le journal. Et cela va vous
montrer exactement ce qui se passe pendant l'exécution de
votre code. Et vous pouvez également afficher des éléments dans le journal pour
obtenir des informations. Cette fenêtre est donc
particulièrement importante. Le panneau des repères vous
montrera ce qui se passe réellement
dans Sonic Pi. Vous
trouverez ce panel particulièrement important lorsqu'il s'agit
de performances live. Ensuite, en bas en
bas de l'écran, nous avons le panneau d'aide. Le groupe d'experts a déployé d'
énormes efforts. Il y a
un tutoriel complet, des liens vers d'autres articles. Il existe des exemples
de programmes pour produire différents
types de musique. Il y a des
informations sur l'encens Bill, sur les
effets intégrés et les échantillons. Et il y
a des informations sur la langue elle-même
pour que vous puissiez consulter des services aide
absolument fantastiques dans Sonic Pi. Alors, s'il
vous plaît, fouillez
là-dedans pour allumer et éteindre chacun de
ces panneaux. Je peux juste aller et appuyer sur
ces boutons à bascule ici. Je peux donc, si j'appuie sur
le bouton Aide, la surbrillance est supprimée
avec le panneau de santé. Lorsque je clique à nouveau dessus, le panneau d'
aide réapparaît. Il en va de même pour les
trois autres boutons. Celui que nous n'avons pas examiné
est le panneau des préférences. Ici. Nous pouvons simplement voir tout un
tas d'éléments
de configuration différents dans Sonic Pi qui vont
rapidement les parcourir. Nous ne passerons pas en revue
tous ces éléments en détail et nous
les utiliserons tout au long du cours. Mais je vais juste
vous expliquer certaines des choses
les plus importantes sont les paramètres que vous pourriez
vouloir utiliser dès le début. Le premier d'entre eux dans l'onglet Audio
est alors le volume principal. Et cela contrôle simplement le volume de sortie de Sonic Pi. Mais il n'y a rien
d'autre ici dont tu
dois vraiment t'inquiéter pour l'instant. Dans IO, vous
pouvez voir ici que j'ai un
clavier midi connecté, et c'est vraiment la seule chose
intéressante ici pour le moment. Maintenant, si vous n'
avez pas de clavier midi, ne vous inquiétez pas du tout. Tu n'en as pas besoin pour Sonic Pi. En fait, nous
ne l'utiliserons que dans une très petite partie du cours. Mais c'est
intéressant de pouvoir
créer un son de sens, par
exemple, en midi, dans la vue Pi, puis de jouer ce sens avec
votre clavier midi ou un autre périphérique d'entrée midi. Mais nous le ferons bien plus tard, mais ne vous
inquiétez pas pour le moment. Vous voudrez peut-être
jouer un peu avec celui-ci. Il s'agit de configurer
les préférences l'éditeur de code,
pour la fenêtre de code. Et vous pouvez voir que je l'
ai réglé sur un thème
clair ici. Je pense que c'est agréable et
facile pour vous de
lire ce cours. Mais si vous préférez le
mode sombre, vous pouvez l'utiliser. Et puis il existe
d'autres types de
fenêtres différents au fur et à mesure que nous
allons voir ici. Je vais revenir au thème
de la lumière ici. Et ici, nous
pouvons activer
et désactiver les panneaux et basculer toutes les informations que nous voulons afficher
dans ces panneaux. Donc, ici, nous pouvons voir que les numéros de ligne
montraient la saisie automatique du code, onglets, les titres, les boutons, etc. Je vais laisser tous ceux
activés pour le moment, mais n'hésitez pas à aller et configurez cela pour qu'il corresponde exactement à la
façon dont vous préférez travailler. Individus, nous pouvons alors examiner les différents
types de scopes. J'ai mentionné qu'il existe différents
types de scopes ici. Par défaut, il est défini sur
le graphe du spectre, mais nous avons des
diagrammes stéréo mono en tant que scopes indépendants. Il y a des graphiques qui illustrent les relations de phase, de
toutes sortes. Je préfère laisser
le mien sur le graphique du spectre. Elles ne sont pas
basculantes, vous pouvez donc afficher
plusieurs graphiques à la fois. Mais tout au long de ce
cours, nous
le laisserons sur le graphique du spectre, mais d'autres peuvent vous être utiles. Donc, sur la droite, nous
avons le panneau de
transparence, qui contrôle
la transparence de l'
interface Sonic Pi elle-même. Maintenant, par défaut, dans 99 % des cas, vous
laisserez cet ensemble à 0. Mais comme je l'ai mentionné plus tôt, Sonic Pi est devenu
très populaire dans des domaines tels que les
algorithmes vus et les
gens font des
performances live avec Sonic Pi, mais ils seront sur
scène et projetez l'interface utilisateur de Sonic Pi sur le mur derrière eux
ou sur un écran derrière eux. Et en fait, une partie
de l'expérience, une partie de la performance
consiste à regarder
le code personnel en direct
, le code personnel en direct écouter de la musique
et à danser seul. Ce que vous pouvez faire, c'est vous pouvez régler la transparence de la fenêtre ici et
vous pouvez avoir des effets visuels
sur la vidéo ou quelque chose qui tourne en arrière-plan
avec Sonic Pi en haut avec la
transparence
légèrement abaissée pour que Sonic Pi apparaisse
en haut de la vidéo. Je suis très cool. Ici. Nous pouvons entrer et
vérifier les mises à jour. Je laisse le mien pour vérifier les
mises à jour toutes les deux semaines. Mais si vous le souhaitez, vous pouvez cliquer sur le bouton Vérifier maintenant et il vérifiera pour vous si
vous avez besoin d'une mise à jour. Enfin, dans le type de
langue, vous pouvez définir la langue de l'interface utilisateur
et du didacticiel. Comme je l'ai dit, il existe une
communauté florissante et incroyablement amicale autour de Sonic Pi. Les membres de la
communauté de ont traduit les didacticiels
et l'interface utilisateur. Donc, si l'anglais n'est pas
votre langue maternelle et que vous préférez utiliser
votre langue maternelle, vous pouvez
la sélectionner dans. Ici. Je vais cliquer sur le bouton Fermer
pour fermer cette fenêtre. Une dernière chose que je
veux vous montrer ici est juste ce panneau d'informations. Et cela va vous
montrer un petit écran de démarrage où vous pouvez obtenir toutes sortes d'
informations sur Sonic Pi. Et vous pouvez voir ici
un lien vers le site. Il y a un lien vers Twitter à suivre
pour obtenir des mises à jour
sur Sonic Pi. Je vous
encourage vivement à le faire. Vous pouvez voir ici que votre version
actuelle est, ou ma version actuelle est 4.3. Vérifiez simplement que vous utilisez
la version 4.3 ou supérieure. Si ce n'est pas le cas, rendez-vous dans le panneau des préférences et cliquez sur Mettre à jour pour obtenir
la dernière version. Ok, ça
vous donne un aperçu de l'interface utilisateur. Il est temps de
faire du bruit.
5. Permettez-vous de faire du bruit !: Alors allez dans la fenêtre de
code ici, je vais
agrandir
la police pour que vous puissiez la voir. Nous allons commencer par le
programme le plus simple que nous puissions imaginer. Donc je vais juste
taper redresse cette note Coburn et je vais taper la commande play in. La commande play est l'une des
commandes que nous pouvons utiliser pour demander à Sonic Pi de
faire du bruit pour nous. Alors allons-y
et on pourra jouer à 60. Tapez donc play 60 dans votre fenêtre de code, puis
cliquez sur le bouton Exécuter. Et nous y sommes. Sonic Pi a donc omis
un peu de bruit pour nous. Je clique donc sur le bouton
Exécuter ici pour le faire,
je vais le refaire. Mais pour vous éviter d'
avoir à utiliser le clavier
et la souris au fil du temps, vous pouvez également appuyer sur Commande R sur un Mac ou
sur Control R sur un PC Windows, et vous obtiendrez
le même résultat. Alors décomposons un peu ça
. La commande play
est donc, comme je l'ai dit, l'
une des commandes et probablement
la commande la plus utile, ou la plus utilisée
au départ pour
dire à un Pi sonique d'
omettre du bruit. Mais de quoi parlent les 60 ? Eh bien, 60 est en fait
un numéro de note midi. Donc, la façon dont
fonctionne le midi est qu'il
y a des nombres de 0 à 127, donc 128 notes midi différentes. Et chacun d'eux correspond à un nom de note et à un nom de note
normal. Nous pouvons donc voir ici que la note
midi numéro 60 est un do pour une note de do sur
la quatrième octave. Et nous pouvons regarder
ici et nous pouvons voir que les noms
de notes midi correspondent à une
fréquence car nous savons que plus la fréquence est élevée, plus
la note est élevée. Un C4 est donc 261,63 Hertz. Et puis il y en a
d'autres ici. Nous pouvons donc monter et descendre. Chaque incrément ou décrémentation
d'un est un demi-ton. Donc de 60 à 61 nous amène
d'un do à un do dièse. De 61 à 62 textes
était deux et 263
nous emmène à travers D-Sharp qui
correspond de haut en bas. Maintenant, j'ai inclus un caractère de note midi
complet dans
les ressources du cours. Mais pour l'instant, il est juste
important de savoir que nous pouvons utiliser un
numéro de note midi ou un nom de note midi. Et pour le moment, nous
utilisons la note midi numéro 60. Donc, lorsque nous exécutons notre
code, jouons un do dans la
quatrième octave. Donc c'est génial et c' notre premier morceau de son
sorti de Sonic Pi, mais il ne va pas
devenir numéro un. Ajoutons donc un peu plus de code. Donc pour ajouter une autre ligne de
code, il suffit d'appuyer sur return. Et je vais y aller. Permettez-moi de l'agrandir un
peu plus pour vous. Allons-y. Donc pour
ajouter quelques notes supplémentaires, je peux simplement ajouter quelques commandes de lecture
supplémentaires. Tapons donc une pièce 64. Ajoutons une pièce 67. Appuyons sur Run ou
Command R. Nous y sommes, donc il y a trois notes
jouées en même temps. Donc c'est a, C et E et un G. Si nous regardons les notes midi, c'est un do
et l'énergie E était de 606467, ce qui nous donne
une triade en do majeur. Maintenant, toutes ces notes
sont jouées en même temps. Donc, ce que nous
produisons ici en tant qu'accord, si je veux jouer ces
notes dans l'ordre croissant, je dois dire à Sonic Pi laisser un peu de temps. Je vais laisser une pause
entre ces notes. Et je peux le faire en utilisant
notre commande suivante, qui est la commande sleep. Maintenant, entre
chaque nœud, je
vais en ajouter un en veille. C'est dire
à Sonic Pi de dormir un instant. Ok, donc tous les temps
dans Sonic Pi ou dans les beats. Par défaut, le nombre de
battements par minute ou le BPM pour un programme sonique
Pi est de 60. Donc 60 battements par minute. Soit 60 battements par minute. Si nous dormons pendant un temps, nous allons
dormir pendant 1 seconde. Ajoutons donc un autre sommeil ici. Encore une fois pour un temps de plus, encore un peu.
Et jouons-y. Et nous y sommes. Il y a notre triade majeure de 33
notes, mais cette fois arpégée, jouant une note après l'autre plutôt que sur une seule corde. Je peux donc mettre ce que je
veux en termes de paire de couchages. Je pourrais donc les changer
pour dormir pour deux. Et ça va
dormir pendant deux temps. Ou je pourrais aussi dormir une fraction
de seconde. Je peux donc dormir un demi-battement ou une demi-seconde parce que nous sommes à 60
battements par minute. Et je vais vous montrer comment
changer les battements par minute un peu plus tard. Nous y sommes.
6. Utiliser les noms de notes MIDI: En plus d'utiliser les nombres
midi ici, nous pouvons également utiliser
les noms des notes midi. Nous pouvons donc avoir exactement
la même chose ici, mais nous pouvons utiliser les
noms de note IEEE C4, E4 et G4. Alors allons-y, essayons ça. Donc, si je veux utiliser un nom de
note, je dois utiliser un préfixe avec deux points. Donc j'ai simplement frappé ici
le deux-points C quatre. Je peux utiliser un mix, donc je n'ai pas à
choisir l'un ou l'autre. Je pourrais utiliser C4 ici et 6467. Cela fonctionnera parfaitement, exactement comme c'était le cas auparavant. Je préfère parfois utiliser les noms des notes lorsque je sais
ce qu'ils vont être. Mais les numéros de notes peuvent être
très utiles lorsque nous effectuerons plus de travail
algorithmique par la suite. Ne t'inquiète pas
pour ça pour l'instant, c'est un gros mot, mais pas de quoi s'inquiéter. Mais vous verrez que les notes
midi peuvent l'être, les chiffres peuvent être utiles plus tard. Changeons ça en C4. Désolé, ça devrait être un A4, G4. Et encore une fois, ça va nous
donner la triade majeure ou do majeur. Mais que se passe-t-il si je veux
utiliser des objets tranchants et bémols ? Alors que c'est assez facile à faire. Donc, si je veux utiliser une
planéité,
aplatir la troisième ici et
cette triade et en faire un accord mineur, un arpège mineur. Je l'utilise juste en utilisant
le b minuscule. Permettez-moi également de changer
ce E en mi bémol. Je peux également utiliser a, un S pour désigner un dièse. Donc si je voulais dire au
lieu de mi bémol, je voulais dire
ré dièse, mêmes notes, mais je pourrais le faire ici, donc je pourrais juste utiliser un ré et nous utilisons le S minuscule pour dièse sur l'octave numéro quatre, où nous devons changer d'octave. Et si je veux
descendre d'une octave, je pourrais, je pourrais simplement changer
le nombre optimal ici. Et cela jouera
une octave plus bas. Encore une fois. Comme vous pouvez le voir, cela n'a vraiment pas d'
importance quel que soit l'ordre dans lequel je planifie. Donc si je voulais faire une
inversion, par exemple, peut-être que je jouerais le sol en premier. Déplaçons ça là-haut. Cette fois, je vais devoir m'
endormir ici. 2,5e. On peut déplacer celui-ci de la fin. Et nous y sommes. Alors jouez là-dedans et produisez
quelques petits morceaux de
musique
en quelques petits morceaux de utilisant simplement les noms des notes
midi, vous souvenant que nous utilisons un b
minuscule pour un bémol, un s minuscule pour un dièse, ou vous pouvez utiliser les numéros de
note midi. Amusez-vous, créez
vous-même une petite mélodie. J'utiliserais le sommeil pour occuper du reste entre les
notes que vous voulez.
7. Commentaires sur le code: Nous allons donc revenir en arrière. Nous remettrons le sommeil ici et jouerons ce G3 à la fin. Passants. Encore une fois. Laissons ça. Voilà notre
triade en do mineur, notre arpège en ut mineur. Nous voudrions peut-être simplement nous
souvenir de ce que nous avons appelé cela. allons donc monter ici et nous
pouvons utiliser la commande de hachage ou le signe dièse ou le signe
dièse selon que vous venez de quel côté de l'
Atlantique vous venez. Nous pouvons utiliser le signe dièse pour
dire que ce sera un commentaire dans notre code et ajouter un commentaire est juste un bout
de texte juste pour nous. Il n'est donc pas du tout exécuté
par Sonic Pi. Et nous pouvons taper ce que
nous voulons ici. On peut donc dire qu'
il s'agit d'un arpège en do mineur. Comme je l'ai dit, ce
code ne
sera pas exécuté par Sonic Pi, mais ce ne sont que des notes que nous pouvons mettre dans le
code pour nous-mêmes. ce que nous appelons un commentaire de code. Encore une fois, si je lance ceci, il est complètement ignoré
par le Sonic Pie, mais nous permet de
mettre des commentaires. Une des choses
que font couramment les programmeurs est
d' utiliser des commentaires juste pour dire à un Pi sonique
d'ignorer un bout de code pour le moment. Donc si je voulais
expérimenter ça et dire, accord, que se passera-t-il
si je retire ce sommeil ? Plutôt que de le supprimer
et ensuite si je ne l'aime pas, j'ai dû le taper à nouveau plus tard. Je peux simplement mettre un signe
dièse ou dièse
au début et le relancer. Et cette fois, il va
ignorer ce sommeil. On peut voir qu'il joue
un ré dièse et un sol en même temps. Encore une fois, si cela ne me plaît pas, je vais simplement
supprimer ce commentaire. Je vais voir comment nous avons commencé. Maintenant, il y a une
touche de raccourci dans Sonic Pi, un peu comme la commande R ou le
contrôle R pour exécuter le code, il y avait une touche de raccourci, si je veux commenter quelque chose. Et c'est une
bonne chose à retenir pour les performances
live, c'est que vous voulez activer et désactiver des bits de code. Et je peux appuyer sur la touche Commande
et la touche barre oblique, et cela ajoutera ce petit
symbole au premier plan. Maintenant, ça a l'air un
peu différent, mais ça fonctionne exactement de la même façon. Deux hachages et un côté tuyau. Cela vient de mettre en commentaire
un peu du code. Donc, où que je sois
sur une, sur une ligne de code, je peux simplement appuyer sur Commande ou
Contrôle et barre oblique. Il commentera
cette ligne de code. Et puis quand je l'ai renvoyé
au court parce que
les couchages ont été supprimés. Si je veux supprimer à nouveau ce commentaire de
code, je pourrais simplement revenir
n'importe où sur cette ligne et appuyer sur commande
et barre oblique à nouveau, ou sur Contrôle et barre oblique, et cela supprimera
ce code commentaire. Ensuite, nous revenons
à notre arpège.
9. Options de jeu: Ainsi, en plus d'utiliser le code pour définir la hauteur de la
note que nous voulons jouer, nous pouvons également ajouter un
certain nombre d'options. Et vous les verrez
dans les options de Sonic Pi qui
nous permettent de personnaliser les sons
produits. Nous allons donc
commencer par deux commandes simples
que nous pouvons ajouter
aux commandes de lecture. Alors
créons-le vers le bas. Et ajoutons simplement un
Play simple, 60. Ok, donc ça va jouer
au volume par défaut pour Sonic Pi. Mais une partie de la musique est la
dynamique de la musique et la dynamique de
la musique implique le volume auquel les
notes sont jouées. Donc, si nous voulons changer, nous pouvons y ajouter une option. Pour Sonic Pi, c'est
ce qu'on appelle l'option
d'amplitude. Ajoutons simplement ceci. Donc, si je frappe une virgule
et une fois que je frappe une virgule après les
années soixante, cela me permet d'
ajouter un certain nombre d'options
différentes. L'option d'amplitude ou l'option de volume s'appelle
simplement AMP. Et vous pouvez
le voir ici,
dans la fenêtre de saisie automatique du code. Alors Sonic Pi est,
encore une fois, essayez de nous aider. Alors, qu'est-ce qui est utilisé ? Les amplitudes. Nous allons donc dire AMP
, puis deux-points. Maintenant, nous allons
régler l'amplitude. L'amplitude et le Sonic Pi
sont définis par un nombre, donc 0 ne correspond à aucun volume. L'un est le volume de sortie normal
par défaut, mais nous pouvons également monter à partir de là. Donc, par exemple, si je
règle l'opportunité à 0, 5 et
que j'appuie sur play, cela vient d'être sorti à la
moitié du volume normal. Il est très difficile d'
entendre cette différence ici. Ajoutons donc un peu plus de
code pour le démontrer. Commençons donc par
une pièce à 60 ans. Il s'agira de
l'amplitude par défaut. Je vais dormir pendant deux temps. Ensuite, nous jouerons
celui-ci à moitié volume. Et tu devrais pouvoir
entendre la différence. D'accord, vous pouvez entendre que la deuxième note était
certainement plus calme. Ajoutons un autre sommeil. Et encore une fois, nous jouerons à 60, mais cette fois nous jouerons
au double du volume normal. Nous pouvons définir cela comme une
opportunité pour une région. Très simple à régler. Il est important de se rappeler
que les options que nous
définissons ici concernent uniquement la
note que nous jouons. Ils ne concernent donc
que cette note. Donc si je vais juste faire une autre, une autre ligne ici, je jouerai juste 60 hors plan
sans aucune option. Nous pouvons donc entendre cette ligne sept jouée uniquement avec l'amplitude
par défaut de un, ce qui
équivaut exactement à taper ça. Mais le, le, les
réglages que nous faisons, les options que nous mettons ici, l'
option d'amplitude dans ce cas ne concerne que cette note
qui est jouée. Elle ne définit pas l'amplitude pour tous les futurs
nœuds, par exemple. En plus de l'amplitude,
nous avons pan. C'est donc la deuxième option
simple que nous
allons examiner maintenant. Et le panoramique consiste simplement à définir l'endroit où le son
va apparaître dans
le champ stéréo. Êtes-vous de gauche à
droite, souvent appelé équilibre. Refaisons-le, mais commençons par
là. Nous pouvons donc le dire encore
une fois, un play 60 par défaut va
l'envoyer en plein milieu. Vous aurez donc une quantité
égale de cette note dans les enceintes gauche et droite ou dans les écouteurs gauche et droit. Donc si je fais un autre
sommeil pour deux, cette fois, je vais
utiliser l'option panoramique. J'appuie sur une virgule et
je dis « Pan deux-points ». Maintenant, faites un panoramique. Sonic Pi est défini par une
valeur comprise entre moins 11. Donc moins un va nous donner un
pan tout le long vers la gauche. Un livre nous a donné une
vue panoramique sur la droite. Un 0 va palette directement
au milieu, mais j'ai même un volume égal dans
le haut-parleur gauche et droit. Et il n'est pas
nécessaire que ces valeurs soient moins un ou un. Ils peuvent être n'importe quelle valeur
comprise entre moins 11. Donc, si je le veux à mi-chemin
dans le haut-parleur gauche, je peux régler
le panoramique sur moins
0,5, par exemple. Juste pour le démontrer, faisons un panoramique vers la gauche et vers la droite. Nous allons donc d'abord
annuler la gauche. Nous irons tout droit au
centre, mais nous
tournerons vers la gauche, nous dormirons à nouveau. Et nous allons faire tout
le chemin vers la droite. Nous sommes assez simples
et vous pouvez en fait, si vous regardez la lunette et le coin supérieur droit
ici, vous le verrez. Vous pourrez le voir
reflété dans la lunette même si vous
ne portez pas d'écouteurs. Donc, tout ce qui se trouve
au-dessus de la ligne est le haut-parleur gauche et ce qui dessous de la ligne dans le graphique
est le haut-parleur droit. Je peux les combiner. Donc je pourrais, je pourrais ensuite
faire une autre couleur et dire, je veux également régler l'
amplitude. Cool. En tapant des excuses. Je peux donc régler l'amplitude
de celui-ci à la moitié. Comme je l'ai dit, l'amplitude de celui-ci est deux fois.
Essayons ça. Nous pouvons entendre, ou peut-être avez-vous entendu un peu
de distorsion. Je l'ai certainement fait. Avec celui-ci. Vous devez juste être
un peu prudent avec l'amplitude
car lorsque vous passez à des
volumes plus élevés, vous
allez obtenir une certaine distorsion et recadrage n'a généralement pas
tendance à dépasser 1,52. Seulement en de rares occasions
où vous le
souhaitez vraiment dans le cadre
de la composition. Bon, c'est tout
pour quatre options. Dans la vidéo suivante, nous
allons parler très rapidement des battements par minute.
10. Régler le tempo: D'accord, nous
avons ici un peu de code que vous devriez bien
comprendre maintenant. Il suffit de le lire et s'
assurer que vous le
comprenez bien. Mais très vite, nous allons jouer une note à la note midi 60. On va s'endormir pendant un moment. Ensuite, nous allons jouer
une autre note à 60. Nous allons nous endormir pendant
un temps, puis nous allons
jouer la note finale, la
note numéro 60. Maintenant, comme je l'ai mentionné
brièvement plus tôt, quand, quand je règle n'importe quel type
de durée et il options relatives au
temps dans Sonic Pi, il est mesuré en battements. Maintenant, pour que cela reste simple et
agréable. Donc dormir ici, par exemple, c'
est qu'il va dormir pendant un battement entre ces nœuds. Maintenant, pour que cela
reste simple
et pour rendre les
mathématiques agréables et faciles. Par défaut, tout ce
que nous jouons dans Sonic Pi est réglé sur
60 battements par minute. Et cela est fait juste pour rendre les mathématiques agréables et faciles
afin que je puisse
regarder celui du sommeil et que je puisse
penser que c'est
soit une seconde,
soit un battement, parce que 60 battements par
minute, c'est pareil chose. Cependant, peu de musique a produit
60 battements par minute. Nous avons donc besoin d'un moyen
de ne pas contrôler les
battements par minute. Et je
vais juste vous montrer comment procéder très brièvement. Tout ce que j'ai à faire c'est d'aller
au sommet du programme ici. Je vais simplement utiliser
cette commande simple. Je vais donc dire
utiliser le soulignement BPM. Oh, mettez cent dix, cent dix battements par minute. Maintenant, quand je le joue, il
va beaucoup plus vite, il fait 110 battements par minute. Si je commente simplement cela
en utilisant Commande ou Contrôle et une barre oblique ou en ajoutant un signe dièse ou un
signe dièse au début. Et relancez ça. Nous voilà revenus à
60 battements par minute. Si je supprime ce commentaire. Nous y sommes. C'est ainsi que nous
pouvons régler les battements par minute au
sein de nos programmes.
11. Synthés: Ok, donc c'est
génial. Nous pouvons produire une musique en
utilisant du code et nous
pouvons nous reposer entre les notes ou nous pouvons jouer toutes les
notes ensemble comme un accord. Vous pouvez régler l'amplitude,
nous pouvons régler le panoramique. Mais les sons qui produisent ne
sont pas très intéressants
pour votre public
dès que nous pouvons nous ennuyer
beaucoup ou ce bip sonore sortant de Sonic Pi. Heureusement, Sonic Pi
a intégré plus de 0,40$. Il y a maintenant une liste à
l'écran. Nous allons examiner certains
d'entre eux maintenant. Et il y a vraiment du
bon sens ici. Revenons donc à
Sonic Pi. Et nous pouvons voir ici que nous n'
avons qu'une triade en do majeur. Et utiliser l'un des capteurs est vraiment très simple. Alors ce que je vais faire,
je vais monter ici. C'est très similaire à la façon dont nous avons dit utiliser BPM auparavant pour
utiliser des battements par minute. Nous pouvons dire utiliser un synthé. Nous pouvons donc dire utiliser un trait de soulignement. Synthé, appuyez sur la barre d'espace,
nous touchons les deux-points, puis nous tapons le
nom du synthé que nous voulons. Donc juste pour celui-ci, nous allons utiliser la source de
soulignement technique. Vous pouvez voir que l'aide à l'écran
s'affiche pour nous demander. Et quand j'appuierai sur Exécuter maintenant, vous entendrez qu'il
va jouer une triade en
ré, do majeur en utilisant
les textes. Génial ! Beaucoup plus
intéressé par le son. Maintenant, je pourrais utiliser n'importe
quel symptôme ici. Donc tout ce que j'ai à faire c'est appuyer sur le codon et d'en
taper un autre. Donc pour trois ou trois, par
exemple, je pourrais
dire TB trois ou trois. Et il y a plein
de bonnes choses depuis ici. Nous avons donc réalisé un profit pour les années 1800. Et comme je l'ai dit, il
y en a beaucoup car ici maintenant, comme je l'ai
mentionné plus tôt, la section d'aide de Sonic
Pi est absolument fantastique. Inclus ici pour vous. Si vous descendez en bas à
gauche, vous verrez ce petit
onglet appelé sens. Encore une fois, si la section d'
aide n'est pas encore ouverte, montez en haut et utilisez ce bouton pour l'
activer ou la désactiver. Et puis ici, nous
avons l'impression qu'il y a une liste complète de tous
les sens ici. Jetons donc un coup d'œil à Blade. Donc je peux juste aller ici. J'ai juste besoin de taper le nom. Plus lourd. Nous pouvons simplement le copier et
le coller ici. Vous pouvez donc voir qu'il y a
toute une liste de synchronisation ici, qui est exactement la même
que celle que je viens de
vous montrer sur la diapositive précédente. Allez-y. Vous avez votre petit morceau de musique avec lequel vous jouiez,
avec la pièce. Montez, allez-y
et
jouez avec le sens et voyez quels sons intéressants
s'y trouvent.
12. Appliquer des filtres de synthés: Ok, donc une des choses
auxquelles nous pensons
quand nous pensons, puisque nous pensons aux filtres. Et il y a des filtres
intégrés dans le sens de Sonic Pi. Donc, l'une des choses courantes à faire avec un filtre
de synthé est la coupure. Et nous les définissons en utilisant les options de la
même manière que nous avons défini l'amplitude et le panoramique précédemment. Commençons donc à partir
d'une table rase. Nous allons donc
utiliser les sources technologiques. Utilisez donc des underscores synth,
codon, tech source. Ensuite, nous allons jouer,
je jouerai un E trois. Donc un mi sur la troisième octave.
Ça ressemble à ça. Si je devais régler la
coupure du filtre, alors je mettrais simplement une virgule, j'ai appris à couper deux points, puis je mettrai
la coupure à 70. Et voilà à quoi
ça ressemble. Ok, c'est donc régler
le coût du filtre. Vous pouvez entendre cela, c'est vraiment ajuster la façon dont
cette note sonne. Alors, ajoutons un autre, un
autre E3 ici afin que vous puissiez faire la
différence de mettre en sommeil. Cela va
jouer l'E3 sans que la coupure du filtre
ne soit définie. Et le, puis l'
E3 avec une coupure. Nous y sommes. Et encore une fois, sur
le côté droit, vous pouvez voir dans la fenêtre du journal ce qui s'est passé
exactement ici. Nous avons joué à Tech Soars avec la note à 52, ce qui est un E3. Ensuite, nous avons joué les
ordres des textes avec une note à 52, avec une coupure à 70. Et vous pouvez voir que
le temps que nous payons, cette fois dans les logs ici, c'est quand le son
a été joué ou quand l'action s'est produite par rapport
au moment où nous appuyons sur le
bouton Exécuter, le début de la pièce. Donc tout de suite au temps 0 vaut 0. Nous avons joué 52, puis
deux secondes plus tard, nous avons rejoué les textiles,
encore une fois à 50 contre 70. Ainsi, cette partie de la loi
peut également être vraiment utile pour voir ce qui s'est passé, dans quel ordre
et quand cela s'est produit. Et encore une fois, il est très
simple de
comprendre qu' avec un
simple morceau de code dont le code
devient plus complexe, vous trouverez le
journal de plus en plus utile. Nous avons
parlé des synthétiseurs et des concepts
des
synthétiseurs tels que les filtres, et ils appliquent des filtres. Et dans une seconde, nous allons nous
intéresser à la résonance. Si ces concepts
sont nouveaux pour vous, je vous recommande vivement de
consulter mon autre cours qui contient guide
complet de
synthèse et de conception sonore pour débutants. Ce cours vous
fera découvrir ces concepts et
beaucoup plus de détails. Mais pour l'instant, passons à autre
chose et regardons la
résonance. Très brièvement. Une résonance, c'est juste donner un petit coup d'œil dans le filtre
juste avant la coupure. Nous définissons les résidents
en utilisant simplement une autre option. Comme je l'ai dit, nous pouvons simplement
ajouter nos options en
mettant une
virgule après l'option actuelle. Refaisons la même chose afin de nous
assurer que nous pouvons entendre
les différences. Faisons donc un E3. Nous allons définir le seuil de la même manière. Donc pour définir les
résidents, je viens d'ajouter une autre option. Alors j'ai appuyé sur une virgule. Et je vais régler
la résonance en utilisant l'option raise,
RES, appuyez sur le deux-points. résonances sont maintenant définies
comme une valeur comprise entre 0,1. Tu ne peux pas en définir un. Donc un. Les résidents peuvent être
inférieurs à un et supérieurs à 0. Donc dans ce cas, les textos ou envoyés, si je regarde en bas
dans la section d'aide, je regarde le capteur comme une source technique et je
clique sur la résonance. Je peux voir que par défaut
la résonance est réglée sur 0.7 pour ce synthétiseur, qu'elle peut être différente
pour différents synthétiseurs. Il suffit de changer ça. Définissons ce paramètre sur
null 0.9 pour cela. Et vous entendrez une différence
subtile dans le filtre de
ce synthétiseur. Nous y sommes. C'est ainsi que
vous pouvez régler la coupure du filtre et la résonance pour que les
synthétiseurs puissent jouer. Ces effets
seront radicalement différents selon les
types et les tailles. Alors changez cela ici, jouez, jouez avec différents types
de synthétiseurs et changez ces valeurs de coupure et de
résonance ici. Et pour vraiment
expérimenter ces fonctionnalités. Dans la section suivante,
nous allons examiner une autre
partie populaire de la synthèse, savoir les enveloppes.
13. enveloppes: Avant de
plonger dans le code, voyons
ce que sont les enveloppes. Nous allons maintenant passer en revue une
brève introduction ici, mais encore une fois, si vous voulez
plus d'informations, veuillez consulter
mon
guide complet du cours de synthèse et de conception
sonore pour débutants . Une enveloppe est
simplement une façon de décrire l'amplitude ou le volume
d'un son au fil du temps. Juste pour le trouver. Où le
trouver sur ce graphique ici. Sur ce graphique, nous
avons l'axe des ordonnées, qui est l'amplitude ou le volume. Sur l'axe des abscisses se trouve alors l'heure. La première partie de l'
enveloppe est le A pour attaque. Et souvent vous ferez référence,
vous êtes ici le terme ADSR. Ce n'est qu'une autre
façon de nommer et d'envelopper. Donc, si les gens
parlent d'ADSR, ils
parlent d'une enveloppe. Il existe différents
types d'enveloppes, mais l'ADSR est le plus courant. Donc a représente l'attaque, et c'est
simplement le temps qu'il faut pour passer de l'amplitude 0 à
l'amplitude maximale. Quand nous, quand nous déclenchons une note. D représente alors la désintégration. Et voici combien de temps il
faut pour passer de l'amplitude maximale
à la fin de la phase d'attaque au niveau auquel nous voulons maintenir
la note qui est le S et le S. Le sustain est réglé en termes de volume ou d'amplitude plutôt qu'
en termes de temps. Le release est le
temps qu'il faut pour descendre de ce niveau de sustain, revenir à l'amplitude 0
à la fin de la note, une note est relâchée. Ainsi, un DNR est déterminé
par une période de temps. Et S, le maintien est déterminé
comme une amplitude ou est déclaré comme une amplitude
ou un volume plutôt que une
période de temps dans Sonic Pi. Ensuite, nous avons également
trois autres éléments, qui sont le
niveau d'attaque, le niveau de déclin et le niveau de maintien, et
ce sont également des volumes. Passons donc
au code et voyons comment nous pouvons l'utiliser
pour affecter notre son. Bon, nous voici de
retour et Sonic Pi. Jetons un coup d'œil aux enveloppes
ADSR et à la façon dont nous
pouvons les configurer
dans Sonic Pi. Commençons donc par
une simple commande de lecture et nous allons simplement jouer un C4. Bon, donc pour définir l' enveloppe ou
configurer l'enveloppe, définissez les paramètres
de l'enveloppe. Nous ajoutons simplement des options sur la
même chose que nous l'avons fait avec Pam, les seuils de
niveau,
les résonances, etc. Donc exactement pareil. Encore une fois, c'est simple et agréable. Il a vraiment été très
bien conçu pour être très standard. Donc, vous pouvez faire un peu de
hacky et suivre le même schéma pour
quatre options différentes. Encore une fois, nous avons frappé
la virgule. Ici. Nous allons définir différentes
parties des enveloppes. Nous commençons par la publication. Je pense donc que c'est le
plus facile d'ici. Il va donc définir le codon
release, release. C'est une force qui va être
de deux pour quatre temps. Encore une fois, comme nous sommes sur
un BPM de 60 par défaut, cela signifie que nous allons
libérer plus de quatre secondes. Alors jouons ça. Vous pouvez donc entendre qu'il a fallu
quatre secondes pour passer de l'amplitude
soutenue à une amplitude de 0. Je le répète. Nous pouvons définir les paramètres de l'enveloppe ADSR de la même manière. Nous pouvons donc
vouloir lancer une attaque. Donc on peut juste y aller. Nous pouvons ajouter une autre virgule. Et nous dirons que cette fois, nous
allons lancer l'attaque. Je vais régler l'attaque à 2,5ème sur notre enveloppe ADSR. Ensuite, il a fallu 2,5 pour passer de l'amplitude
0 à l'amplitude
maximale. Ensuite, il relâche plus de
quatre secondes ou quatre temps. Mais comme je l'ai dit, nous
avons la décroissance, le
maintien et la libération d'attaque que nous pouvons tous définir. Nous pouvons également définir
le niveau d'attaque, le niveau de déclin et
le niveau de maintien. Et juste pour vous rappeler que l'attaque est le temps mis pour passer de l'amplitude 0
au niveau d'attaque. La décroissance est le temps nécessaire pour passer du niveau d'attaque
au niveau de décroissance. Le maintien est le temps nécessaire pour passer du niveau de déclin
au niveau de maintien. Et le relâche le temps nécessaire pour passer du niveau de
maintien à 0. Configurons donc nos notes
avec toutes ces options. Restons donc à
l'attaque de 0,5, mais nous allons
dire que notre niveau
d'attaque sera de un. Alors, qu'est-ce qui va régler ça ?
Donc nous pouvons voir à nouveau, je pourrais simplement utiliser
les touches fléchées pour monter et descendre dans cette fenêtre de complétion de
code ici. Et puis quand j'ai reçu l'un, je veux juste appuyer sur Entrée et
il le mettra pour moi. Nous allons régler le
niveau d'attaque à un. Nous allons régler cela sur k.
Nous allons donc définir la
décroissance sur un également. Nous allons régler le niveau de décroissance. Nous fixerons ce paramètre à 0,7. Nous allons définir le développement durable. Je vais le définir sur 0.4. Nous fixerons le
niveau soutenu à deux. Cela
m'a en fait amené à un bon point. Donc ça n'a vraiment pas d'importance dans Sonic Pi où ça
ignore le retour chariot. Donc si j'arrive à une ligne ici, et parce que ma police est très grande, si elle fait
glisser sa diapositive ici, c'est peu marquer hors de l'écran. Je peux faire défiler vers la gauche et la
droite, mais en fait, il est probablement plus facile
d'appuyer sur Retour. Et vous le verrez là,
mettez-le sur une nouvelle ligne. C'est parfaitement bien. Si vous voulez simplement organiser
votre code de cette façon, il ignorera les
retours chariot ou la touche Entrée. Donc là, j'
ai une virgule
manquante pour le maintien. Alors lançons ça. Nous avons donc pris un son
qui, juste pour le démontrer, je vais ajouter un autre pour jouer le
même son ici de manière à un C4 et dormir pour deux. Donc, cela va jouer
le son par défaut
qui va se mettre en veille pendant deux temps. Ensuite, il va
jouer celui-ci avec l'enveloppe que nous avons
configurée comme nous le voulons. Vous pouvez donc vraiment
entendre la différence. Et encore une fois, je peux
combiner cela avec d'autres choses que nous avons
apprises avec Sonic Pi. Je vais donc utiliser un
synthétiseur pour cela. Alors, utilisons,
utilisons bénéfices du synthé. Nous y sommes donc. C'est, ce sont des enveloppes dans Sonic Pi, belles et faciles à faire. Encore une fois, nous l'ajoutons simplement en tant qu'options supplémentaires
après notre commande de lecture. La chose à faire maintenant est d'
expérimenter avec
différents sens mais aussi avec différentes enveloppes et de voir quel gène
sonore intéressant apparaît. Essayez de choisir des sons
percussifs avec une attaque très courte
et un relâchement plus court, ce qui vous donnera des sons beaucoup
plus percussifs. J'essaierais des sons vraiment semblables à des
pads en
réglant l'attaque et le
relâchement pour qu'ils soient très longs. Alors jouez avec
les paramètres à l'intérieur. Ne t'inquiète pas, tu ne
peux rien casser. Et je devrais juste vous montrer
les commandes d'erreur. Donc, si par exemple, je mets la leçon quelque chose qui va me
donner une erreur infaillible. Donc si je prends le
niveau d'attaque deux moins un, donc il a essayé de jouer, mais il a obtenu
le sien jusqu' au niveau d'attaque et
puis nous avons frappé une erreur. Je peux donc voir ici
que la valeur du niveau d' attaque d'option doit être 0 ou plus et qu'il
a obtenu un moins un. Donc c'est vraiment très utile,
Eric commande à l'intérieur, à l'
intérieur de Sonic Pi. Si vous obtenez
ce type de lignes roses ou ces
messages d'erreur affichés, vous pouvez approfondir
beaucoup plus en détail ici. Mais en général, si
vous lisez ces messages, ce genre de gros
messages d'erreur en gras
qui apparaissent, cela vous donnera une
très bonne indication quant à l'endroit exact où l'erreur s'est produite dans votre
code. Et comme je l'ai déjà dit, c'est un environnement
vraiment agréable et sûr. Vous ne pouvez pas endommager votre ordinateur ni aucun
autre programme en cours d'exécution. Vraiment. N'hésitez pas à expérimenter dans
Sonic Pi. Essaie des trucs. Si cela ne fonctionne pas,
cela vous donnera un joli message d'erreur lisible qui vous orientera dans
la bonne direction.
14. Jouer des échantillons: Bon, nous avons examiné
la commande de lecture par défaut, qui émet ce bip sonore. Nous avons examiné la
possibilité de modifier
ce son à la fois avec la
possibilité d'utiliser un synthétiseur
intégré différent dans
Sonic Pi et la possibilité modifier diverses options telles que le volume ou l'
amplitude, le poêle. Appliquez des filtres et
coupez avec des coupures et des résonances et pouvez
ajuster les enveloppes. J'espère que vous avez
eu la chance de jouer vraiment
bien avec eux et vraiment comprendre comment tout
cela fonctionne. Mais il existe une autre façon de
jouer du son dans Sonic Pi, à savoir
l'utilisation d'échantillons. Il existe maintenant un certain nombre d' exemples
intégrés
dans Sonic Pi, et vous pouvez les voir tous
dans la section d'aide ici. Si vous cliquez sur cet
onglet pour voir des exemples, vous obtiendrez une liste
de catégories d'échantillons. Ensuite, vous pouvez y accéder et jouer les différents échantillons. Comme je l'ai dit, la section
d'aide de Sonic Pi est
absolument fantastique. Si vous passez par
ici, vous verrez tous les différents exemples
que vous pouvez utiliser. Et en fait, si je
vais juste en choisir un ici, si vous choisissez cette
petite flèche à côté,
c' est en fait un bouton de lecture. Vous pouvez donc auditionner les échantillons dans
la section Santé. Donc, si je joue à côté de
ce petit boom, par
exemple, appuie
sur le bouton Lecture. Il y a de nombreux autres samples de haute qualité
intégrés dans Sonic Pi. Maintenant, pour les utiliser, j'
utilise simplement les exemples de mots clés, donc je tape simplement
le mot exemple. Ensuite, j'appuie sur les deux points et sur le nom de l'échantillon
que je veux utiliser. Il y en a une
qui est une guitare, qui est une neuvième en mi mineur. Donc, si c'est l'exemple, je vais l'utiliser
et, comme ça, appuyer sur Exécuter. Encore une fois, je peux appliquer
les mêmes options que celles que j'ai faites à la peste de n. Donc si je vais à la fin ici
et que je peux régler l'amplitude, par
exemple, c'est
0,5 et nous allons faire un panneau tout
le long vers la gauche, ce qui est encore une fois une casserole moins un. Et joue ça. Nous avons donc entendu un pan d'
échantillon d'un demi-volume jusqu'à l'oreille gauche. Il y a beaucoup
d'échantillons intégrés et
je vous encourage à
fouiller ici. Donc, si nous descendons et que nous regardons certains de
ces sons en boucle, par
exemple, nous pouvons voir
l'Amen se briser ici. Donc, si j'ai
auditionné un extrait, si je veux le lire dans mon code
ou l'utiliser dans mon code, je peux soit aller le taper, soit aller le copier
avec Command C, Control C. Ou je peux copier avec Command C, Control C. Ou je peux
faites un clic droit et copiez. Et je peux juste prendre ça
et le coller ici. Cela va donc
lire un échantillon à la vitesse à laquelle il
a été enregistré. Mais je peux
modifier à nouveau le taux d' échantillons
avec une autre option. J'ai dit que cette option en utilisant à
nouveau une virgule à la fin, je peux régler le taux, qui est la vitesse
de l'échantillon. Maintenant, par défaut, tous les échantillons joués avec
une cadence de un,
c'est-à-dire le rythme ou la vitesse à
laquelle ils ont été enregistrés. Mais je peux régler ça pour qu'il
joue à la moitié de la vitesse. Donc 0,5. Je pourrais le faire jouer à deux fois
la vitesse ou la vitesse de deux. Je pourrais jouer à 1,5. Ou m'intéresse si je
prends un nombre négatif, si je joue un taux de moins
un, c'est ce qui se passe. Je joue dans le sample en sens inverse. Replaçons-le
à un taux de un. Si vous voulez jouer à
un rythme d'un, vous pouvez simplement supprimer cette option. Je vais le laisser là pour l'instant. Mais tout
ce qui concerne tout par défaut joue plutôt
au rythme d'un. Mais je peux également utiliser un échantillon
externe. Il y a donc de
nombreux échantillons
intégrés dans Sonic Pi. J'ai définitivement passé cinq
minutes à
jouer à l'intérieur. Beaucoup de sons
vraiment très utiles. Donc je ne sais pas. Nous avons le, l'
atterrissage sur la lune, un son ambiant. Il y avait beaucoup
de samples de batterie intégrés. Par exemple. Il y a d'autres samples et voici des sons de basse. Des sons glitchy, des caisses claires. Il y a, encore une fois, de nombreuses boucles et un tas de sons
vinyles pour ajouter
une musique filtre lo-fi. Il y en a plein dedans
, donc je vous
encourage vivement à
passer cinq minutes maintenant à mettre cette vidéo en pause fouiller dans les
samples, à en auditionner
quelques-uns et à jouer avec eux. et jouez avec le rythme et voyez à quoi
ils ressemblent,
inversés, accélérés ou ralentis. Maintenant, il y a les échantillons intégrés, mais en fait nous pouvons utiliser des échantillons que nous avons nous-mêmes
enregistrés,
il suffit de les charger,
de les charger depuis notre disque dur. Allons-y donc. Et pour ce faire, nous
indiquons simplement un chemin. Ce sera donc
légèrement différent sur Windows sur un Mac, je suis sur un Mac. Donc pour le faire,
il me
suffit d'appuyer sur sample. Et puis entre guillemets, j'ai juste besoin de dire à Sonic
Pi où se trouve l'échantillon. Maintenant, si vous êtes sur Windows, verrez probablement barre
oblique avant quelque chose
ou une barre oblique inverse de deux points C. Ensuite, le chemin de l'endroit où se trouve
votre échantillon. Je suis sur Mac. Mon échantillon est donc sur mon bureau. Je vais donc accéder à Users, Steve, sur mon bureau. Et puis j'ai un
échantillon appelé beat one. Et nous y sommes. C'est donc tout
ce que j'ai besoin de faire pour lui dire de jouer un sample, c'est-à-dire de charger un sample. Et à partir de mon disque
dur, dur, je peux modifier la fréquence d'
un échantillon que j'ai chargé. Comme ça. Il va évidemment falloir
beaucoup de temps pour jouer. C'est donc un bon exemple
d'utilisation du bouton Stop ou d'une pression sur
Commande ou Ctrl S sur votre clavier. Nous y sommes. Nous pouvons donc commencer, arrêter ça à mi-chemin d'une course. Et encore une fois, je peux jouer cela en reverse stock que je peux le jouer à deux fois la
vitesse en marche arrière. Il existe donc une autre option pour jouer des samples également. Nous pouvons simplement pointer vers un dossier
et nous pouvons utiliser un index
pour, pour indiquer lequel lire. C'est donc très
utile si vous avez une bibliothèque d'échantillons ou un
dossier sur votre disque dur, qui contient un tas
d'exemples. Nous lui indiquons
simplement quel échantillon nous
voulons jouer dans un dossier. Nous pouvons donc simplement supprimer cela ici. On peut dire, OK, joue
le premier extrait. Maintenant, voici quelque chose
à vous signaler. Donc, lorsque nous programmons, c'est très, très courant. En fait, il est presque universel dans
les langages de programmation que le premier élément de la
collection est le 0ème élément. Donc compter dans
un ordinateur commence
toujours à 0, certainement avec
Ruby et Sonic Pi. Comme je l'ai déjà dit, Sonic
Pi est basé sur Ruby. Donc, quand je dis que je veux utiliser
l'échantillon 0 dans ce dossier, cela signifie me lire le premier
échantillon dans ce dossier. Maintenant, je n'ai qu'un seul extrait dans ce dossier sur mon bureau, donc il va lire les
mêmes que ceux que nous avions auparavant. Maintenant, vous verrez plus tard que cela peut être
très utile car nous
pouvons utiliser la codéine pour
déterminer quel échantillon nous voulons jouer sans
avoir à connaître le nom de chaque échantillon. Nous pouvons simplement dire Play
me sample five, play me sample three,
sample ten, et cetera. s'agit donc d'une
manière différente d'accéder aux échantillons. Mais encore une fois, si je voulais juste accéder
à un exemple spécifique, me suffit de taper le
chemin complet et le nom de celui-ci après le clavier d'exemple. Maintenant, les enveloppes pour les échantillons fonctionnent exactement de la même manière
que pour le sens. Ainsi, par exemple, nous pouvons définir
l'attaque de cet échantillon. Nous pouvons dire, je veux
que l'attaque de l'échantillon dure quatre semaines. Jouons ça. Nous
pouvons donc voir à partir de là qu'il
a fallu quatre temps pour passer de l'amplitude
0 une fois que nous avons
déclenché l'échantillon jusqu'à l'amplitude maximale. Maintenant, le sustain pour les échantillons
étant légèrement différent, le sustain est automatiquement réglé sur la
longueur de l'échantillon. Souvenez-vous donc que le sustain
est
la seule partie de l'enveloppe que
nous avons définie en termes de temps, le reste défini
en termes d'amplitude. Mais le maintien est automatiquement réglé sur la longueur de l'échantillon. Ou nous pouvons le régler comme d'habitude. Je peux donc
définir le maintien sur Disons deux listes. Supprimons cette
attaque juste pour
être sûr que c'est très clair. Nous y sommes. Donc parce que je nous ai
dit de soutenir
pendant deux temps, il a joué ce sample
pendant deux temps. Je peux donc également définir le
point de départ et d'arrivée sur l'échantillon. Et je lui dis jusqu'où je veux aller dans
l'échantillon. Il s'agit d'une valeur comprise entre 01. Donc c'est un peu, si vous le souhaitez, un
pourcentage à travers l'échantillon que je
veux commencer et terminer. Je pourrais donc dire, commençons à 0,2
% de l'échantillon. Finissons à aucun moment à six. C'est donc
ici que nous commençons le sample et que nous
finissons avant la fin. Nous y sommes. Il s'agit donc
d'échantillonner ou de jouer des samples dans Sonic Pi. Dans la section suivante, nous allons
examiner le déroulement des programmes
et commencer à créer des programmes
plus complexes, afin de commencer à produire de la musique plus
complexe et plus intéressante.
15. Flux de programme: Qu'entendons-nous
par flux de programmes ? Eh bien, le flux de programme est juste
un moyen de déterminer dans quel ordre les instructions notre programme sont exécutées. Et cela repose en fait sur
trois concepts de base. Il s'agit de séquence,
de sélection et d'itération. La séquence est simplement l'exécution
d'instructions dans l'ordre. Et c'est ce que nous
avons vu jusqu'ici. Par exemple,
nous avons joué une note, nous avons dormi et nous
leur avons placé d'autres nœuds. Puis on m'a giflé, on
a joué une autre note. s'agit simplement
de l'exécution de ces instructions du haut de notre fichier de code vers le bas dans l'ordre dans
lequel nous les avons saisies. La sélection est juste un
moyen de
déterminer l' action à
effectuer dans notre code en
fonction d'autre chose. Nous pouvons donc dire que
si cela s'est produit, faites-le autrement, faites autre
chose et cela deviendra beaucoup
plus clair et j'expliquerai les conditions plus tard. La troisième partie de l'itération
consiste simplement à pouvoir faire la même chose encore
et encore et
encore un certain nombre de fois. Cela peut se produire un nombre infini de fois ou un nombre prédéterminé de fois. Mais disons, par exemple, que nous avions un, la triade de do majeur avec laquelle nous avons commencé
dès le début du cours. Maintenant, nous pouvons jouer
cette triade de do majeur 16 fois en
tapant le même code 16 fois, en
dormant entre chaque triade. Donc on pourrait faire un sommeil de
triade en do majeur pendant un temps. Une autre triade en do majeur
dort un instant. Mais chaque fois que nous faisons ça, eh bien, c'est quatre
commandes, n'est-ce pas ? Il y a donc trois commandes de
lecture pour obtenir notre grognement à trois notes
, notre triade et notre endormissement. Si nous voulons faire cela,
dix fois x par exemple, disons, par exemple, qu'ils
restent simples et simples. Si on le voulait. Nous voulions jouer ça, cette triade de do
majeur dix fois, nous devions répéter les
mêmes quatre lignes, les trois jouées et dormir
dix fois dans notre code. Pour lire ce même code, dix fois par itération, ce
serait un excellent moyen. J'ai pu
juste dire, d'accord, voici ces
quatre lignes de code. Fais-le dix fois. Et c'est ce que nous
allons examiner ensuite.
16. Boucles: Ok, donc si nous
repensons au début
du cours et que nous avions un petit bout de
code qui
nous jouait une triade en do majeur et qui
ressemblait à ceci. Comme je l'ai déjà dit,
si nous
voulions jouer dix fois la
triade de do majeur, vous pourriez vouloir faire
quelque chose comme ça. Dormons un temps, puis nous pourrons à nouveau taper
notre triade en do majeur. Ensuite, nous pourrons le faire
encore huit fois. Nous pouvons donc devenir plus intelligents
et nous pouvons dire, ou nous pouvons copier et coller, non ? Nous pouvons donc une copie
que Motors garde le patient trois
fois quatre fois 5678910. Nous avons donc nos dix triades
majeures ou majeures de location d'affilée. Ceci utilise
la partie séquence du flux
du programme d'
itération de sélection de séquence dont nous avons parlé
dans la leçon précédente. Il s'agit donc simplement d'exécuter
chaque instruction dans l'ordre. Je dois utiliser le bouton d'arrêt. Vous pouvez également utiliser la commande
S ou la commande S pour l'arrêter dans
le flux du programme. Nous n'avons pas besoin d'entendre tout ça. Maintenant, cela fonctionne parfaitement bien. C'est absolument bon. Nous fonctionnerons et c'
est très bien de le faire, sauf que vous pouvez
voir que pour produire de la musique de
n'importe quelle durée, vous allez vous retrouver avec
un programme terriblement long
et beaucoup de code répété qui est
très, très difficile à lire. Le moyen de contourner ce problème
est donc de le supprimer. La solution consiste à utiliser
une construction appelée on loop. Et c'est là que nous passons aux parties itération
du flux du programme. Donc, dans Sonic Pi, le mot-clé d'une boucle, j'avais l'habitude de faire des choses en rond
et en rond. Lucas, en fait un
moyen très utile à utiliser parce que nous utilisons boucles dans la musique de toute façon pour signifier
quelque chose qui joue, eh bien, qui peut être joué rond
et rond encore et encore. Nous pouvons donc dire, d'accord, eh bien, alors regardons celui-ci. Je vais le taper
et je vais l'expliquer. Donc, ce que nous avons dit ici c'est que nous utilisons le mot-clé
loop, puis nous disons do, is loop, do. Ensuite, tout avant la fin. Nous allons faire des tours et des tours et des tours encore
et encore. Cela va simplement
continuer pour toujours. Je
vais donc y mettre fin. Est-ce que les raisons peuvent
continuer pour toujours. Est-ce que c'est, ça va, ça
va dire « boucle-faire ». Et il va jouer ça, cette triade, dormir
pendant 1 seconde ou un temps. Et puis il va toucher
la fin et il
retournera dans la boucle,
recommencera, recommencera jouera le triathlète
pendant une seconde, frappera la fin,
remontera dans la boucle, fera, et puis gardera pour toujours
et à jamais. Cependant, ce que nous pouvons faire, c'est
un type de boucle différent. Nous pouvons dire à Sonic Pi que nous voulons jouer quelque chose un
certain nombre de fois. La façon dont nous procédons
est très simple. Nous avons donc remplacé le
mot-clé loop par le nombre de fois
que nous voulons répéter. Nous allons donc le faire
trois fois pour que nous puissions le
voir jusqu'au n. Donc nous disons simplement le
nombre de fois. Donc, trois fois par point, fais-le trois fois. Et nous y sommes. Alors, notre
flux de programme va
revenir à la partie
séquence. On pourrait donc dire jouer
ça trois fois. Ensuite, nous allons simplement
faire un autre accord. Faisons un, un sol majeur. Donc on va y aller,
on va dire deux-points, G4, a avant. Et a. Les cinq devraient nous donner une triade en sol majeur. Et nous y sommes.
Nous pouvons donc voir que cela aurait demandé une
énorme quantité de code à faire. Au moins, on peut
s'en sortir, non ? Nous avons donc ces quatre éléments
qui auraient été répétés trois
fois. Donc ça fait 12. Et puis quatre autres
répétés trois fois. Cela aurait fait
24 lignes de code. Et nous réduisons cela à cela. Et nous pouvons voir
que c'est
beaucoup plus facile à
lire, surtout si j'utilise un commentaire de code. Alors je peux dire, oh, excusez-moi. Je peux donc ajouter un commentaire
ici pour dire qu'il s'agit d'une nébuleuse en ut
majeur et ensuite une d'
une
nébuleuse en sol majeur . Nous pouvons voir que nous avons un bout de code
beaucoup plus lisible. Ce nombre de fois
ne doit pas nécessairement être trois. Ça peut être ce que
tu veux. Ça peut être 60 et ça peut être 20, peut-être 100, peu
importe ce que tu veux. La seule chose importante
à retenir à propos des boucles est que chaque boucle
doit contenir sleep. Et en fait, si nous
supprimons cela pour l'instant, si je supprime ce sommeil, alors ce qui se passe c'est que
l'ordinateur est si rapide qu'il boucle trois fois. Vous avez entendu dire que c'était
très déformé. Mais en fait,
il a joué cette triade trois fois en
même temps. Et c'est pourquoi nous
devons mettre en veille chaque boucle parce que
l'ordinateur si rapide qu'il
va
les parcourir trois fois en une
fraction de seconde. Nous devons nous rappeler de
mettre la commande
sleep dans chaque boucle.
17. Boucles imbriquées: Maintenant, nous pouvons également imbriquer des boucles, des boucles
inégales de différents
types les unes dans les autres. Nous savons donc que nous avons la
boucle do et que nous avons les trois points fois du ou les 16 fois où nous pouvons imbriquer les uns
dans les autres. Et je vais vous montrer un petit exemple ici pour que
nous puissions dire en boucle, savons-nous que nous
allons avoir besoin d'une fin ? Maintenant, vous remarquerez que
lorsque vous exécutez des éléments, il met en forme
le code et place les indentations pour en
faciliter la lecture. Une autre façon de le faire
sans avoir à attendre qu'il s' exécute est d'appuyer sur
Command ou Control M, quatre M pour mother. Et cela ne fera que formater
le code correctement pour vous. Donc je peux dire ici, sample
little play the bass drum, sample, BDI, underscore house. Encore une fois, Control, Enter. Control, Control ou Command
M va le mettre en forme pour vous. C'est donc jouer
en dehors d'une boucle. Si je joue ça maintenant, je
vais le jouer une fois. Et la raison pour laquelle il a échoué
car il n'y a pas de sommeil
à l'intérieur de cette boucle. Donc, pendant la peste
des audits, tout va bien. Il va juste les
jouer tous en même temps. Mais en fait, comme je l'ai déjà dit, Sonic Pi est très orienté vers l'apprentissage et
pour vous éviter de faire quelque chose qui pourrait
potentiellement utiliser beaucoup de processeur et de mémoire
sur votre ordinateur en fait, nous a donné une erreur ici pour dire que
nous n'avons pas dormi, parce que la lecture d'échantillons est
beaucoup plus intensive sur ressources de
votre système
que simple utilisation de la commande play. Pour automatiser cela,
nous voulons mettre en veille. Et là, ça
va tourner en boucle pour toujours. Jouez dans cet échantillon avec
un quart de temps entre un stop de
moins en moins. Et insérons une autre
boucle à l'intérieur. À l'intérieur de cela, nous pouvons dire qu'à chaque fois que nous allons faire le tour de cette boucle, nous allons jouer
ce sample une fois. Ensuite, nous jouerons
pour le charleston. Donc pour chaque grosse caisse, chaque grosse caisse que
nous jouons avec ce BD, quel échantillon nous voulons
pour les hauts-de-forme, assez courant
pour le beat au sol. Donc disons que pour les temps point font. Comment va jouer un sample
charleston ici, oméga un dans cette boucle. Appuyons sur Commande
M pour le formater. Ensuite, à l'intérieur de cette boucle, nous allons jouer
un sample charleston. Nous en avons donc un intégré, intégré à Sonic Pi. Nous allons donc dire symbole de
batterie proche. C'est celui que nous voulons.
Ensuite, nous allons dormir pour rien, 0,25 de battements. Donc quatre, nous allons
finir avec quatre charleston fermés par temps,
puis une grosse caisse. Alors dormons. Dormez un quart de temps. Avant qu'on y joue. Lisons-le
pour nous assurer que nous comprenons
parfaitement. Nous allons donc faire une boucle
indéfiniment sur cette boucle extérieure. Et dans cette boucle extérieure, nous allons d'abord jouer
le sample BD house, qui est un sample de grosse caisse. Et puis après la lecture de cet
extrait, bien que comme je l'ai dit, il calcule si vite, ce sera en même temps que
nous jouerons pour un charleston fermé avec
un quart de temps,
dormirez entre chaque un. Ensuite, une fois qu'il aura joué
les quatre chapeaux hauts, nous
reviendrons au sommet. Jouez le Keq pour les chapeaux hauts, jouez le coup de pied pour les chapeaux hauts. Nous jouons donc le kick
et cette boucle. Ensuite, nous jouons
les quatre chapeaux hauts. Nous pouvons voir que
ce sont ce que l'on appelle des boucles imbriquées. Alors jouons-y. Nous le sommes. Voici nos premiers
beats de base dans Sonic Pi.
18. À l'infini, mais pas au-delà !: Une dernière chose à
dire à propos des boucles est juste de vous avertir un
peu de la boucle infinie. Ajoutons donc un
autre exemple de commande ici. Disons simplement que nous allons
jouer les maigres. Boum. Écoutons
ce que ça donne. Je vais arrêter
ça là, mais ça aurait duré éternellement. Ok, donc le, le, ce sample ici sur la ligne
neuf n'est jamais joué parce que cette boucle
tourne et tourne encore et encore. Nous ne sommes donc jamais revenus à la partie séquence du flux
du programme. Donc, nous n'
arrivons jamais à la ligne neuf parce que nous
allons de la ligne 1 à
la ligne 7 sans fin. Je vous mettrais donc en garde
contre l'utilisation de loop do et n'utilisez loop do
que si vous le pensez vraiment. Je dirais donc de définir le nombre de
fois que vous le pouvez. On pourrait donc dire pour les points. Il va donc jouer cette boucle
extérieure quatre fois, la boucle intérieure quatre fois
dans chacune d'elles. Nous allons donc
jouer de la grosse caisse, et ils vont
jouer 16 charleston avant de jouer
ce dernier sample. Cela va maintenant
arriver à la ligne neuf. Ok ? Donc, pour pratiquer cela et ce que j'aimerais que vous fassiez, c'est prendre le code que vous
pouvez voir à l'écran. Maintenant, il est difficile de
faire fonctionner ça et de jouer
avec les rythmes. Donc tout ce qu'il y a là est quelque chose que tu
comprends bien. Donc je suppose que la prochaine chose à
faire serait d'essayer d'
ajouter un son de caisse claire
à ce beat.
19. Améliorer votre rythme: Ok, peut-être que tu t'es
retrouvé avec quelque chose
qui ressemble
à ce que nous avons ici. Jouons à ça. Et nous pouvons voir que nous tournons quatre fois en boucle
. Tu joues de la grosse caisse. Nous jouons deux charleston, limitons le jeu dans cet échantillon de caisse claire , deux
autres charleston,
puis nous retournons
sur la grosse caisse. Ne vous inquiétez pas si
le vôtre ne ressemble pas exactement à ça
et qu'il
ne ressemble probablement pas exactement à ça. Tant que vous
comprenez comment les boucles et
le flux du programme fonctionnent avec la séquence
des itérations. Et tu as réussi à
obtenir un rythme agréable. Cela vaut vraiment la
peine de passer un peu de temps
avec ça et de
penser à notre b2 que vous voulez
produire dans votre tête, puis voir si vous pouvez le faire exprimer
sous forme de code.
20. Randomisation: Bon, j'ai parlé
plus tôt de l'utilisation des numéros de note
midi
plutôt que du mini chiffre. Ainsi, utiliser 60 au lieu de C4, par
exemple, peut être, bien que contre-intuitif,
très utile parfois. Je suis l'un de ces
moments où nous
utilisons un générateur de nombres aléatoires. Maintenant, la randomisation peut être très utile pour une sorte de musique
générative ou
pour que l'ordinateur génère
ou crée de la musique pour vous à partir de nombres aléatoires que vous ne
trouveriez tout simplement pas vous-même. Que ce soit pour partie de votre composition
écrite en code, ou que ce soit une
sorte d'inspiration, jouez
simplement avec des valeurs
aléatoires et
inspirez-vous d'
une mélodie ou d'un baseline, ou quoi que ce soit que
je recherche. Générer des nombres aléatoires dans Sonic Pi est
vraiment très simple. Et comme nous pouvons jouer un
numéro de note plutôt qu'un nom, cela signifie que nous pouvons générer un nombre aléatoire et
ensuite jouer cette note. Donc, pour ce faire, nous utilisons la commande rand. Voyons comment cela fonctionne. Nous connaissons donc la pièce. Viens déjà. Nous avons joué 60 comme
nous l'avons utilisé de nombreuses fois. Eh bien, cela va juste placer une note avec une valeur de
note de 60. Mais nous pouvons dire, Jouez-moi une
note avec une valeur aléatoire. Je peux donc utiliser la commande rand et je peux dire ici entre
parenthèses. Je peux donc dire,
Joue-moi une note au hasard entre le numéro 50 et le numéro 100. Ok ? Donc si je regarde
dans le journal ici, je peux voir cette plaque
avec une note au 87.5031. Si vous le tapez dans votre fenêtre de code, que vous exécutez ce
code et que vous consultez votre journal. Et je peux également
garantir que vous
générerez un
nombre aléatoire ou un nœud aléatoire, qui sera 87.5031. Cela peut sembler étrange. Cela peut sembler étrange parce que
ce n'est pas vraiment aléatoire, n'est-ce pas ? Si vous êtes capable de saisir
le même code que moi et sur votre ordinateur à une heure et à un endroit
différents, générez le même
nombre aléatoire, les mêmes notes aléatoires. Ce n'est pas vraiment aléatoire maintenant que
c'est fait pour une bonne raison. La raison en est que
vous
voulez pouvoir partager ce code sur tous, lire ce code sur votre
ordinateur plus tard, et garantir qu'il
sera le même pour
que toutes les performances
soient les mêmes. Alors jouez avec ça,
générez des notes aléatoires
différentes. Encore une fois, pour changer cela, nous pouvons dire, d'accord, générez-moi un nombre aléatoire entre 4080. Il existe un nœud aléatoire différent. Donc, pour générer
une note aléatoire différente, ce que je dois faire est de
définir la graine aléatoire. Encore une fois, cela est
fait exprès. Il s'agit d'un choix de
conception délibéré au sein de Sonic Pi pour garantir que si vous créez
un morceau de code qui utilise des notes
aléatoires dont vous aimez
vraiment, vraiment le son. Qu'il en sera de
même à chaque fois. Vous pouvez donc voir qu'il s'agit d'un choix de design
délibéré. Mais pour changer la randomisation, j'ai juste besoin
d'utiliser une commande simple qui utilise une graine aléatoire, soulignement, un trait de soulignement
aléatoire C. Et je peux taper n'importe
quel nombre ici. Et ce
n'est vraiment pas grave. Et vous verrez,
nous pouvons l'utiliser un peu plus tard
et nous changerons la graine aléatoire pour générer
différents modèles aléatoires. Mais je pourrais, par exemple, changer, utiliser une
graine aléatoire ici à 40. Vous remarquerez que la
dernière fois que j'ai exécuté ceci, j'ai généré la note 70.0024. C'est intéressant en
soi parce que les notes Sonic Pi n'ont pas besoin
d'être des nombres entiers. Cela vous montre donc que
vous pouvez écrire des programmes dans Sonic Pi pour produire des compositions micro
tonales. Mais nous pouvons définir cette graine aléatoire. Comme je l'ai dit,
peu importe le nombre. 99, c'est très bien. Quand je lancerai ça maintenant. J'ai maintenant une note
qui est 68,63. Et encore une fois, si vous
utilisez cette graine aléatoire et cette commande de tour
exactement comme ceci, sur votre ordinateur, avec
la graine aléatoire de 99, votre jet, vous
générerez également la même note. Et encore une fois, c'est pour
que tu
puisses sauvegarder cette composition et que
tu saches qu'
elle jouera exactement de
la même façon à chaque fois. Allons donc un peu plus loin et voyons comment nous pouvons
l'utiliser pour produire de la mélodie.
21. Générer des mélodies avec randomisation: Débarrassons-nous de ça pour le moment. Nous allons dire, d'accord, jouez-moi une note aléatoire
entre 5 100. Mais nous allons, nous
allons mettre ça en boucle. Donc, comme nous l'avons vu précédemment, mais faites simplement une boucle, faites une fin. N'oublions pas
de dormir. Mettons-en
un ici et appuyons sur Exécuter. Et si on peut appeler
ça une mélodie, alors tu auras produit la même mélodie que moi si
tu exécutes ce
code sur ton ordinateur. Nous pourrions également
randomiser le sommeil. Parce que le sommeil est juste
un nombre compris entre, entre 0 et ce que
nous voulons qu'il soit. Disons Rand. Génére-moi endormi
entre 0,25. Donc quart de temps, 1,5
battements. Et lançons-nous ça. D'accord, nous pouvons donc voir que nous avons, nous avons randomisé, non seulement la note, mais aussi
le temps entre les nœuds. Nous pourrions donc échanger la
commande de lecture contre un échantillon. Regardons ça
pour pouvoir jouer un extrait. Faisons un frottement de verre B. Ici, nous jouions
le même échantillon, mais nous randomisions le
temps entre les échantillons. Mais n'oubliez pas que nous pouvons utiliser l'option de taux d'un échantillon
pour l'accélérer ou le ralentir. Nous pouvons donc faire exactement la même chose avec
la valeur aléatoire. Nous pouvons donc définir le taux
comme une valeur aléatoire comprise entre 0,52, par exemple. Ce serait donc honnête. Nous pouvons donc utiliser les fonctions de
randomisation pour créer des valeurs aléatoires
à placer dans n'importe quelle option
qui prend un nombre, c'est pourquoi il est si utile
que Sonic Pi ait été conçu de telle sorte que définissez les options avec des nombres, nous pouvons donc
utiliser des valeurs aléatoires dans la grande majorité d'entre elles. Donc, amusez-vous
avec différents, vous voudrez peut-être
regarder les enveloppes, les coupures de
filtre, les résonances, les
motifs et les amplitudes. Il suffit d'insérer des valeurs aléatoires
à l'aide de la fonction rand. Et vous allez commencer à créer de la musique
réellement générée, que,
comme je l'ai dit , vous pouvez soit
vouloir utiliser directement dans votre composition,
soit les utiliser comme moi. Parfois, c'est juste pour
jouer quelques valeurs aléatoires, jouer avec
différentes options et différentes valeurs aléatoires dans chacune d'elles pour
inspirer une composition.
22. Autres fonctions aléatoires: Génial ! Autres
fonctions de randomisation de Sonic Pi, qui peuvent être utilisées pour produire des valeurs
légèrement différentes. Commençons donc par une boucle. Cette boucle jouera simplement un C4. Nous allons simplement régler l'
amplitude sur rand. Ensuite, nous
dormirons un demi-temps, la fonction rand et
Sonic Pi produira toujours une
valeur comprise entre 01. Alors jouons ça. C'est juste une façon abrégée d' écrire ceci qui
serait exactement la même. Nous pouvons également lui demander
de renvoyer un entier. Donc si nous voulions
avoir des notes midi exactes, nous pourrions dire un trait de
soulignement rond i, entre 5000. Vous remarquerez que
lorsque nous jouerons ceci, si je regarde dans le journal, nous
n'avons que des notes complètes ici. Donc, un entier entier. Donc rien après le, après la virgule décimale. Nous savons donc qu'
il y a quelque chose
là-dedans , la gamme midi. Encore une fois, jouez
avec la fonction aléatoire. Nous avons regardé notre
tour et notre tour. Souvenez-vous que ce n'est pas moi, cela nous donnera un entier. Rand nous donnera un nombre à
virgule flottante, ou un nombre, peut-être avec quelque chose après
la décimale et l'arrondi, ce qui nous donnera un
nombre compris entre 01. Amusez-vous avec ceux-ci, mettez-les dans
différents paramètres, jouez différents nœuds, dormez dans des
durées différentes. Il suffit de jouer avec
différentes amplitudes et paramètres d'enveloppe et de vous
habituer à l'effet que peut avoir
la randomisation. Sur votre note, le type
intéressant de possibilités
génératives que vous pouvez avoir dans votre code. Une fois que vous aurez fini de jouer avec les
fonctions de randomisation, nous passerons à
la section suivante, qui va couvrir
la dernière partie du flux du programme, à savoir
la sélection.
23. Sélection: Pour travailler avec les dernières
parties du flux de programme, c'
est-à-dire la sélection,
nous allons avoir besoin comprendre quelques concepts de
programmation. Regardons-les dans
les prochaines diapositives. La première chose que
nous allons examiner est une chose appelée opérateurs
de comparaison. Les opérateurs de comparaison nous permettent
simplement de comparer une chose
par rapport à une autre. Ainsi, lorsque nous
examinons la sélection, nous devons être en mesure de déterminer si une chose est vraie
ou si une autre est fausse. Par exemple, nous
voulons pouvoir exécuter une certaine
partie du code si quelque chose est vrai ou une partie
différente du code si cette comparaison est fausse. Donc,
afin de déterminer
que nous avons un certain nombre d'opérateurs de
comparaison. Vous pouvez les voir sur l'écran
ici. Il n'y en a que six. Je vais expliquer chacun
d'eux tour à tour, mais c'est un concept assez
simple. Le premier opérateur
de comparaison
est donc un double signe égal. Et cela équivaut à, maintenant, c'est une erreur courante et
je le fais toujours moi-même. Cela fait plus de 20 ans que je fais cela
pour une programmation et je le fais
toujours moi-même. Donc ne vous inquiétez pas, mais lorsque
nous faisons une comparaison, nous voulons voir si nous comparons
une chose à une autre. Nous devons utiliser le signe
double égal. Et c'est parce que nous utilisons le signe égal unique
pour autre chose. Donc, bien que normalement dans vos mathématiques, nous utilisions un seul signe égal pour la
comparaison en programmation, nous utilisons le double égal. Et moi, quand je tape ça dans
ma tête, je dis égal à. Il y a donc
deux mots, deux égaux à deux égaux. Donc si nous voulons
voir si une chose est égale à une autre,
double signe égal. S'il veut dire que, si la chose est
égale, les deux côtés de cette équation, si vous voulez, sont vrais ou égaux, alors ce sera vrai et nous pouvons exécuter du
code basé sur cela. L'opérateur de comparaison suivant est
alors différent de. Donc, si ce côté n'est pas
égal à ce côté, ou si un côté inférieur gauche
n'est pas égal au côté droit, alors il retournera vrai. Si les deux côtés sont égaux, il retournera faux. Nous avons alors les opérateurs
supérieur et inférieur à. Donc, si le côté
gauche, le côté gauche est supérieur au côté droit, il retourne vrai. Ou si le, si le côté
gauche est
inférieur au côté droit,
alors il retourne vrai. Nous avons ensuite deux
derniers opérateurs qui sont très similaires, mais qui incluent le bit du
milieu est
inférieur ou supérieur ou égal ou
inférieur ou égal à. Nous pouvons donc dire que si une certaine valeur est
inférieure ou égale, ou supérieure ou égale à l'autre valeur,
alors renvoyez vrai. Sinon, elle renvoie false. Ceci, je sais que c'est si vous n'avez jamais fait de
programmation auparavant, c'est
un peu étrange. Cela deviendra beaucoup,
beaucoup plus clair lorsque
nous examinerons quelques exemples de
code et
nous en ferons beaucoup. Je suis donc probablement une bonne
idée de les noter. Nous avons donc égal,
différent de, supérieur,
inférieur à , supérieur ou égal à et inférieur ou égal à. Il peut y avoir un
moment où nous voulons les enchaîner ensemble. Nous voulons donc dire,
si c'est égal, si a est égal à b et c est
supérieur à d, par exemple, ou si a est égal à b ou si c
est supérieur à t. Encore une fois, cela va être
beaucoup plus facile à expliquer et à comprenez
une fois que nous voyons du code. Mais juste, juste pour dire
que nous avons également ces opérateurs de combinaison
ou opérateurs logiques. C'est ainsi que nous combinons
les comparaisons. Encore une fois, une double esperluette ou
un double et signé signifie, et un double tube signifie tout. Et vous trouverez le signe de
pipe sur un Mac
au moins juste au-dessus de la
touche Maj et de la barre oblique inverse. Mais cela
deviendra beaucoup plus clair. Nous allons maintenant passer à Sonic Pi, nous allons écrire du code
en utilisant ce type d'opérateurs et vous verrez
comment ils fonctionnent beaucoup mieux. Ok, donc la façon dont nous faisons la
sélection dans Sonic Pi est en utilisant
le mot clé if. C'est très simple à comprendre. Alors plongeons-nous et
écrivons du code et vous verrez comment fonctionnent
tous ces opérateurs. Commençons donc par
un exemple simple. Nous pouvons donc dire, si un est
égal à un, alors jouez. Je ne connaissais pas le caoutchouc de verre
Amby. Comme pour tous les blocs de code à l'
intérieur de Sonic Pi, nous devons mettre un N
sur le truc ici. Cela signifie que si
un est égal à un, ce qui est toujours vrai, un est toujours égal à un,
alors jouez cet échantillon. Nous devrions donc entendre
ce jeu d'échantillons. Ok ? Et nous pouvons prouver que cela fonctionne. Nous pouvons dire que si un
est égal à deux, alors cet échantillon ne
doit pas être lu. Ok ? Et nous pouvons voir
dans le journal que notre course a commencé
et est terminée. Mais le samplé en jeu, car un n'est pas égal à deux. Nous pouvons donc examiner certains
des autres opérateurs ici. Nous pouvons donc dire que si un n'
est pas égal à deux, alors que
s'attendrions-nous à ce qu'il se passe ici ? Oui, nous nous attendons à ce que le sample lu car un
n'est pas égal à deux. Et on y va. Les autres opérateurs que
nous pouvons utiliser sont donc si un est supérieur à 21, n'
est pas supérieur à deux. On ne s'attendra donc pas à ce que le
sample le joue. Si nous regardons dans le
journal, vous verrez que les séries commencent et se terminent et
que l'échantillon ne joue pas. Mais si nous disons que si un
vaut moins de deux, alors nous pouvons appuyer sur, courir. Le sample sera lu. Vous pouvez voir que c'est un concept très simple
et c'est juste c'est vraiment cette sélection. Donc, si cette chose est évaluée comme vraie, c'est que si cette
expression et que nous appelons cela une expression ici, cette expression est
évaluée à true, puis exécutez le
code avec à l'intérieur.
24. Si ... autre: Voyons donc
ce que nous pourrions faire autrement. Nous pouvons donc avoir deux chemins
d'exécution. Nous pouvons donc dire, si c'est vrai, faites-le, sinon, faites-le. Laissons cela tel quel, et nous verrons le mot clé
du deuxième chemin, la chute. Si la première expression
donne la valeur false, nous pouvons créer un
second chemin et utiliser le mot-clé else pour cela. Et je vais juste nous jouer un
autre échantillon ici. Quelque chose de
très différent. Alors, choisissons,
choisissons un âge, un poids
basé sur une pièce basée sur le poids. Nous pouvons donc dire, si la première
expression est vraie, jouez cet exemple, nous allons le rendre
encore plus simple et agréable. Donc si l'un est égal à
un, donc si un, si l'un est égal
à un vaut vrai, ce qui jouera l'ambigu Rob sinon jouera la grosse caisse. Alors lançons-nous ça. Et nous nous attendions à
entendre le bâton de verre. Donc pour que cette seconde partie
du code soit exécutée, cette expression après le f devrait être
évaluée à false. Nous pouvons donc le faire
simplement en disant si un est égal à deux. Laissons ça. Et nous devrions entendre le kick
drum jouer parce que ce sera, ce sera faux ou une boucle sautera
immédiatement vers le
bas. Ignorez cette ligne ici, sautez vers le bas et jouez ce qui se trouve dans le bloc else. On peut entendre le jeu de grosse caisse. Qu'est-ce qu'on
peut faire d'autre avec ça ? Parce que c'est, cela semble
un peu simple. Eh bien, nous pourrions utiliser
des valeurs aléatoires. Alors, changeons
cela pour quelque chose, faisons quelque chose un
peu plus facilement ici. Alors prenons simplement
un tambour de base dur. Et changeons celui-ci en un. Voyons voir, un charleston ouvert. Il y a donc la grosse caisse
parce que nous n'avons pas deux et nous avons exécuté
ce qu'il y avait dans l'autre. Si nous réglons ceci sur
vrai, nous y sommes. Il y a notre charleston ouvert,
donc nous avons deux sons. C'est agréable et facile à entendre. Très clairement différent
, nous serons donc en mesure de bien comprendre
ce qui se passe. Cette expression
est donc assez simpliste. Amino exécute toujours sur true. Mais certains, peut-être
pourrions-nous faire autre chose pour rendre cela un peu
plus intéressant. Alors que nous savons que nous avons les fonctions de randomisation que nous avons examinées dans la leçon
précédente. Peut-être que cela pourrait vous
intéresser. Supposons que nous ayons
la fonction rand qui renvoie une valeur aléatoire comprise entre
01. Nous pourrions donc l'utiliser. Nous pouvons donc dire que si r1 est
supérieur à 0,5, cela produira une
valeur aléatoire comprise entre zéro et un. Si c'est le cas, si cette valeur est
supérieure à 0,5, alors nous jouerons le charleston ouvert. Symbole ouvert. Sinon, sinon jouera de la grosse caisse.
Alors jouons ça. Ok, donc dans ce cas, la valeur aléatoire doit
être supérieure à zéro 0,5. Nous avons donc joué ça ici. Nous pouvons mettre autant de
lignes de code que nous le voulons dans ces blocs. Donc nous aurions pu, nous pouvions
jouer plusieurs samples, nous pouvons jouer plusieurs notes, tout ce que nous voulions faire dans le bloc if et
dans le bloc else.
25. Combiner des comparaisons: Ok, alors comment
faire pour comparer ? Nous avons donc examiné les opérateurs de
comparaison logiques, mais nous avons ensuite dit que nous
pouvions combiner, plutôt que nous pouvions combiner ces opérateurs
logiques. Nous pourrions vouloir dire
si c'est vrai et c'est vrai ou si c'est vrai ou si c'
est vrai, regardons cela. Revenons donc à
notre exemple simple. Donc si un est égal à un, si un est égal à un jeu, le charleston ouvert est égal à un. Alors le charleston ouvert joue. Nous pouvons combiner cela
avec un autre. Donc ce n'est pas un, donc nous pouvons utiliser l'esperluette double et nous pouvons dire si un
est égal à 12, est égal à deux, puis
jouer le charleston ouvert. Mais cela ne
jouera que le charleston ouvert. Ce morceau de code à
l'intérieur du bloc if
ne sera exécuté que si
ces deux expressions sont vraies. Nous pouvons enchaîner
autant d'entre eux. Vous pouvez avoir autant de
et et ou que vous souhaitez dans
votre expression IF. Donc, si je change l'un
ou l'autre, alors pour être faux. Donc si deux c'est le cas, on peut dire que
si deux sont égaux à trois, ce sera faux. Donc, le tête-à-tête
sera toujours vrai. Cela va, ce sera faux. Donc, ceci, ceci et cela ne sont pas vrais
parce que c' est vrai,
mais ce n'est pas le cas. Donc, le jeu
de base rumble. Maintenant, qu'en est-il si je
change ça en bloc ? Donc c'est le double
tuyau, tu te souviens ? Donc, en gros, cela signifie que si un est égal à un ou
deux est égal à trois, alors jouez, puis jouez le symbole. Sinon, jouez de la grosse caisse. Eh bien, un est égal à un. Donc, il n'a même pas besoin d'y aller, il n'
évalue même pas réellement ce bit. Il dit simplement que y est égal à un. Il s'agit d'un ou. Alors. Peu importe ce qu'il y a ici. Cela n'a aucune importance,
car une seule de ces choses doit être vraie pour jouer ce symbole. Et encore une fois, si je passe
à deux, c'est égal à deux. Si c'est vrai ou si c'est vrai, jouez le symbole, sinon
jouez de la grosse caisse. Et ils le sont tous les deux,
ils sont tous les deux vrais. Donc c'est très bien. Que se passe-t-il si je change ? Un est égal à 22
est égal à trois. Dans ce cas, nous nous attendons à ce que
la grosse caisse entre en jeu car ni cela ni
cela n'étaient vrais dans ce cas. Bon, c'est un rapide
aperçu façon dont nous faisons la sélection
avec Sonic Pi.
26. La fonction de randomisation one_in: Combinons cela avec certaines
fonctions
de randomisation
pour rendre quelque chose d'un
peu plus intéressant. Alors faisons-le peut-être pour faire une boucle. Nous allons
juste le gérer pour toujours. Mais encore une fois, juste pour te rappeler, ça va vraiment durer pour toujours. Soyez donc prudent lorsque vous
les utilisez dans vos compositions. Et nous allons revenir à
notre fonction aléatoire. Donc, si rand est
supérieur à 0,5,
la fonction rand va nous
donner une valeur
comprise entre zéro et un. S'il est supérieur à zéro,
0,5, joue le symbole, sinon joue la basse Trump. Jouons ça.
Vous pouvez voir ici une erreur. C'est mon erreur. Je ne me suis pas
endormi à l'intérieur de la boucle et c'est exactement
ce qui vous
dit que la boucle n'a pas dormi ni coulé. Alors endormons-nous
là-dedans et courons à nouveau. Ok ? Il existe donc une autre fonction de randomisation
que nous n'avons pas encore vue
mais qui que nous n'avons pas encore vue
mais pourrait être utile dans
ce genre de situation. Et c'est celui de la fonction
de randomisation.
Laisse-moi te le montrer. Donc nous disons que si un trait de
soulignement entre, mettons-en deux ici. Donc, fondamentalement, ce que l'on fait
est qu'il renvoie
un vrai avec une probabilité que vous
mettiez entre ces crochets ici. Donc, une fois sur deux, il retournera vrai manière purement aléatoire et aléatoire. Si je devais placer un
locataire ici une fois sur
dix, cela
reviendrait vrai. Si je mettais un un sur deux, on s'attendrait à une distribution
uniforme entre les symboles et la grosse caisse. Alors
écoutons ça. Ok, donc ils jouent à
peu près la même quantité maintenant, évidemment de manière
aléatoire,
mais à peu près le même nombre
de symboles que la grosse caisse. Et en fait, si nous sommes
allés au login et défiler le journal
et que nous les avons tous comptés. Nous pouvons voir la grosse caisse jouer et nous pouvons jouer les
symboles joués. Si nous les examinions
et les comptions, nous obtiendrions à peu près
le même nombre. Mais si je change
cela à un sur dix, je m'attendrais à ce que
la grosse caisse joue beaucoup
plus souvent que la simple, parce que
je m'attendrais à ce que le
symbole joue une fois sur dix . Et une fois sur deux, je m'attendais
à ce que la grosse caisse joue. Alors
écoutons ça. Ok, donc nous pouvons voir ici qu'
en utilisant cet opérateur IF, la sélection
withinside, Sonic Pi, combiné avec la fonction de
randomisation, nous pouvons vraiment commencer à construire
rapidement une sorte de générateur fonctions de
certaines musiques génératives. Parce que bien sûr, nous
pouvions, nous pouvions jouer différents accords, différentes notes, tout ce que
nous voulions faire, différents samples à l'
intérieur, dans des patterns tels que celui-ci.
27. Le simple si: Il existe une façon un peu
plus simple d'écrire ce code et c'est comme ça. Débarrassons-nous de
ça, débarrassons-nous de là. C'est ce que nous pouvons dire. Donc plutôt que d'avoir une instruction if qui ressemble
à ceci. Changeons cela
pour un sur quatre, donc 14 fois nous attendons que
le symbole soit joué. Sinon, nous allons simplement dormir
et faire le tour de la boucle. Donc cela se fait si souvent dans le code que nous
utilisons pour générer de la musique, il y a
un petit raccourci pour cela. Cela signifie simplement que nous
pouvons supprimer cette extrémité ici. Et nous pouvons simplement couper
ça à partir de là. On peut le mettre
au bout d'ici. Laisse-moi juste te lire
ceci. Donc ça va tourner en rond,
autour, autour pour toujours. Et il va dire, jouez cet exemple de symbole de batterie
ouvert si un sur quatre. Et c'est juste un
raccourci, une
façon un peu plus rapide de l'écrire. Nous obtenons donc
le même résultat, mais cela rend peut-être le code un peu plus facile à lire. Oh, peut-être qu'on peut juste
embrouiller ici
et juste, changer notre code. Alors jouons un, jouons à une vache, une cloche à vache tous les six. Donc ce que ça va
faire c'est que ça va, laisse-moi simplement ordonner à
M de le faire. Cela va juste en
faire un symbole proche juste pour le rendre
un peu moins sonnant si c'est un mot. Nous allons donc faire une boucle autour de
chaque coin de plage. Nous allons jouer
un symbole fermé. Et puis une fois sur six, nous allons
jouer la cloche à la vache. Ok, et c'est vraiment tout pour la sélection dans Sonic Pi. Alors jouez, mais regardez l'
air du L et
la version abrégée de F
que nous avons ici, jouez
avec l'une dans la fonction de
randomisation et les autres
fonctions de randomisation que nous avons examiné dans
la leçon précédente. Et regardez les opérateurs
conditionnels et combinez-les
ensemble juste pour voir comment nous pouvons les
combiner et les utiliser pour créer de la
musique imprévisible.
28. Variables: Bon, il est temps de jeter un
œil à certaines variables. Maintenant, une variable n'est vraiment qu'un nom
sophistiqué pour une étiquette. C'est juste une façon de
donner des noms à des choses auxquelles nous pouvons nous
référer plus tard. Le moyen le plus simple de vous le montrer
est simplement d'écrire du code, mais c'est juste une
façon de donner
un nom à quelque chose pour que l'
ordinateur puisse s'en souvenir. Et quand nous l'avons demandé plus tard, il pourra nous le
rendre. C'est tout ce qu'est une variable. Les variables à l'intérieur de
Sonic Pi
sont très, très simples à utiliser, mais nous
utilisons pour elles le signe égal. C'est pourquoi nous avons dû utiliser le double égal à l'intérieur
des opérateurs de comparaison. C'est à cela que l'égal
est réservé. Donc nous disons le nom de
la chose, puis nous sommes
égaux, puis quelle que soit
la valeur que nous voulons stocker, la valeur peut être n'importe quoi. Nous pouvons donc dire,
par exemple, que le nombre est égal à 99. Et ensuite, peu importe ce que nous avons
demandé pour le numéro plus tard, nous pouvons le récupérer
en utilisant le mot numéro. Alors, disons simplement
que c'est très clair. Donc mon numéro est
99, et si je dis, si Mon numéro est supérieur à 98, il suffit de jouer 60. Sinon, ne le sont pas. En
fait, nous venons de terminer. Nous pouvons donc dire que nous
stockons le nombre ou la valeur 99 dans une variable que nous avons
appelée mon numéro. Et plus tard, nous pourrons
l'utiliser. Dans notre cas. Nous pouvons simplement utiliser une
simple instruction if pour dire si mon nombre
est supérieur à 98,
jouez 60, donc nous nous
attendons à ce qu'ils sonnent. Allons-y. Donc très, très simple à
utiliser et donc Sonic Pi, mais vraiment
utile car nous
pouvons nous y référer dans
de très nombreux endroits. Et lorsque nous voulons
modifier sa valeur, nous n'avons qu'à aller à
un seul endroit pour le modifier
plutôt que de le modifier dans
tout notre code. Regardons donc
un exemple simple. Une chose que nous voudrions peut-être faire est de nommer certains de nos échantillons afin que nous
puissions y faire référence plus tard. Et si nous voulons
modifier cet échantillon, nous pouvons simplement le modifier
en un seul endroit. Ceci, voyons un bon exemple. Créons donc une
variable appelée charleston. Et à l'intérieur de cette variable,
nous allons stocker le nom d'exemple a. Alors tambour, symbole, proche. C'est donc un charleston fermé. Créons une autre
variable appelée caisse claire. Et nous allons faire en sorte que le, l'échantillon ou un
trait de soulignement Zoom. Et nous allons créer une
variable appelée cake. Et nous appellerons qui
stockera dans ce cas le
nom de l'échantillon. Maison de soulignement Bdi. L'utilisation des variables
devient très claire maintenant parce que si je crée une boucle, à l'intérieur de cette boucle, je vais dire, accord, pour beaucoup d'échantillons,
joue-moi le charleston. Alors joue-moi le coup de pied échantillon. Et puis dormez pendant
Quarter, répétez. Fais-moi un autre mal,
un autre charleston. Et puis dors à nouveau. Et joue-moi un autre charleston. Dors encore. Dors encore. Ensuite, joue-moi un autre
charleston et dors à nouveau. Jouons ça. Ok, alors peut-être que sur le troisième temps, nous voulons aussi
apporter une caisse claire. Alors jouons une caisse claire et là, jouons une caisse claire ou
trois, citoyenne à cela. Mais que se passe-t-il si je veux changer
la grosse caisse que nous utilisons ? Donc, si je veux changer
vos coups de pied, nous les utilisons alors que je
n'ai qu'à les changer sur place.
Donc ce n'est pas si mal. Mais si je veux changer le chapeau
haut de forme que nous utilisons, je devrais
parcourir mon code et changer si j'utiliserais, si je l'ai fait comme ça. Par exemple, je dois me
rendre à chaque endroit de mon code et changer le charleston
que j'utilise. Alors annulons
ça. Dans notre exemple. Nous pouvons simplement le modifier
en un seul endroit. Nous allons donc simplement
le remplacer par un charleston ouvert. Nous pouvons le modifier en un seul endroit. Nous n'avons pas besoin de le modifier
ailleurs dans notre code. Et nous
y sommes. C'est donc une bonne raison
d'utiliser des variables, mais nous les utilisons beaucoup
dans le cours à partir de maintenant. Mais il s'agit simplement de donner un nom à quelque chose. Vous pouvez absolument
tout stocker dans une variable. Une chose que je dirai
à propos des variables est toujours essayer de leur donner
un nom significatif. Comme si j'avais eu un appel a, B
et C, ça aurait
été bien de l'utiliser, les
utiliser maintenant et je les ai
remplacés, les feuilles a, B et C auraient été bien maintenant, je me serais toujours souvenu comme je J'étais en train d'écrire le truc maintenant. Mais en fait, si je devais
récupérer ce bout de code dans trois mois et aller le copier ailleurs. Tu les utilises dans une nouvelle
chanson que j'écrivais. Ou même juste pour ouvrir
ceci et lire ceci. Et cela aurait été très, très difficile à comprendre, garder des noms significatifs
et cela rendra votre code tellement plus facile à lire. Et nous passons beaucoup plus de temps lire du code
qu'à l'écrire. Il vaut donc toujours la peine ce genre de
lisibilité à l'esprit.
29. Comptoirs de boucle: Une autre utilisation courante des
variables est de
suivre où nous en sommes lorsque
nous exécutons un programme. Par exemple, l'une des
choses que nous pouvons vouloir
suivre est l'endroit où
nous sommes dans un lupus, cette boucle est en train d'itérer. Jetons donc un œil
à notre façon de procéder. Nous pouvons donc
commencer par une variable appelée compteur et
la mettre à 0. Ensuite, nous avons une boucle. Il limitera donc cette
boucle à 30 points. Donc 30 fois du. Ensuite, nous mettrons
fin à cela. Maintenant, je trouve toujours qu'il est vraiment utile de mettre le
type à la fin après I, après avoir tapé le du. Donc si c'est le cas, si j'
utilise un Air for, si je fais quelque chose comme
une boucle avec un DO à la fin, et nous verrons plein d'
autres exemples plus tard. Je trouve toujours pratique de
mettre la fin tout de
suite,
puis d'écrire mon
code au milieu. Cela m'évite d'oublier de
terminer un bloc de code plus tard, en
arrivant avec un bug
étrange qui peut parfois être
difficile à trouver. C'est donc ce que je préfère faire. Mais quoi qu'il en soit, ce que
nous
allons faire, c'est faire une boucle dans cette boucle. Et pour chaque fois,
nous allons jouer une note. Nous allons donc jouer 50 ans et plus. Le compteur se met alors en
veille pendant un moment. Ensuite, nous
augmenterons le compteur d'une unité. Donc, il indiquera que le compteur
est quel que soit le compteur actuel, plus un. Okay, donc passons
à pied ou discutons notre
chemin si tu veux. La première chose que nous faisons
est de régler le compteur sur 0. Ensuite, nous disons, faites-le 30 fois. La première fois
dans cette boucle, nous jouons 50 plus le
compteur, qui est 0. Nous jouons donc 5050 plus 0 vaut 0. Nous nous sommes ensuite endormis pendant un
quart de seconde. Nous en ajoutons un au compteur et nous remontons cette
fois-ci à travers la boucle. Ensuite, on joue 50 plus un. Nous dormons un quart de
seconde, nous en ajoutons un. Donc les compteurs maintenant pour revenir à travers les compteurs pour
qu'il joue 50 plus deux. On joue à 52 et on dort. Ensuite, nous en ajoutons un au
compteur, ce qui fait maintenant trois. Nous remontons en rond, nous jouons 5353, puis nous dormons pendant un quart ou un
deuxième quart de temps, puis nous y ajoutons un
avec 54 et ainsi de suite et ainsi de suite. Et nous le faisons 30 fois. Ce que nous devrions faire
ici, c'est lorsque nous nous déplaçons, comme nous l'avons vu précédemment, lorsque nous augmentons un nombre dans la valeur de la note midi. Donc ce chiffre ici, ce 50, devrait déplacer la balle
qui monte d'un demi-ton. Donc, ce que nous
devrions
ici, c'est commencer à 50
et ensuite, chaque quart de temps,
nous devrions monter. On devrait jouer une note d'
un demi-ton. Alors
écoutons-le . Nous y sommes. Cela fonctionne donc exactement
comme prévu. Maintenant, c'est, encore une fois, une chose
tellement courante à faire que Sonic Pi
nous fournit un raccourci. Et cela fonctionne comme ceci, donc cela fonctionnera
parfaitement bien et c'est tout à fait normal de l'utiliser si vous avez
ceci dans votre tête et c'est plus facile à lire pour vous, est absolument ce qu'il
faut quelque chose à faire. Mais il existe une version plus courte. Je vais
vous le montrer maintenant afin que nous puissions nous débarrasser de cette variable de
compteur. En gros, nous pouvons le placer ici. On peut donc dire entre
deux tuyaux, comme ça. Et on peut s'en débarrasser ici. Vous pouvez donc voir que cela le
rend beaucoup, beaucoup plus court. Mais on peut dire que c'est le cas 30 fois. Nous pouvons dire, d'accord,
inclure ce compteur. Ce compteur commence
toujours à 0. Et chaque fois que nous
traversons cette boucle, elle le fera, elle en ajoutera une. C'est une chose tellement courante à faire. Il y a une fonction intégrée. Ça a l'air un peu étrange. Ce n'est
pas aussi facile à lire. J'apprécie cela, mais si vous vous y habituez, cela vous
fait économiser pas mal
de code. Bien sûr, ce compteur peut être appelé tout ce que vous voulez est assez courant en fait encodé
pour voir cela appelé I. C'est juste une convention dans apparemment tous les langages de
programmation. Je l'ai donc utilisé dans des tonnes et des tonnes de
langues différentes au fil des ans, mais il est assez communément appelé IAC pourrait être appelé compteur, vous pouvez l'appeler comme vous
voulez. Tu pourrais l'appeler Steve. Alors écoutons ça. Encore une fois. Juste une version plus courte
de ce que nous faisions auparavant. On peut appeler ça comme on
veut, suffit de se rappeler
qu'il doit avoir
le même nom à l'intérieur de la boucle. C'est donc ça. Ok, alors
amusez-vous un peu avec ça et assurez-vous de bien
comprendre ce qui se passe. N'oubliez pas de passer à la
section suivante où nous allons examiner quelques autres concepts
de programmation. Cette fois-ci quelques structures de données
intégrées à Sonic Pi.
30. Listes: Bon, il y a donc un certain nombre de structures de données
intégrées à Sonic Pi. C'est un nom compliqué pour
un concept assez simple. Nous allons donc les
examiner petit à petit. Et ils sont vraiment conçus
pour vous faciliter un
peu les choses. À l'intérieur de Sonic Pi, il y a plein de choses de construction vraiment
utiles, mais nous allons
les explorer dans cette section. Vous pouvez donc voir sur l'écran
que j'ai un programme
très, très simple qui
va jouer un accord. Maintenant, une autre façon de faire, juste pour gagner un peu de
temps sur quelques lignes de code, nous pourrions utiliser ce qu'on
appelle une liste. Maintenant, une liste
prend simplement un certain nombre de valeurs et les rassemble, séparées par des
virgules entre crochets. Laisse-moi juste te montrer ici. Alors mettons-nous un,
endormons ici. Nous pouvons donc avoir une liste
qui est, qui est ici. Nous avons donc des crochets ,
puis nous mettons toutes les valeurs que
nous voulons dans cette liste. Ensuite, nous opérerons sur tout ce qui se trouve dans cette
liste, sorte qu'il jouera
tout ce qui se trouve dans la liste. Nous pouvons dire que nous pouvons
simplement prendre la même valeur. Donc un A4, un I, un do dièse cinq, un do dièse
cinq et un E5. Si nous exécutons cela, mais nous allons jouer
cet accord et ensuite nous allons chercher un temps. Ensuite, nous allons
jouer cet accord et nous verrons qu'il y a
exactement la même sortie. Permettez-moi de séparer cet octet. Deux secondes. Je crois que
l'un d'eux s'accrochait. Ok ? C'est donc exactement
la même chose que ça. Mais nous le sommes, nous venons mettre toutes nos valeurs à
l'intérieur de la liste. Cela signifie que nous pouvons
déplacer trois lignes de code sur une seule. Nous pouvons également. Je l'ai remplacé par des numéros de note
midi. Nous pourrions donc dire l'
équivalent ici, qui est
soixante-neuf, soixante-treize et soixante-seize. Nous y sommes. C'est donc exactement
pareil. Ce n'
est donc qu'une liste de choses. Et dans ce cas, nous demandons que lorsqu'on lui demande de
jouer une commande, de jouer cette liste, cette liste contienne
toutes ces choses, mais il y a d'autres
choses que nous pouvons faire. Jetons donc un coup d'œil à certaines
choses intéressantes que nous pouvons faire. Nous allons donc créer une boucle. Laissons ça comme
ça pour le moment, puis choisissons et
assurons-nous de mettre notre fin. Maintenant. C'est une boucle dont
plusieurs ont besoin de dormir. Il va donc dormir
pendant un demi-temps. Maintenant, ce que ça va faire c'est que si je regardais comme
ça, ça va jouer cet accord. Dormez la moitié de
chacun. Rejouez-la, dormez après l'avoir rejouée. Maintenant, je suis
quelque chose qui pourrait être utile si nous pouvions en
choisir un au hasard à jouer chaque fois que
nous parcourons la boucle, nous savons que nous aurions une
note dans cet accord. Mais il s'agit simplement de
choisir l'une des choses cette liste de jeu plutôt que de les
jouer toutes en même temps. Pour ce faire, nous utilisons
une autre fonction de
randomisation. Et nous utilisons
beaucoup la randomisation dans la
programmation informatique en général, mais particulièrement dans ce genre de code de création musicale
parce qu'elle produit des
mélodies
vraiment intéressantes et brevets. Utilisons donc le choix de Kiba. Nous avons donc simplement mis la liste
entre parenthèses. Combien disent, d'accord, eh bien, choisis-moi quelque chose qui
ne soit pas une plante. C'est donc essentiellement
ce que dit ce code. Écoutons ça. Ok, donc tu peux voir qu' il choisit quelque chose
dans cette leçon. Vous pouvez
facilement voir comment quelque chose d'un peu plus complexe ou
peut-être une liste un peu plus longue peut vous inspirer
de la musique et des idées
intéressantes . Maintenant, je ne pense pas que nous puissions
le faire si nous le
pouvions, nous pourrions créer une variable. Donc on pourrait juste dehors ici. Nous pourrions parler et dire : « Oh, nous pouvons le faire
à l'intérieur ou à l'extérieur. Cela n'a pas d'importance, mais juste pour démontrer l'
utilisation de variables. Nous pouvons donc dire, créons une variable
appelée échelle underscore list is equal to, puis
découpons-les. Mets ça dehors. Ensuite, nous
pouvons dire jouer quelque chose à partir de cette gamme, cette liste d'échelles. Cela fonctionnera
exactement de la même manière, mais nous venons de
l'extraire maintenant dans une variable. Alors pourquoi est-ce utile ?
Pourquoi voulons-nous l'utiliser dans
différents endroits ? Nous pourrions dire qu'il faudrait peut-être
changer cette échelle en
une échelle différente. Dans ce cas, nous
pourrions simplement les modifier une seule fois et nous pourrions y faire référence
tout au long de notre programme. Mais juste un autre exemple
d'utilisation de variables pour stocker des valeurs.
Voici donc notre liste.
31. Indexes: Ok, et si nous voulons jouer une
note particulière
à propos des listes ? Et les listes peuvent avoir
une longueur arbitraire. Nous pourrions avoir
des centaines de notes
dedans si nous le voulions, ou une centaine, vous pouvez stocker n'importe quoi de
moins que notre étui
ne stockait que des numéros
puis les jouait, mais nous pouvons stocker
tout ce que nous recherché par vous peut avoir des centaines d'articles
dans votre liste. Comment choisissez-vous
celui que vous voulez jouer si vous voulez
jouer à un jeu en particulier ? C'est ce qu'on appelle l'indexation. Ou un index est, c'est juste
un moyen pour nous dire au programme quel élément
de la liste nous voulons jouer. Et nous pourrions le faire
simplement comme ça. Débarrassons-nous de cette
randomisation pour le moment. Alors débarrassons-nous de, débarrassons-nous complètement de cette
boucle. Donc si je joue ça maintenant, vais jouer ces
trois accords. Mais si je voulais seulement
jouer cette note moyenne ici, je mettrais juste un un entre
crochets. Je peux également le faire comme
cette liste. Peut-être que c'est
encore plus simple à voir. Donc posons ça ici, la façon dont nous avions
la liste à l'origine. Vous pouvez donc voir que j'ai ma liste et que je dis, c'est ma liste. Joue-moi juste cet objet
ici. C'est donc un. Maintenant, pourquoi est-ce un alors que
Lissa est toujours de base 0 ? Jetons un coup d'œil à
une diapositive pour expliquer cela. Comme je l'ai dit plus tôt, les ordinateurs commencent à compter à 0. Normalement, lorsque nous avons
commencé à compter, si vous demandiez un compte graphique, ils compteraient 1234, etc. Les ordinateurs
commencent toujours à compter à 0. C'est ce qu'on appelle une croix, à peu près tous les
langages de programmation. Il existe des exceptions, mais peu près tous les
langages de programmation. C'est pourquoi la valeur médiane dans la
liste des trois éléments que nous venons de voir. C'est pourquoi, pour
obtenir la valeur moyenne, nous avons choisi l'indice un parce que l'indice 0
aurait été 69. Index 173, un indice de 76. Il s'agit donc de l'indice 0. C'est l'indice un, et c'est l'indice numéro deux. Les index commencent toujours à 0 comme tout
le reste. Donc chaque fois que nous faisons un
comté de taille Sonic Pi. Ok, donc quand j'
exécuterai ce programme, on devrait
entendre le chiffre 73. Donc juste pour le prouver , jouons un 73. Ensuite, nous
dormirons quelques instants. Ensuite, nous jouerons l'index
numéro un de cette liste. Nous pouvons clairement voir qu'il s'agit de la même note. Si je voulais changer cela, je pourrais jouer le premier
élément de la liste. Je veux, je peux jouer le
dernier élément de la liste. Que se passe-t-il si j'essaie de jouer quelque chose en dehors de la liste ? Eh bien, rien ne se passe. C'est plutôt que de
lancer une erreur, c'est simplement, si nous regardons ici
sur les journaux, nous jouons simplement un repos. Maintenant, il existe d'autres
façons de jouer à RESA. Nous avons donc examiné,
supprimons cela. Il y a donc une sorte de chose
intégrée à Sonic Pi. Nous pouvons donc jouer au
restaurant là-bas. Donc on pourrait jouer, disons un C3, C4, C4. Je suis juste en train d'inventer des choses maintenant. UN E4. Ensuite, nous pouvons utiliser
ce symbole ici, ce codon, qui signifie arrestation. Ensuite, nous pouvons jouer, disons trois autres, A4. Ok, donc maintenant c'est, marchera pas sous cette forme
parce que nous allons, nous allons juste
jouer ces quatre notes et rien ici parce que ça va
jouer un rôle en tant que noyau. Alors revenons peut-être à un
moins pour avoir une échelle, ou cela pourrait
s'appeler n'importe quoi. Ma liste est donc égale à celle-ci. Ensuite, nous pouvons peut-être utiliser la construction de boucle que
nous avions auparavant. On pourrait donc dire cinq. Nous avons cinq choses, oui, nous
utiliserons notre compteur
cinq fois. Encore une fois, nous utiliserons l'IA par
convention. C'est notre fin. On peut donc dire « joue ma liste ». Ensuite,
entre crochets, nous pouvons lui indiquer quel indice
nous voulons jouer. L'indice que nous voulons jouer
est basé sur le compteur. Encore une fois, cela pourrait
être appelé compteur, il pourrait être appelé
comme vous voulez. Alors que nous regardons
cette première fois, le compteur sera 0. Il va donc jouer le
0ème élément de la liste, l' élément 0, le premier élément. Et puis nous allons faire le
tour à nouveau contre que nous avons incrémenté il
jouera cet objet ici. Ensuite, le compteur
sera incrémenté. Rejouez cet objet ici. Ensuite, nous jouerons ce
qui est une arrestation, puis nous jouerons un quatre. Maintenant, je veux
m'endormir ici. Écoutons ce domaine. Donc deux choses qui sont prêtes. L'une est que nous pouvons utiliser ce symbole
spécial à l'intérieur, désolé, pi pour indiquer un repos. Et deuxièmement, en mettant
cette liste dans une variable, puis
en utilisant le compteur, que nous avons vu dans le cadre
des itérations, en utilisant ce
nom de variable ici pour utiliser l'index pour sélectionner cet
élément, offrez moins. Il suffit donc de jeter un coup d'œil à ça. C'est assez couramment utilisé. Ce type de code est
très couramment utilisé. Assurez-vous donc de bien
comprendre cela avant de passer
à la section suivante, où nous examinerons l'utilisation
de certains des concepts que nous avons utilisés jusqu'à
présent pour créer un séquenceur de batterie
simple.
32. Faire un séquenceur de batterie: Nous allons donc utiliser certaines des choses que nous avons vues jusqu'ici pour créer un simple séquenceur de
batterie. Aucun des concepts présentés
ici ne devrait être nouveau pour vous, mais c'est probablement
la première fois que nous les
combinons pour créer
quelque chose de vraiment utile. Et cela
vous aidera à vraiment commencer à voir la puissance de la vue pi. Une fois que vous avez combiné tous ces
concepts,
nous avons
encore beaucoup à apprendre,
mais nous avons tout ce dont nous avons besoin pour construire un séquenceur de batterie maintenant. Commençons donc par créer des
variables qui
conserveront les noms
des échantillons que nous voulons utiliser. C'est très similaire à ce que
nous avons fait auparavant. Donc nous allons simplement dire
salut chapeau est égal au symbole de soulignement
du tambour,
trait de soulignement fermé. Nous allons créer une caisse claire, que nous appellerons zone SN. s'agit donc simplement du
nom d'exemple que nous allons utiliser. Et nous allons créer un kick, que nous utiliserons BD house, qui est le nom des
samples intégrés. Ensuite, nous allons l'
utiliser pour la grosse caisse. La prochaine chose que nous
allons faire est de créer trois variables
supplémentaires, qui contiendront
les motifs de notre rythme de batterie. Donc, lorsque nous créerons ce modèle, nous allons créer une chaîne et je vais
l'expliquer dans une seconde. Et il va contenir des
x et des tirets ou des traits d'union. Donc en gros, ce que nous voulons faire ,
c'est écrire un
peu de code après cela, disant,
chaque fois que nous voyons un
X jouer l'échantillon, si nous ne voyons pas de x, ne
jouez pas l'échantillon et ce sera la base de
notre, de notre échantillonneur. Nous allons donc créer le
patron pour le charleston. Nous allons donc
créer une variable appelée trait de soulignement chapeau haut de forme. Motif de soulignement. Ici, nous allons
créer une chaîne. Maintenant, une chaîne est
juste un type de valeur que nous avons mis entre guillemets
doubles comme ceci. Cela signifie que cela
signifie que nous pouvons utiliser espaces et tout ce que
nous voulons à l'intérieur. Mais c'est
simplement une façon de dire,
considérez cela comme une valeur globale. Même s'il y a des espaces ou
d'autres supports là-dedans, c'est toute une vallée. Là-dedans. Nous allons
mettre notre séquence de batterie. Nous allons nous
assurer que nous avons 16 caractères à l'intérieur, parce que nous allons
créer une séquence. y a donc 16 étapes, donc un séquenceur à 16 pas. Jetons donc un œil ici.
Nous allons donc en créer 16. Le personnage dit 123456789101112. Oh, non, j'ai très
mal réagi. 123456789101112131415. Je vais finir avec ça. Nous terminerons par un double
coup de pied. Donc, nous avons 16 étapes, je me
suis complètement trompé. n'y en avait que et les x, je pense que nous allons aller botter, reposer, reposer, reposer, reposer, repose-pied, tout le long, puis finir avec un double-clic. Nous avons donc 16
personnages. Nous créons ensuite notre motif de
caisse claire. Nous allons donc avoir un schéma de
caisse claire qui
ressemble à ceci. Créons donc une variable
appelée motif de caisse claire. Et encore une fois, nous voulons 16 objets
dans notre modèle de caisse claire. Donc nous allons faire trait d'
union, trait d'union, tiret, trait union X tiret
tiret tiret tiret trait d'
union, trait d'union, trait d'union, trait d'union. Nous pouvons le voir parce que
la police utilisée dans
l' éditeur de code est
une police à espacement fixe, ce qui signifie que
chaque caractère occupe le même
espace. Nous pouvons le voir parce que nous
savons que nous en avons 16 ici. S'ils s'alignent,
nous en avons 16 ici aussi. Mais crée notre modèle de kick. Comme je l'ai déjà dit. Sonic Pi ne se soucie
pas vraiment des espaces blancs. Vous pouvez placer des espaces ou retours
chariot où vous le
souhaitez, ignorez-les simplement. Donc, ce que je vais
faire, c'est simplement
ajouter des espaces supplémentaires. Donc tout cela s'aligne bien. Nous allons créer
un motif de caisse claire, quelque chose comme ça. Ok ? Et peu
importe à quoi ressemble le
motif de kick étroit de
votre charleston. C'est ce que je
vais faire pour l'instant. Et puis en dessous,
nous allons créer une boucle finissant Command M ou
Control M pour formater le code. Ensuite, nous
allons créer une boucle imbriquée. Nous voulons donc boucler pour toujours, mais nous voulons avoir une boucle 16
fois à l'intérieur,
qui va passer
par là et décider si nous jouons un chapeau haut de forme, une caisse claire ou un coup de pied. Bon, créons notre
16 fois, 16 fois du. Ensuite, nous allons
utiliser un compteur ici. Encore une fois avec le tuyau. Souvenez-vous que nous pouvons le
faire en initialisant le compteur et en faisant un compteur égal à compteur plus un ou, ou, ou quoi que ce soit d'autre ici. Mais c'est le
raccourci que nous allons
utiliser parce que c'est une chose si
courante dans code de Sonic Pi. Créons donc notre fin. Nous devons nous rappeler de nous
endormir à l'intérieur de notre boucle. Je vais dormir un quart
de temps ici. Ensuite, nous allons simplement utiliser le simple F pour
déterminer si. On devrait jouer de chaque batterie ou pas. Disons simplement un échantillon de charleston. Nous allons donc jouer
ceci, le sample charleston, qui va jouer
cette variable ici. Donc le symbole du tambour se ferme, mais nous allons jouer
si le motif charleston, je ne peux pas épeler charleston, chapeau
haut de forme. Ensuite, nous allons
voir si son indice est égal à x. Maintenant, laissez-moi vous expliquer cela. Donc, la première fois que vous passez le
compteur sera 0. Nous allons donc dire
jouer l'échantillon charleston, mais seulement si le
motif charleston pour l'indice 0. Nous allons donc examiner ce modèle
de chapeau haut de forme. Nous allons examiner
le premier personnage dans le motif charleston. Si c'est un X,
jouez le chapeau haut, nous ferons le deuxième tour du compteur pour
incrémenter le compte est maintenant de un. Cette fois-ci, nous
allons dire jouer l'échantillon de charleston psi
si le personnage à position un dans
le pattern charleston est un x bien positionné avec
une base 0. C'est donc le deuxième personnage
alors que ce n'est pas un X. Nous n'allons
donc pas
jouer le chapeau haut de forme. Nous pouvons donc le faire et
écoutons le modèle de charleston. Vous devriez être capable de reconnaître le motif de charleston à partir de cette corde que nous
avons ici. Donc il va jouer salut chapeau,
repos, repose-charleston, repose-charleston, repos charleston jusqu'à
la fin
jusqu'à ce que nous touchions deux charleston. Parce que nous tournons en boucle, ce sera effectivement trois chapeaux hauts et une rangée. Alors
écoutons ça. Ok ? C'est donc notre séquenceur
de base. reste donc plus qu'à faire exactement la même chose
pour la caisse claire et pour le coup de pied. Tout ce que nous disons, c'est de jouer
le sample de caisse claire. Si le motif de caisse claire à la position dans laquelle
nous nous trouvons, déterminé par le compteur,
l'indice du rat. Au compteur, il y a un x. Et écoutons ça. Enfin, nous pouvons faire de même pour
le coup de pied. Nous pouvons donc dire jouer
le coup de pied d'échantillon. Si l'indice de frappe
du compteur est égal à x. Et encore une fois, chaque fois
que nous faisons le tour de cette boucle, le
compteur
augmentera pour commencer à 0. Mais chaque fois que nous faisons le
tour de
la boucle, le compteur augmentera
d'une unité. Donc, chaque fois que nous passons par le conseiller,
augmentez d'un. Donc, s'il y a un x, cette position dans
le pattern charleston, le pattern de caisse claire ou
le pattern de kick. S'il s'agit d'un x qui va lire l'échantillon correspondant. Maintenant, c'est pour
cela que nous avons mis les inhibiteurs de compteur 16 fois. Nous avons donc notre
boucle, c'est-à-dire moi, nous allons faire une boucle pour toujours. Mais nous allons faire la boucle
16 fois à l'intérieur, ce qui signifie que
nous allons le faire. 12345678910111213141516
fois le moment
où cette boucle s'est terminée. Et nous allons frapper celui-ci, nous allons revenir en haut
et appuyer sur celui-ci va démarrer une nouvelle boucle 16 fois avec le
compteur réinitialisé, réinitialisé à 0. Le compteur sera donc
0123456789101112131415. Une fois qu'il atteint 15, a
franchi le saut 16 fois. N'oubliez pas que nous sommes en base zéro
lorsque nous comptons, il remontera en haut et le compteur
sera remis à 0. Nous revenons donc
au début de la chaîne et nous allons simplement faire des tours
et des tours encore et encore. Écoutons donc notre
séquenceur en action. Et bien sûr, nous pouvons changer
de modèle très rapidement. Maintenant, vous commencez
à voir la puissance des boucles et des variables
de sélection. Donc, si je venais de programmer
ce motif de batterie en jouant des échantillons, j'utilise
simplement une séquence. Donc juste un échantillon, un
échantillon, un échantillon que nous aurions écrit
sont beaucoup et beaucoup de code. Et si je voulais changer
le son de grosse caisse, par
exemple, ou le son de la caisse claire. J'aurais dû
y aller et changer ça. Et un très, très grand nombre d'
endroits auraient également été très difficiles à suivre . Où dois-je jouer ? Chapeau haut de forme et
où ne pas acheter ? Où devrais-je jouer un
kicker ? Où dois-je le mettre ? En utilisant ce
modèle simple ici, en utilisant
simplement certains
des concepts que
nous avons appris jusqu'à présent. Nous avons un très beau morceau de code,
très facilement lisible mais surtout, il est vraiment ,
mais surtout, il est vraiment
facilement modifiable. C'est très facile pour moi changer
le
schéma de mon coup de pied. Alors ajoutons un coup de pied là-dedans. Au lieu de cela Nous gérons ça. Nous avons un schéma de
frappe différent. On pourrait changer la
caisse claire pour en faire autre chose. Je pense qu'il y en a un qui
s'appelle snare generic. Encore une fois, du code très facilement
lisible, mais aussi facilement lisible et compréhensible et
facilement modifiable. Nous y sommes donc. Donc, assurez-vous que vous comprenez
vraiment cela,
amusez-vous avec. Changez certains motifs, modifiez certains sons d'
échantillons. Et pourquoi ne pas aller introduire un autre tambour
dans la séquence. Alors introduisez peut-être
une cloche de vache ou un, ou un symbole ouvert dans ce modèle et
voyez comment vous vous en sortez.
33. Les modèles de jeu: Ok, donc tout
à l'heure, nous avons examiné un moyen d'utiliser une boucle pour parcourir une liste ou liste de notes afin de
les lire chacune dans l'ordre. Mais en fait, il
existe
différentes manières de le
faire dans Sonic Pi. Et comme vous pouvez vous y attendre, Sonic
Pi vous propose toutes les tâches de programmation courantes qui peuvent être utiles pour la musique. Il existe donc quelques fonctions
intégrées appelées pattern de jeu et
pattern de jeu, qui nous permettront de
réaliser ce que nous voulons faire. Jetons donc un œil ici. Nous avions donc un tableau de liste qui y
ajoute des valeurs. Donc on pourrait appeler ça, appelons-le encore mon modèle. Il suffit donc de créer une liste. N'oubliez pas que notre liste est
juste un tas d'éléments
séparés par des
virgules entre crochets. Nous allons donc simplement choisir
quelques chiffres ici. Soixante-neuf,
soixante-trois, soixante-seize. Je suis presque sûr que c'est
ce que nous avions avant. Ensuite, nous pouvons dire jouer le motif de
soulignement. Jouer le motif de soulignement. Mon modèle. Alors écoutons ça. C'est exactement l'équivalent
de faire cela. Alors commençons simplement cela. Donc ça ne va pas s'exécuter, donc c'est exactement pareil. C'est juste qu'il est parfois un peu plus facile de stocker ces éléments dans une variable. Mais dans les deux cas, c'est bien. Ce que cela va faire, c'est que par défaut, il va simplement jouer toutes les notes de ce
pattern, de cette liste. Et il va
dormir pendant un temps entre chaque
note jouée. Si je veux changer, je peux
utiliser une autre méthode appelée
underscore de motif de jeu, chronométré. Et puis après,
après la liste, j'ai juste besoin de
lui donner une valeur pour combien de temps je voulais
dormir entre chaque note. Alors j'ai dit simplement «
virgule zéro 0,25 ». Et cela va jouer
cette liste ici dans l'ordre et se reposer pendant
0,25 entre chaque note. Ok, nous sommes
assez simples. Encore une fois, nous pourrions y faire des choses beaucoup
plus complexes. Nous pourrions donc dire que nous pourrions introduire un repos
comme nous l'avons fait auparavant. Et puis on pourrait faire
quelque chose comme ça ? On pourrait réduire la
taille, non ? Nous ferions donc 7673. Eh bien, l'
arpège redescend et 69. Donc ça va
jouer jusqu'au bout. Il va au restaurant un quart de temps
, puis
redescend avec un récif de
corail entre les deux. Remarque. Que nous sommes assez simples. Alors
amusons-nous un peu. Utilisons donc un synthé, et nous allons
utiliser un profit de synthé. Nous allons créer
une commande de boucle M, et nous allons jouer un
modèle temporel, mais à l'intérieur de cela, jouons
donc le
pattern comScore, underscore timed add. Nous allons créer une leçon
avec des crochets r. Et à l'intérieur, nous allons
créer une série de notes. Alors allons-y. Allons-y pour S3, v3, g3, G3, B3 et un C4. Ceux d'entre vous qui ont des connaissances en
solfège ont
peut-être remarqué qu'il
s'agit d'un arpège sept en do majeur. Bravo si tu l'
as fait. Donc on va monter l'arpège puis
on va redescendre. Donc un B3, Patrick G3, et un E3. Je vais juste faire une boucle
autour de ça. Et nous allons nous
reposer pendant
0,2 temps entre
chaque chose que nous jouons. Et nous finirons avec quelque chose
qui peut vous sembler familier. Un peu de fun avec,
avec des motifs. Là-bas.
34. Accords: Une autre chose que
nous avons intégrée Sonic Pi, nos courts. Alors jetons un coup d'œil.
Pour jouer un accord. Nous pouvons simplement dire jouer
un accord et nous avons juste besoin de lui dire quelle
couleur nous voulons qu'il joue. Jouons un D3. Ensuite, nous devons
lui dire quel type de noyau nous voulions jouer. Il y a donc une
liste complète ici et vous pouvez voir qu'elle apparaît
dans le code complet. Il y a donc tout un tas de cœurs qui sont
à notre disposition et c'
est vraiment une sorte de liste exhaustive
d'accords qui sont en train de passer. Mais pour l'instant, on peut
juste dire, d'accord, joue un accord majeur.
Jouons ça. Nous y sommes. C'est donc
joué comme un accord en ré majeur. Il y a beaucoup de
types là-dedans, donc nous pourrions vouloir
jouer un accord mineur. On pourrait jouer une septième mineure, sorte d'accord diminué. Bon, il y en a
tout un tas là-dedans. Et comme vous pouvez le constater, le code complet est
vraiment excellent. Donc dès que vous
commencerez à taper equal, il vous donnera toutes ces informations. Alors jouez, regardez les différents types d' accords ici et cela
vous évite de créer dans cette liste et de travailler. Les valeurs sont les notes qui
doivent figurer dans chaque accord. Supposons que nous ayons un D3. On va faire un accord de septième
majeure. Nous pouvons maintenant
utiliser des index pour nous
indiquer quelle note
du noyau doit être jouée. Donc, si je devais mettre un
index de un dessus, cela
jouerait la deuxième note l'accord de septième majeure D3. Encore une fois, si je change
cet index pour
qu'il soit correct, je peux utiliser, utiliser du code ici, utiliser des index pour extraire
les notes dans les tribunaux. Je peux également jouer dans des
versions d'accords. Débarrassons-nous de
cet index pour le moment. Changeons ça
pour un accord mineur. Et je peux dire, d'accord, eh bien, joue-moi la première
inversion de ça. Joue la deuxième inversion. Troisième inversion.
Nous y sommes. Donc beaucoup de choses vraiment utiles, fonctions
vraiment utiles
intégrées aux tribunaux. Je pourrais également jouer l'accord
en tant que a, en tant qu'arpège. Supprimons donc cela
pour qu'il reste simple et agréable. Mais au lieu de dire «
joue l'accord », je peux dire « jouer,
jouer la corde à motifs ». Par défaut, chaque
motif de jeu laissera un temps de repos
entre chaque note. Mais si je veux changer
la vitesse de l'arpège, je peux dire bouton Play, marée. Et j'ai juste besoin de mettre la
fin ici pour qu'on dise cinq, donc un quart de temps
entre chaque note. Une autre chose que je peux faire avec modèle de
jeu Simon, c'est que
je peux lui donner des valeurs
différentes pour le temps lequel je veux prendre
des notes respiratoires. Ce que ça va faire, c'est qu'il va alterner
entre les deux. Il va donc maintenir
0,25 pour la première note, 2,5 pour la demi-note, un temps
pour la deuxième note, quart pour la troisième
moitié de la quatrième. Et nous allons juste, nous allons
juste alterner entre ces
deux-là pendant que je monte l'arpège. Et vous pouvez
le voir dans le journal de bord, sur
le côté droit. Nous avons également le concept
de degrés d'accords. Donc, si vous avez fait
beaucoup de solfège, vous connaîtrez les diplômes
de base. Parfois, lorsque nous
parlons de cause, nous parlons la progression des accords communs. Nous avons donc parlé de peut-être 156 pour une progression d'
accords courante. Ils sont en fait
intégrés à Sonic Pi. Écrivons juste
un petit exemple juste pour le démontrer. Définissons donc le BPM pour
qu'il soit un peu, un peu plus élevé. Nous allons utiliser un piano. Ensuite, nous allons créer une variable qui va
emmagasiner l'agressivité. Notre progression d'accords sera
donc un ring. Ne t'inquiète pas pour
ce mot qui sonne pour le moment. Nous en parlerons plus tard. Pour l'instant, il suffit
de taper le mot Reagan. J'expliquerai exactement
ce que cela fait plus tard. Mais en gros, c'est une liste
qui tourne en rond. Donc, nous
tapons simplement ces symboles qui sont
des sortes de symboles courants, non ? Nous utilisons donc des chiffres romains pour nos quatre progressions lorsque nous parlons de solfège. Ensuite, nous allons créer une boucle et faire le tour huit fois. À l'intérieur de la boucle, nous allons
devoir nous rappeler de terminer. Souvenons-nous également de dormir. Donc, ici nous allons, nous allons jouer
le degré d'accord. Je vais donc expliquer cela au
fur et à mesure que je l'ai tapé. Nous allons donc
parler de degré d'accord, qui est une
fonction intégrée un peu comme les accords ou d'autres que nous
allons voir dans une minute. je vais dire jouer, jouer la prochaine valeur
de notre progression d'accords ? Cette coche la verra
donc à nouveau plus tard. Mais en gros, juste pour, juste très rapidement, une bague
est fondamentalement comme une liste, mais au lieu de sortir de
la fin et de ne rien obtenir, si elle obtient le seul
retour au début. Nous allons donc faire un tour
et un tour et un tour. Et cocher est juste une façon
de le dire, me donner le prochain élément de
la liste ou de la bague. On va être dans S3. sera la clé dans laquelle nous serons. Nous voulons être dans une clé majeure. Je peux épeler Major. Ensuite, nous allons simplement ajouter
une option supplémentaire. Nous allons donc définir le rappel de version
à partir de l'enveloppe ADSR. Donc, si nous avons regardé avant,
nous allons définir la sortie de quatre. Donc, ce que cela devrait
faire, c'est que l'
utilisation du piano
synthé va jouer. Chaque note va
émettre plus de quatre temps, c'est
pourquoi nous avons
le temps de dormir ici. Nous allons simplement jouer
sur une échelle en C3 majeur, ou une tonalité en C3 majeur. Nous allons jouer
le premier accord, le sixième accord, le
second, puis le cinquième.
35. Les gammes: Ok, ainsi de suite à l'échelle. Certaines échelles sont donc
intégrées à Sonic Pi. En fait, de
nombreuses échelles sont construites sur le psi prime.
Tu vas voir ça maintenant. Commençons donc par
un temps de jeu. Nous allons donc vouloir
jouer chaque note de la gamme. Nous allons donc jouer une gamme. Et puis, à l'intérieur
, nous devons dire quelle sera
la racine de notre échelle. Nous allons donc voir un C3, puis nous allons
choisir parmi cette longue
liste d'échelles. Il y en a donc une énorme
quantité. Nous pouvons voir toutes les sources
comme des gammes de blues. Il y a toutes sortes de gammes
de musiques du monde
différentes ici, ou échelles métriques. Il y a des modes de vision. Éolienne. Il y a encore les écailles
bleues. Filles chinoises,
écailles d'entrejambe, diatonique, diminuée,
mode Dorian, égyptienne. Il y en a un, il y en a
juste beaucoup ici, donc ça vaut vraiment le coup de scinder cette liste. Nous pouvons voir en bas que nous
avons toutes sortes de choses. Nous allons donc en choisir
un commun ici. Nous allons donc choisir la pentatonique
majeure ici. Ensuite, nous pouvons sélectionner le nombre d'
octaves que nous voulons dans notre gamme. Faites-le simplement avec un nombre d'octaves. Donc nous disons num octaves
et nous allons dire que nous voulons trois oxygènes
à grande échelle. Je vais dire que nous jouons le temps des
brevets pour nous
rappeler combien de temps nous
voulons nous reposer entre chaque note. Ce n'est donc rien de 0,5. Je dois régler la sortie des notes que
nous allons jouer. Mais définissez ce joli et
court à 0,25, juste pour que si nous ne le faisons pas, alors tous les nœuds se
heurteront les uns aux autres. Nous n'étions pas là. Une
belle gamme nette est jouée, alors
jouons-la. Ok, c'est la balance. Il y a donc tout un
tas de fonctionnalités intégrées. Maintenant, commençons simplement ceci.
Je vais te montrer une chose. Il y a donc une commande dans Sonic Pi qui est une commande Ruby,
mais Sonic Pi appelée
puts et puts va nous
permettre de corriger ce que
nous voulons dans le journal. Par exemple, si
je devais dire butts, Sonic Pi est génial. Quand je l'exécute, il va
le sortir dans le journal. Allons-y. Nous
pouvons donc voir à l'intérieur. Maintenant, cela peut être très pratique pendant
vos programmes juste pour en sortir un
peu , c'est OK pour que vous
sachiez où vous êtes. Vous savez donc quand vous êtes
à l'intérieur d'une boucle ou lorsque vous êtes en dehors de votre
partie particulière de votre programme. Il y a d'autres choses
que vous pouvez faire avec put, donc vous ne pouvez pas obtenir les sorties de certaines fonctions
intégrées. Donc, par exemple, si je
voulais dire output round, cela va sortir dans le journal de valeur
entre rien et un. Si je crée une variable, appelons-la message est
égal à bonjour. Et puis je publie
ou met mon message. Maintenant c'est le cas, il
récupère la valeur de cette variable et
l'affiche dans le journal. La raison pour laquelle je suis arrivé ici, est que
j'ai fait une
petite quête secondaire. Mais la raison pour laquelle je mets
cela ici est que je peux obtenir tous
les noms de gamme dans le journal en faisant ceci. Je peux donc dire que l'échelle de sortie NEEPS. Nous allons mettre des
noms de gamme. Nous y sommes. Ce qui se
terminera dans le journal, c'est une liste de tous les noms de gamme. Et vous pouvez voir qu'il y en a beaucoup
et beaucoup. Je suis probablement
un peu trop rapide, mais si je ne le faisais pas, nous serions en train de défiler pendant des jours. Vous pouvez donc voir à l'
intérieur. Jetez donc un coup d'œil à cette liste. Vous pouvez utiliser le code
que nous avons ici. Il suffit de décommenter ce truc ici. Allez là-dessus pour l'instant. Utilisez ce type de CO2. Il suffit d'écouter, d'
écouter certaines des gammes, peut-être de jouer certaines d'entre elles avec un sens
différent pour voir quelles
choses intéressantes vous pouvez monter. C'est ainsi qu'une chose que nous pouvons faire
avec les gammes, par
exemple, c'est que nous pouvons jouer
aléatoirement certaines
choses au-dessus de la gamme. Nous allons donc y jeter un
coup d'œil. Nous pourrions donc dire, prenons le pentatonique majeur C3
trois octaves et nous mènerons tous
exactement de la même manière. Mais choisissons de ne pas
jouer l'ensemble du motif, mais simplement de choisir
quelque chose à partir de cela. Nous devrons donc simplement changer
cela parce que nous ne
jouons plus un brevet chronométré. Faisons en sorte que ce soit simple
et agréable. Faisons ça. Ensuite, dormons
un demi-instant. Mettons tout cela en
boucle et exécutons-le. Encore une fois. Si vous avez tapé ce code sur votre ordinateur
et que vous le jouez, il jouera exactement la même séquence de
nœuds que celle que j'obtiens. C'est parce que du côté de
la randomisation, Sonic Pi est une sorte de
pseudo-randomisation. Ainsi, nous sommes
sûrs de toujours jouer la même chose à chaque
fois si nous le voulons. Si je veux changer cela, je peux, je peux changer la graine de
randomisation. Alors choisissez la graine aléatoire, je peux juste faire cette 606. Et cette fois, nous
aurons une forme différente, je peux en faire 99 formes
différentes. Mais encore une fois,
tant que ces graines aléatoires
restent les mêmes, ce sera le même
morceau à chaque fois.
36. Anneaux: Nous avons mentionné « bring before ».
Jetons un coup d'œil aux bagues. J'apporte donc un moyen de s'assurer que nous
ne sortons pas de la
fin de la liste. Nous allons donc le démontrer. Alors, utilisons
le terrain de putting. Nous pouvons afficher des informations
dans le journal et les voir maintenant. Supposons que si je crée une liste, donc 606467, c'est
celle que nous avons utilisée auparavant. Je pense que je veux sortir vers le, vers le journal l'
élément numéro un, donc 01. Cela devrait donc être affiché dans le
journal numéro 64. Nous y sommes. Nous pouvons donc voir le
numéro 64 affiché dans le journal comme nous l'
aurions prévu. Mais que se passe-t-il si je
demande l'article numéro neuf
de cette liste ? On voit que j'ai un zéro. Et la raison en est qu'il n'y a
que trois éléments, donc l'élément 0, l'élément un, l'élément deux. Donc neuf est hors limites, il n'existe pas, il n'
existe pas dans cette liste. Donc ça me dit que c'est nul. Maintenant, Sonic Pi, lorsque vous
utilisez la commande play
, gère
très bien cela et
vous donne un peu de repos au lieu de
lancer une erreur. Mais nous pouvons dire que cela pourrait
facilement nous rattraper. Par exemple,
mettons-le en neuf fois. Allons-nous utiliser à nouveau ce
raccourci pour obtenir le compteur et tirer, le
ramener ici. Donc ce que je m'attends
à voir ici, c'est qu'il
produise 60 pour la
première fois autour de 64, puis 67, puis six Nils. Et nous y sommes. Donc 606467
et puis un tas de clous. Alors, comment pouvons-nous le faire ? Ainsi, lorsque 606467
et ensuite l'arrière-plan, et vous pouvez voir que c'est le cas, cela pourrait être une chose vraiment
utile car nous créons une sélection de
notes que nous voulions. Maintenant, nous voulons simplement tourner en boucle et
arrondir
cette sélection de notes dans une courte séquence. Eh bien, nous pouvons le faire en
faisant de cette liste un anneau. Et il y a deux
façons de procéder. On pourrait dire qu'on pourrait
mettre un anneau à points après. Et ce que j'apporte, c'est
que c' est en gros la
même que sur la liste. Mais quand il arrive à la fin, lorsque vous demandez l'élément sur le
côté droit de la liste, il revient en boucle et vous
amène le premier. Donc ça tourne en rond
et en rond. Donc ce que je m'attends
à voir ici, 606467 sortie trois
fois. Et nous y sommes. Nous pouvons donc voir qu'il a parcouru la liste, puis l'arrière-plan,
puis à nouveau l'arrière-plan. Et cela va simplement continuer
et continuer pour toujours, autour de la liste. C'est donc très utile. Une autre façon
d'écrire ceci
est est créer la liste d'une manière
légèrement différente. Au lieu d'utiliser des
crochets, utilisez des parenthèses et
dites simplement qu'il s'agit d'un anneau. C'est exactement l'équivalent
du code que nous avions auparavant, et il va l'exécuter et il
fonctionnera exactement de la même manière. C'est juste une syntaxe différente si vous souhaitez une autre
façon d'écrire, donc vous pouvez utiliser celle que vous
préférez, celle que vous préférez. Okay, donc,
juste pour prouver un
point, jouons ça au lieu
de le mettre et ensuite nous allons mettre en sommeil les
images des deux entre eux.
Et c'est ce que nous sommes. Nous pouvons donc voir que ce
cerveau a fait le
tour, environ trois fois. Si ce n'était pas une bague, nous
aurions fini avec ça. J'aurais essayé de
jouer à partir de cette liste. Nous ne jouons pas les
trois notes,
puis nous avons fait six silences. Nous pouvons y voir la recette et la
sortie du point de vente. Donc en faisant cette
bague soit en utilisant le format que nous avions auparavant,
soit en disant anneau à points. Donc, en fait, les gammes et
les accords sont tous deux des anneaux. Nous avons donc examiné
les gammes et les accords auparavant. Ils sont tous deux définis comme anneau. Vous pouvez donc simplement faire des tours
et des tours, la fois des gammes et des accords. C'est pourquoi nous avons fait la progression d'accords de la session
précédente un ring, parce que nous voulions faire deux fois le tour de
cette progression d'accords. Nous pouvons donc faire de la même
manière que nous l'avons fait ici. Nous pouvons donc dire la même chose
que nous l'avons fait avec la balance. Donc au lieu de faire ça, on pourrait dire jouer sur un modèle
ou jouer Pat et chronométré. Ces deux choses
sont du travail sur une bague. Et puis nous pouvons encore une fois non, 0,25225 pour lui dire combien de temps il
faut glisser entre chacun d'eux. Et juste, juste pour
renforcer cela, cela équivaut exactement
à créer un anneau artistique, cette façon, juste avec le
clavier ou la façade. C'est à vous de
décider lequel vous préférez.
37. Fonctions de l'anneau: Ok, il y a un certain nombre de choses que
nous pouvons faire du tutorat. Allons donc allonger un
peu notre bague
pour que je puisse
vous montrer certaines de ces choses. Il y a quelques
fonctions supplémentaires que nous pouvons utiliser. Donc 606264 et ensuite
nous passerons au 656769717072. Et ça devrait nous donner ça. Ce bip devient
un peu ennuyeux. Alors choisissons un changement de
liste A. Utilisons donc un piano. Bon, il y a un certain nombre de choses que nous pouvons faire avec une bague. Il y a un tas de fonctions intégrées qui peuvent être
vraiment utiles musicalement. Et nous les ajoutons simplement
sur le ring. Donc nous pouvons dire temps de jeu, utiliser cet anneau et nous disons utiliser
cet anneau, mais point inversé. Ça va jouer
le ring à l'envers. On pourrait mélanger. Cela va donc jouer
toutes les notes de l'anneau, mais
les jouer dans un ordre aléatoire. Mais ce serait le même ordre à
chaque fois parce que
nous avons la
pseudo-randomisation dans Sonic Pi. Encore une fois, si je veux
changer cet ordre, je peux définir la graine de randomisation pour
qu'elle soit différente. Je ne peux jouer que les cinq
premiers éléments. Je peux donc dire qu'il suffit de prendre les cinq premiers éléments de cet anneau et de les jouer. Je pourrais dire que j'ai abandonné
les cinq premiers éléments. Quand je dis que j'ai laissé tomber les cinq
premiers éléments, cela signifie ne pas les jouer et
juste jouer, juste jouer ceci. Il y a d'autres choses
que je pourrais utiliser Stretch. Cela va donc répéter des éléments qui s'étirent peuvent être
ce que je veux qu'il soit. Disons trois cette fois. Si je veux répéter
la sonnerie entière, je peux dire « répéter » et « répétons celle-ci deux fois ». Et encore une fois, je peux en faire
le numéro que je veux ici. Je peux utiliser Mirror. Mirror est intéressant.
Le miroir va jouer tout le long du ring, ou dans notre cas c'est une balance, mais l'anneau peut être n'importe quoi. Il n'est pas nécessaire que ce
soit dans cet ordre, mais j'en ai fait une
échelle ascendante juste pour que ce qui se passe soit clair
et clair. Il va donc jouer
tout le long du ring, puis
il va repartir à travers
le ring en sens inverse. Maintenant, vous remarquerez qu'il a joué 60 soixante-deux,
soixante-quatre , soixante-six,
soixante-sept, soixante-neuf,
soixante et onze, soixante-douze. Et puis il a rejoué 72 et soixante et onze,
soixante-neuf, soixante-sept. Donc si je ne veux pas
ce qui est assez courant, je ne veux pas jouer à
celui-ci deux fois. Je veux juste monter puis redescendre, mais ne pas jouer ça au milieu
ou à la fin dépend façon
dont vous le regardez deux fois. Je peux utiliser le mot « réfléchir ». Je peux utiliser le mot « réfléchir ». Il ne jouera
le 72 qu'une seule fois. Ok ? Il existe donc un grand
nombre de fonctions. Ce sont les plus courants. Et vous pouvez creuser
à travers le quai, travers les quais
en bas ici pour chercher le reste. Mais une chose que vous pouvez
faire est d'enchaîner ces choses
ensemble pour que je puisse dire, d'
accord, donc je vais, je vais en placer
une en sens inverse. Mais je veux y réfléchir. Je vais donc réfléchir,
refléter la bague inversée. Il est donc joué de
la fin jusqu'au bout, puis de nouveau
jusqu'en haut. Et je tiens à le
répéter trois fois. Nous le sommes. Encore une fois, une bague est incroyablement utile. structure de données est La structure de données est la structure de données finale
que nous allons examiner dans
Sonic Pi pour l'instant, elle est exactement la
même que celle laquelle
nous pouvons accéder
via des index
, etc. fait des
tours et des tours pour qu'on ne puisse jamais
courir au bout d'un ring. D'où son nom, de nombreuses fonctions vraiment
utiles. Et je suis sûr que vous
pouvez voir qu'il existe de nombreuses applications
musicales
aux fonctions que nous pouvons appliquer deux sonneries. Ce sont donc des fonctions
que nous pouvons appliquer deux anneaux. Dans la section suivante,
nous allons examiner les fonctions que nous pouvons
créer nous-mêmes.
38. Fonctions personnalisées: Nous allons maintenant
examiner les fonctions,
qui sont une autre façon d'
organiser notre code pour qu'il
reste agréable et lisible et
que des parties de celui-ci soient qui sont une autre façon d'
organiser notre code pour réutilisables. Maintenant, en gros, une
fonction est une façon d'organiser un morceau de
code et de lui donner un nom, mais que Coburn
exécute réellement jusqu'à ce que nous le lui demandions. Alors plongeons-nous directement
et voyons comment procéder. Passons à l'éditeur de
code ici,
et j'en ai un peu
marre de ce bip sonore. Utilisons donc un synthétiseur. Nous allons donc utiliser les bénéfices dans. Nous allons commencer par
créer une fonction. Nous
allons donc créer deux fonctions, l' une appelée couplet et
l'autre chorus. Ce que certains ne nous ont
pas étiquetés à faire, c'est de définir l'aversion et bien sûr, pour notre chanson, et
ensuite nous serons en mesure de l' appeler. De cette façon. Nous serons
en mesure d'
organiser notre chanson comme nous le voulons sans avoir
à répéter le même
bout de code plusieurs fois pour chaque
première fois, par exemple. Commençons donc par
définir la personne. Pour définir une fonction, nous utilisons le mot-clé defined. Ensuite, nous devons donner un nom à
notre fonction. Dans notre cas, nous allons
l'appeler le verset. On a fini avec le « do ». Et parce que c'est ce que nous allons
faire, nous devons avoir une fin. Nous y sommes donc. Maintenant, tout ce que nous mettons dans ce bloc ne sera pas
exécuté lorsque nous exécuterons le code. Lorsque nous
cliquons sur le bouton Exécuter jusqu'à ce que nous appelions ce morceau de code
particulier. Nous allons donc garder l'inverse, beau et simple
le code agréable et simple à l'intérieur de notre fonction. Nous allons simplement suivre
un schéma chronométré. Disons que le motif de jeu est chronométré. Et créons une liste
à l'intérieur sont inférieurs à. Nous allons enregistrer. Notre code sera un D4. Et ça va
être un accord majeur. Et ça sera
suivi d'un autre accord. Et cette fois, nous allons
faire un accord A, C. Et ce sera un accord majeur. Enfin, nous
aurons un accord de sol. Ok ? Est-ce que je vais jouer chacun de ces quarts ou
est-ce un pattern chronométré ? Nous avons donc utilisé le temps de jeu. Nous devons donc dire
quel Sonic Pi, combien de temps dormir entre chaque
partie du motif. Nous allons donc
dormir pendant deux temps. Si je lance ce code maintenant,
rien ne se passera. Tout cela s'est passé et nous
pouvons regarder et le journal ici indique que nous avons d'abord
défini la fonction, mais nous ne lui
avons jamais demandé d'exécuter le
code
à l'intérieur. Donc pour l'exécuter, ou nous devons simplement le faire
, tapez le mot verset. Et cela veut dire, veuillez exécuter cette
fonction appelée verset ici. Et c'est exactement de la même façon que les autres fonctions
intégrées Sonic Pi définissent des choses comme jouer dans le pattern de
jeu et le pattern de jeu, tiny, etc. Ce
sont juste, ce sont
juste des fonctions que nous vous demandant de
lui demander de l'exécuter. Alors maintenant, quand j'appuie sur play ou run, nous y sommes. Il définit donc
le verset ici. Et puis quand j'appelle le verset, il exécutera le
code à l'intérieur du côté. Je peux donc en définir un autre. Définissons donc une fin appelée fin de chœur. Et à l'intérieur,
nous allons simplement jouer un autre motif, mais
nous en jouerons un autre. Encore la même chose, mais nous
l'utiliserons dans différents tribunaux. Donc, à l'intérieur de notre noyau, nous
aurons un A4, un accord majeur, suivi d'un ut, à nouveau d'un accord majeur, puis d'un accord de ré majeur. Et nous garderons
le même sommeil entre
chaque appel pour conserver
le même rythme. Donc maintenant nous avons un refrain
pour qu'on puisse l'appeler, au lieu d'appeler le couplet, on pourrait appeler notre refrain. Bon, maintenant nous pouvons construire une chanson simplement en
appelant notre fonction. Peut-être que nous aurons une averse, suivie d'un autre
couplet et d'un refrain, puis
d'un couplet final. Un livre assez simple, mais une construction de chanson
commune. Le premier verset contre
le deuxième couplet. Maintenant Chorus. Et la finale. Maintenant, pour réorganiser ou résoudre, nous pouvons simplement changer l'ordre dans lequel nous appelons les fonctions. Et pour changer de cap, nous pensons
peut-être que
A4 est un peu haut. Passons donc à un A3. Et maintenant, quand je
le jouerai, et encore, on pourra, on pourra réorganiser ça pour qu'on
puisse lui couper ça. Peut-être un chœur de
couplet puis deux contre. Maintenant, nous allons faire un chœur. Notre cap a changé.
Ensuite, finissez par faire
de même et créez un couplet et le refrain. Et
vous pouvez également créer
une ligne médiane ou un pré-chorus
ou une autre fonction. Et utilisez-le pour créer une courte chanson comme
je l'ai fait ici.
39. Paramètres de fonction: Maintenant, nous pouvons également passer des paramètres à nos fonctions et nous le faisons ainsi, donc en sens inverse. Nous avons donc ici un
couplet que nous avons répété deux fois. Mais une autre façon de le faire
pourrait être de dire, OK, Joue-moi deux fois ou
joue avec l'envers une fois. Je peux donc aller au
verset ici et dire, très similaire à la façon dont nous avons fait
cela avec les boucles et les compteurs. Nous pouvons juste à l'intérieur des tuyaux ici, nous pouvons simplement donner un
nom de variable pour pouvoir dire des répétitions. Cette variable
sera donc transmise à la
fonction lorsque nous l'appellerons, et nous verrons comment le faire dans une seconde. C'est très simple. Ensuite, nous pouvons utiliser cette
variable dans la fonction. On peut donc dire des répétitions
point fois du. Alors nous pouvons terminer ici. Il va donc répéter
le nombre de fois que nous passons à cette fonction. Donc ici, nous pouvons dire
que nous jouons ce premier jeu une fois. Et puis ici, au lieu d'
avoir un deuxième couplet, nous pouvons dire, d'accord, maintenant je veux que tu
joues le premier deux fois, deux fois. Super. Une dernière
chose que nous pouvons faire est donner une valeur par défaut. Donc, par exemple, si je devais oublier d'appeler le verset
ou d'en passer un, pour dire, répétez-le d'abord. Une fois. Ce qui suit va
se produire, nous pouvons voir que nous n'avons
pas le bon nombre d'arguments. Les arguments sont ce que
nous avons, ce que nous avons là. Ce sont donc, ce
sont, ce sont
les arguments que nous
passons à la fonction. Nous pouvons voir ici que nous nous attendions à ce qu'
un argument
soit transmis soit le nombre de répétitions, mais nous avons obtenu 0 parce que nous avons oublié de passer le nombre de répétitions
de la fonction. Une façon de résoudre
ce problème est d'y aller et de remettre ce numéro. Une autre façon est de dire, eh bien,
si je ne passe rien, alors joue-le une fois. Et nous pouvons le faire en définissant un paramètre par défaut, et
c'est très simple à faire. Nous pouvons donc dire où nous déclarons le paramètre ici
pour la fonction. Nous pouvons simplement dire égal à un. Eh bien, cela va faire, si je ne passe aucun paramètre, que d'assigner la valeur un à la variable des répétitions. Et si je fais partiellement une
valeur, utilisez-la. Revenons donc à notre configuration
d'origine, où nous avions deux couplets, un refrain, puis un couplet. Mais nous n'allons pas passer
de paramètre cette fois-ci, et nous allons simplement nous baser sur ce
paramètre par défaut. Allons-y. Il est donc évident que
nous pourrions faire de
même pour notre cours
si nous le voulions. On pourrait appeler ça des répétitions,
on peut l'appeler fois, on peut l'appeler
comme on veut vraiment. Encore une fois, nous déclarerons
une valeur par défaut ici. Et encore une fois, nous allons dire « heures d'arrêt
répétées, faites ». Ensuite, nous aurons besoin
de la fin de cette boucle. Allons-y. C'est ainsi que
nous définissons une fonction et affectons des paramètres
à cette fonction ou déclarons des paramètres
pour cette fonction, les
analysons et comment nous définissons paramètres
par défaut
pour ce que nous voulons faire si nous ne le faisons pas
transmettre un paramètre ou une valeur pour un paramètre
particulier. Vous pouvez donc voir ici
qu'il y a de très nombreuses utilisations. Cet exemple très simple
où il y a de nombreuses utilisations pour les fonctions de notre code a juste une façon
d'organiser notre code, rendant facile à modifier. Nous n'avons pas besoin de faire
le changement en un seul endroit. Par exemple, si je veux
changer le
couplet et qu'au lieu d'un C, nous voulons mettre un a,
il suffit de faire ce changement. Et chaque fois que j'appelle
la première fonction, ce changement sera reflété. C'est donc un excellent moyen de rendre votre code vraiment agréable et lisible. Je peux facilement voir qu'il s'
agit du couplet et du refrain. Je peux facilement voir la
structure de ma chanson. Comme je l'ai dit, c'est un exemple
simple d'
utilisation de fonctions, mais je suis sûr que vous pouvez imaginer
de nombreuses autres façons de le faire. Essayez donc de réorganiser
votre code et d'utiliser des fonctions pour le
rendre vraiment agréable propre, lisible et réutilisable. Nous avons donc fait
beaucoup de programmation. Dans la section suivante, nous allons faire une petite
pause et nous allons
revenir à la conception sonore.
40. Effets dans Sonic Pi: Ainsi, en plus de pouvoir utiliser synthétisés et des samples
dans Sonic Pi, il y a aussi tout un tas
d'effets intégrés. Et ils ressemblent beaucoup aux effets que
vous appliqueriez à une ou deux pistes et aux
instruments de votre DAW. Ou si vous préférez jouer des instruments
analogiques, peut-être en utilisant des effets de guitare, des pédales, ce genre de choses. Mais vous pouvez voir qu'il y a plus de 40 effets différents
intégrés à Sonic Pi. Voyons donc comment nous les utilisons. Pour démontrer ces effets. Nous allons utiliser
l'exemple que nous avons utilisé précédemment pour obtenir mon ordinateur de bureau. Rappelons-nous
comment procéder. Nous allons donc
lire l'extrait, qui se trouve dans les utilisateurs. Steve. C'est sur mon bureau et
ça s'appelle b21 point. Rappelons-nous simplement
à quoi ça ressemble. Donc pour appliquer des effets à cela, il
suffit de l'envelopper avec des blocs FX de largeur. Passons donc au
début, disons avec les effets de soulignement, puis nous lui donnons le nom des effets intégrés
que nous voulons utiliser. Vous pouvez voir tous les effets
en bas. Et vous pouvez voir
ici la même liste d'effets que je vous ai déjà montrés. Il suffit donc de
lui donner son nom. Dans ce cas, nous
allons utiliser une rivière. Nous pouvons donc dire qu'avec le codon d'
effets, réverbération, devons-nous
mettre fin à ce blocage ? Et donc, lorsque je joue maintenant
que vous êtes ici, un effet de réverbération a
été appliqué à cet échantillon. Il n'est donc pas nécessaire qu'il
s'agisse d'un échantillon. Il peut s'agir d'un synthétiseur, d'une simple commande plane. Mais cet extrait, en particulier,
parce que c'est un battement de batterie, il met
particulièrement bien en valeur les effets, ils sont particulièrement
faciles à entendre. Mais nous pourrions changer
cet effet pour qu'il devienne
ce que nous voulons. Nous pouvons donc
parcourir la liste et
trouver quelque chose que nous pourrions vouloir appliquer un
flanger, par exemple. Changeons donc la
réverbération pour qu'elle soit un flanger. Ou on pourrait le changer pour créer un effet de distorsion
pour un Sam plus sale.
41. Options de conversion: Comme pour la plupart des objets que
nous trouvons dans Sonic Pi, il existe un certain nombre de
paramètres que nous pouvons appliquer aux effets afin de
personnaliser le soleil que nous obtenons. Commençons donc par
ajouter un effet d'écho. C'est comme un retard.
Nous allons donc dire que la largeur affecte l'écho. À faire. Nous allons mettre fin à ce bloc. Et puis pour que cela reste simple et
agréable ,
utilisons simplement un endroit simple. Donc nous allons, nous allons jouer une note, un 55 va dormir pour deux. Utilisons peut-être un échantillon. Nous pourrions utiliser la cloche à vache. Nous allons dormir à nouveau, puis
nous jouerons encore une note. Nous allons donc jouer, je ne sais pas, 67. Écoutons
ce que ça donne. Bon, c'est ce qu'un écho appliqué à toutes ces
notes et à tous ces échantillons. Mais nous pouvons modifier
certains paramètres. Et vous verrez
qu' en regardant en bas,
nous pouvons, dans cette liste, vous verrez que chaque
effet possède
son propre ensemble de
paramètres différents que vous pouvez appliquer. Regardons juste ici l'écho. Ok, et nous pouvons voir
ici que nous
avons des choses comme la phase, amplitude et
le
mélange de la décroissance. Donc, si nous regardons, regardons
cette liste et nous pouvons dire, nous pouvons voir que la phase
définit l'heure et les échos, ou le signe entre les
échos en temps. Alors changeons cela. Nous devons donc faire la même chose que tous les autres paramètres que
nous avons transmis. Donc, nous appuyons sur une virgule,
puis nous disons ,
réglons la phase sur un demi-temps. Écoutons ça.
Et nous y sommes. Donc des
répétitions beaucoup plus lentes sur l'écho. Là-bas.
42. Effets de chaîne.: Maintenant, nous pouvons également imbriquer des effets. Donc, lorsque nous imbriquons des
affectations, tout ce que nous allons faire est un
peu comme les boucles d'imbrication. Nous allons juste placer ce
bloc dans un autre pâté de maisons. Ajoutons donc une réverbération et
je vais vous montrer comment procéder afin que nous puissions ajouter un autre effet
à l'extérieur de celle-ci. Nous allons donc ajouter une réverbération cette fois. J'aurai besoin d'une autre
extrémité à l'extérieur. Nous pouvons voir que nous
avons ce bloc d'effets, qui est l'écho
que nous venons de créer. Et maintenant, nous l'avons
intégré dans une réverbération. Et vous devriez
penser à l'audio qui circule de l'intérieur vers l'extérieur. La première chose
qu'il va faire est appliquer l'effet d'écho, le délai affecte
l'effet d'écho. Ensuite, il va appliquer tout cela au bloc extérieur. Cela va donc ajouter
une réverbération à l'écho. L'écho doit être appliqué en premier,
puis la réverbération. Cela ressemble beaucoup à la façon dont nous enchaînons des pédales effets
ou des unités d'
effets sur l'audio. Vous pouvez donc utiliser une imbrication
vraiment, vraiment profonde
pour des sons
vraiment, vraiment fous ou
innovants. Cependant, l'application
des effets consomme pas mal de ressources système
de votre ordinateur. Donc, juste un petit avertissement si vous appliquez trop de faits que vous étiez avance ou si vous remarquez des
problèmes de performance. Mais à la colonne vertébrale. Alors lançons ceci et nous allons
entendre maintenant que nous avons un écho avec une réverbération sur le dessus.
43. Prendre le contrôle: Parfois, nous
pouvons vouloir contrôler une phrase
déjà
en cours d'exécution. Pour ce faire, il
existe une fonction intégrée à Sonic
Pi appelée contrôle. Pour l'utiliser,
la première chose que nous
allons faire est de capturer la sortie de l'envoi
dans une variable locale. Nous allons donc créer une
variable appelée mon synthé. Nous allons créer une variable
appelée myosine. Dans ce cas, nous
capturerons la sortie d'une commande de lecture qui
jouera une note midi 40, et nous réglerons la
sortie sur cinq. Cette note sera toujours jouée, mais
la sortie de celle-ci
sera également capturée dans cette
variable de synthé. Nous pouvons ensuite
dormir un peu, faire une petite pause, puis utiliser
la fonction de contrôle
pour changer les choses sur ce qui est synthétisé afin que nous
puissions dire mon péché. Nous pourrions alors définir
toute une série de valeurs. Dans ce cas, nous allons
changer les notes et
nous allons dire, d'accord, maintenant joue un 45, va de nouveau dormir,
contrôler à nouveau le synthé. Cette fois, nous allons changer le
billet pour qu'il soit un 47. Ensuite, nous dormirons plus longtemps. Enfin, nous changerons à nouveau
la note en 40. C'est une fonction particulièrement utile à utiliser parce que si vous vous souvenez, nous avons défini le panoramique et l'amplitude et coupures et des choses comme ça
avant ou quand nous l'avons défini, nous avons dit que s'applique
à la fonction actuelle. Donc quand je fais cela, si je devais faire une pièce 14, placer le panneau sur
la gauche, j'aurais besoin de définir
ce pattern pour chaque note que j'ai jouée. Maintenant je peux, je peux
créer mon magasin de sens. Il crée cette version, par
exemple, ici. Je peux le stocker dans
la sortie par centre. Je peux maintenant contrôler mon synthé. Je n'ai pas besoin de définir
la version à chaque fois. Et vous pouvez imaginer que si j'avais une enveloppe complexe et que je
disais beaucoup de valeurs dedans, cela signifie que je n'ai besoin que de la
définir sur la première note, la première fois
que That's int est utilisé, capturer la sortie de
cela dans une variable, puis je peux simplement
faire les ajustements que je juge appropriés probablement juste pour changer les
notes plutôt que avoir à définir tous ces
paramètres à chaque fois. Alors écoutons
ça. La raison pour laquelle cela est particulièrement
utile est qu'au début de Rome, lorsque nous examinons
la commande de lecture, nous parlions de livres
d'amplitude. Nous avons également examiné les filtres avec des coupures et
des résonances, etc. Et nous avons dit que
ces paramètres ne
s'appliqueront qu' à la commande de
lecture qui a
été exécutée. Donc, si je voulais que tout soit panoramique vers la gauche et que je voulais la gauche et que je voulais
utiliser la commande play, par
exemple, j'aurais besoin
d'ajouter un pan moins un à
chaque note jouée. Alors que maintenant je peux régler
cela sur l'original, sur la première note, capturer la sortie
du synthé dans une variable, puis je peux l'utiliser
tout au long. Je ne veux donc pas mettre une enveloppe sur
chaque nuit. Si je veux conserver la même
enveloppe, la puissance et la coupure, la
résonance du filtre, etc. Nous allons donc
le démontrer un peu. Utilisons une phrase. Donc, le synthé utilisera cette
base de base et nous devons le faire, puis nous terminerons
ce bloc de synthé. Maintenant, il va faire
exactement la même chose, mais il utilisera ce synthétiseur de
base. Je peux donc ajouter mes
paramètres ici. Je pourrais donc dire, par
exemple, que je peux définir les
modèles ou moins un. Et ce que cela va faire, c'est que
plutôt que d'avoir à alimenter moins un après
chaque commande de jeu, je l'ai maintenant réglé ici. Il est capturé dans
cette variable et les paramètres que
j'ai appliqués ici, je peux contrôler tout au long
ou appliquer tout au long. Il y a maintenant de légères
restrictions à cela. Ainsi, des choses comme AMP pour l'
amplitude avec le volume, la coupure, le panoramique, des choses comme
ça peuvent être modifiées
une fois qu'une synthase a démarré. Mais vous ne pouvez pas modifier les paramètres de
l'enveloppe ADSR. Je ne peux donc pas changer
la version une fois, une fois qu'une synthase a démarré. Mais je peux contrôler d'autres objets. Comme dans la poêle. Je pourrais ici, je pourrais dire contrôler mon synthé et ensuite
régler la note de 40. Mais sur le dernier, je
pourrais le déplacer complètement vers la droite. Vous pouvez le voir encore une fois, c'est
une autre façon d'utiliser Sonic Pi pour prendre des raccourcis pour
vous éviter d'avoir à
vous répéter tout le temps et
contrôler réellement la lecture de la synthèse. Alors jouez avec
les options qui s'y trouvent. Et je pense que tu le
trouveras. Comme je l'ai dit, c'est une fonction assez avancée, mais je pense que vous la
trouverez très utile.
44. Contrôler la diapositive de note: Une autre chose que
nous avons lorsque nous utilisons la fonction de contrôle car nous pouvons utiliser une chose appelée note slide. Et c'est un peu comme un glissement ou un signalement de
leur entrée en vigueur. Nous pouvons donc l'ajouter
lorsque nous déclarons les variables
d'origine. Alors, ajoutons-le ici. Il suffit donc
d'ajouter un autre paramètre ou une autre option. Nous pouvons dire note
underscore slide. Et nous en avons créé un. Donc encore une fois, tout dans Sonic Pi quand on préfère chronométrer,
c'est le nombre de temps. Dans ce cas,
il va
falloir glisser d'
un nœud à l'autre. Alors écoutons à quoi
ça ressemble. Nécessairement. Encore une fois, je peux le rendre
vraiment long ou beaucoup plus court. On peut entendre un léger « in », beaucoup plus rapidement
entre les notes. Maintenant.
45. Contrôler les effets: En plus de contrôler les sens, je peux également contrôler les effets. Alors allons-y, essayons ça. Appliquons donc un effet. Exactement comme nous le faisions auparavant. Appliquons
celui-ci est plutôt bon. Nous allons appliquer l'effet d'oscillation. Ici. Nous devons utiliser les opérateurs
de tube pour fournir un nom de variable. C'est ainsi que fonctionne ce
contrôle avec des effets légèrement différents de ceux
des synthétiseurs. Nous lui donnons donc simplement une variable. Peu importe le nom de leurs variables. Je vais juste l'appeler f x. Donc j'aurai aussi un bloc
n, ou nous terminerons le
bloc également. Ensuite, à l'intérieur, nous
utiliserons un synthé. Nous allons donc dire qu'avec le synthé utilisera les profits n pour celui-ci. Ensuite, nous allons simplement ajouter
un peu de code à l'intérieur de ce bloc de synthé. Le bloc fonctionne
exactement de la même manière, c'est vraiment l'énorme synthé que nous utilisons dans la commande que
nous avons utilisé précédemment. Vous m'avez envoyé tendance à placer près du haut de notre code et il
utilisera la même chose
avec le synthé. Il suffit de dire, d'accord, il suffit d'utiliser ce synthé entre le do
et la fin de ce bloc. C'est donc juste une façon de
contraindre cela. Disons qu'ici
jouera un 40 avec une sortie de quatre. Nous allons ensuite dormir pendant quatre heures, puis nous
contrôlerons cet effet. Donc ce que nous allons faire, en fait, jouons-y avant de
commencer à contrôler les choses. Ainsi, vous pouvez entendre l'
effet d'oscillation tel qu'il est par défaut, commencera alors à
contrôler qui affecte le même nom de méthode. Nous allons donc dire contrôle. Cette fois, nous devons
lui passer cette variable ici. Donc cette variable que
nous avons déclarée en haut. Il sait donc de quels effets ou effets
nous parlons. Cette fois, nous allons régler
le mix pour ne pas vouloir. C'est donc la
quantité de signal humide qui va être émise. Contrôlera les effets
sur eux, jouera à nouveau. Nous jouerons une note
différente avec, encore une fois, avec une sortie de quatre. Vous serez donc en mesure d'
entendre le changement dans le mixage
des effets , c'est-à-dire la quantité d'effet produite entre la première
et la deuxième note. Vous pouvez donc entendre beaucoup
plus de signal
sec dans la deuxième
note qui a été jouée. Nous avons également quelques options
pour les effets de glissement. Alors, supprimons
simplement cela. Dans ce cas, nous
pouvons définir quelques-uns
des paramètres qui se trouvent
dans l'effet d'oscillation. Encore une fois, dans le panneau d'aide, nous
avons une
liste de tous les effets. Lorsque nous cliquons dessus, nous pouvons voir tous les paramètres
que nous pouvons définir. Définissons donc quelques
paramètres. Alors fixons la phase,
le visage à un. Nous pourrions également définir une chose
appelée la diapositive Face. Et nous allons le fixer à six. Donc à l'intérieur,
alors nous allons,
nous allons, nous allons jouer notre synthé pour que cela dure
un peu plus longtemps pour que nous puissions entendre tout
le visage glisser. Écoutons ça. Maintenant. Ensuite, nous pouvons contrôler
cela. Nous pouvons donc dire contrôler l'effet
pendant qu'il joue. Et nous pouvons placer la face cachée sur quelque chose de
beaucoup, beaucoup plus court. Comme je l'ai dit, les effets sont
légèrement différents. Nous devons lui donner
un nom de variable entre les tuyaux lorsque
nous déclarons l'effet. Mais vous pouvez vraiment entendre
ce dernier exemple où l'effet est contrôlé au
fur et à mesure qu'il se produit. Nous ne jouons donc qu'une seule note, mais l'effet, parce que nous avons réglé la libération sur une longue durée, l'effet change au fur et à mesure que la note est jouée.
46. Boucles en direct: Bon, il est temps de
parler de performance live. Il y a donc une
co-construction particulière intégrée à Sonic Pi, qui permet vraiment de jouer
en direct. Considérons une boucle que nous avons pu
utiliser par le passé. Disons que c'est dû, puis terminons. Ensuite, nous
ferons quelque chose de simple. Donc nous allons, nous allons jouer 60
animaux pour dormir pour un. Allons-y, jouons-y. Maintenant, ça va
continuer pour toujours. Mais que se passe-t-il si
je modifie cette note ? Changeons ça en 80. Je ne fais que le rappeler. Vous pouvez voir que les boucles
ont continué à jouer et qu'une autre boucle est
ajoutée en haut, en haut et en haut. Maintenant, ce n'est pas idéal
pour les performances live, c'est ce que nous voulons
vraiment faire lorsque nous jouons en live. Et Sonic Pi doit pouvoir apporter des modifications
à
notre code et faire en sorte que ces
modifications soient reflétées en direct. Donc, ne pas séparer les boucles jouant
les unes sur les autres, mais changez en fait la
course lâche pendant qu'elle est en cours d'exécution. Donc, pour ce faire, nous utilisons
l'utilisation de Lively. Alors faisons-le. Donc, tout ce que nous faisons est
des constructions très similaires dans la boucle, mais nous utilisons le mot live
underscore loop à la place. Et si on faisait ça ? Nous
devons lui donner un nom. Alors appelons-le simplement « foo ». On comprendra donc plus tard pourquoi nous devons leur
donner un nom. Mais maintenant, quand je lance ça, je fais exactement ce que vous attendez, jouant
en boucle autour de
60 moines plutôt. Si je passe à 60, écoutez ce qui se passe.
Si je le change à 70. Donc intelligemment, Sonic
Pi est capable de détecter le changement et de le faire vivre au fur et à mesure
que mon programme est en cours d'exécution. Maintenant que c'est arrivé, cela ouvre énormes possibilités pour,
pour les performances live. Et vous remarquerez que
c'était très malin qu'il n'ait pas fait le
changement immédiatement. Il a attendu
les bons points. Donc si je change ça
en sommeil pour 234234. Maintenant, si je vais faire ce
changement et passer à 55, et je le fais immédiatement
après une note. Vous remarquerez qu'il attend et continue de
dormir et qu'il ne redémarre pas la boucle avant le bon moment pour voir
si je peux le faire correctement. Nous garderons donc toujours ce minuteur interne en cours d'
exécution et nous
continuerons la boucle et n'apporterons ce changement
qu'à la
prochaine exécution, au lieu de l'exécuter
à nouveau immédiatement. Cela nous donne donc de
grandes possibilités. Nous pourrions donc, par exemple, régler cela
sur
quelque chose d'un peu plus
abordable, à moins que cela ne
revienne à une période plus courte. Donc nous pouvions, nous
pouvions faire toutes sortes de
héros rejoués en direct. Nous pouvons donc dire que le sable peut changer
cela en trois ou trois. Et nous pouvons parler ici autant de
code que nous voulons nous en
informer et il ne sera pas réellement exécuté tant que je n'appuierai pas sur Commande R ou sur
le bouton Exécuter à nouveau. nous ralentit. Je suis vraiment désolée. Désolé. Les faits. Juste Riba. Changez les notes. Les notes. Donc, vous pouvez voir ce qui s'est
passé ici, c'est que je n'ai pas ajouté une autre note, mais je n'ai pas dormi. Il joue donc efficacement ces
deux notes
en même temps. Un autre synthé. Et on y va. Vous pouvez voir comment
nous pouvons apporter des modifications à notre code
autant que nous le voulons. Et puis, lorsque nous appuyons sur Commande ou Control R
ou que nous appuyons sur le bouton Exécuter, la prochaine fois
que cette boucle sera exécutée, les modifications
prendront vie. Encore une fois, une
façon fantastique de
pouvoir jouer en live. Commencez par une base de code initiale, notre premier morceau de code, puis effectuez
vos changements de vie pour y ajouter
vraiment un
élément de performance. Nous pouvons donc avoir plusieurs boucles live en
cours d'exécution en même temps. Souvenez-vous avant, si nous
avions quelque chose comme ça, si nous avions une boucle
cachée ici,
nous allons,
jouons simplement une note, puis terminons. Ensuite, nous pourrions avoir une autre boucle, qui pourrait
jouer une cloche de vache. Que va-t-il se passer
ici ? Espérant chacun mais endormi. Pareil ici. Maintenant, bien sûr, la deuxième
boucle n'a jamais été réellement placée. On n'
entend jamais la cloche de la vache. Et c'est parce que
cette boucle tourne en rond
et en rond pour toujours. Ainsi, la séquence
du flux du programme ne
descend
jamais jusqu'à la deuxième boucle. Animé. Est-ce que cela
est légèrement différent ? Donc si je change cela
pour qu'il s'agisse d'une boucle en direct, et nous pouvons, encore une fois, nous
devons l'appeler un nom. Appelons celui-ci foo, changeons-le
en boucle live et appelons-le celui-ci. Un bar. Vous verrez maintenant que les deux boucles sont
lues en même temps. Faisons en sorte que
nous puissions entendre les sons. Changeons simplement le
sommeil à l'intérieur. Il va y avoir un rythme un peu
bizarre, mais cela signifie que nous
pouvons entendre les deux sons
jouer en même temps. Cela signifie que
plusieurs boucles peuvent être exécutées
en même temps. Et vous pouvez voir
que cela serait vraiment utile pour les performances live. Donc là où nous voulons
qu'un, peut-être un,
un motif de batterie joue une mélodie, peut-être des accords ou une ligne de fond. Et nous pouvons avoir tous ceux qui jouent indépendamment
dans leurs propres boucles. En même temps. Il garde le code propre et propre,
très facilement, lisible. Et nous sommes en mesure de le modifier en temps
réel au fur et à mesure que nous jouons.
47. Performance en direct avec des boucles en direct: Ok, donc tout à l'heure, nous avons écrit un séquenceur qui ressemble
un peu à ça. Rappelons-nous simplement
à quoi cela ressemble. C'est génial, mais je ne suis jamais aussi utile pour les performances live. Alors, comment pouvons-nous prendre ce code et le convertir en
quelque chose qui pourrait être un peu plus utile,
puis peut-être ajouter une ligne de base ou quelque chose comme ça. Voyons donc
ce que nous pouvons faire. Donc, évidemment, nous devons commencer par un cœur
vif par millier. C'est Trump. Tout cela a donc changé. Nous devons le faire maintenant pour que je puisse y aller
et m'occuper de ça. Je peux changer le schéma en direct. Ajoutons donc trois coups de pied à la fin. On les entend. Dans le cadre de nos performances, nous modifions le kickback. Ajoutons donc une autre boucle en direct. Cette fois, je vais ajouter une référence. Nous allons donc créer une boucle en direct. Faut-il lui donner un nom ? Appelons cela
la base de la bibliothèque. Souvenons-nous de c, n the loop. Et dans cette boucle
, nous utiliserons un synthé. Nous utiliserons donc, vous utiliserez l'hypermarché. Ensuite, ce que nous allons
faire, c'est avoir
une boucle ici qui
ressemble 16 fois. Et nous terminerons la boucle. Ensuite, à l'intérieur de cette boucle, nous jouerons une note de la gamme pentatonique
mineure, pentatonique mineure. Nous allons donc jouer à partir d'une gamme
basée sur la note midi 40. Nous jouerons une gamme
pentatonique mineure. Et nous allons simplement choisir une
note dans cette gamme. Quelques autres paramètres juste pour que le
son soit un peu meilleur. Nous allons donc définir la
version à 0.3. Et nous allons dire ne
jouer que si une sur deux, donc avec une probabilité de 1 et de jouer une des notes. Il suffit donc de choisir une note au hasard dans la
gamme pentatonique mineure. Mais il faut dormir
parce que nous sommes dans une boucle. Nous allons donc dormir pendant
0,25 ou quart de répétition. Et on y va. Laissons juste, lançons ça et
écoutons à quoi ça ressemble. Cela semble bien parce que nous
jouons au même
rythme et à la fois sur le plateau,
parce que les deux ont commencé
à jouer ensemble. Cependant, l'une des choses que vous pourriez
vouloir faire dans,
dans, pendant une performance live
est d'ajouter un nouveau lipide, ou très souvent les boucles
Live que vous pouvez construire au préalable, puis commenter puis décommentez. Mais faisons comme si je pouvais juste couper ça dans mon presse-papiers pour l'instant et
nous allons lancer celui-ci. Imaginons que
je l'ai tapé
à nouveau et que je vais
appuyer sur le bouton Exécuter. Ça ne sonne pas aussi
bien cette fois-ci. Ce n'est pas synchronisé avec
les atouts. La basse sonne hors du
temps avec la batterie. C'est un moyen vraiment très simple de résoudre ce problème, et il est intégré à Sonic Pi. Et tout ce que nous avons à faire,
c'est à l'intérieur de nos bibliothèques. C'est pourquoi nous donnons
notre nom et nos boucles en direct. On dit simplement qu'on en
a marre de la batterie. ai marre de la batterie. Alors maintenant, quand j'ai introduit
cette boucle en direct, si je la coupe à nouveau dans le
presse-papiers, collez-la dedans. Lorsque j'appuie sur le bouton Exécuter, il attend le
bon point dans la bibliothèque pour
démarrer la ligne de base. Il reste donc toujours synchronisé
lorsque j'appuie sur Run. Maintenant, je suis comme si la
performance était en marche. Nous pouvons choisir de
changer certaines choses. Peut-être souhaitez-vous
modifier une base de référence. Une façon simple de
le faire pourrait être de changer la
graine aléatoire que nous utilisons. Supposons que vous utilisiez une presse à
graines aléatoire avec trait de soulignement Run. Nous voudrons peut-être changer
celui qui est inestimable. Maintenant, nous obtenons moins de
notes et de base. Vous pouvez supprimer
celui-ci a1 complètement. Maintenant, nous jouons chaque note. Nous pouvons introduire une bouilloire
différente, une caisse claire
différente. Allons-y. Et nous pouvons continuer
à apporter des changements au fur mesure que la musique joue le contour. Vous pouvez donc vraiment voir comment utiliser les boucles en direct et
basculer entre les
boucles live pour
vous assurer que tout reste en phase les
uns avec les autres. Et vous pouvez simplement modifier
votre code comme vous le souhaitez, au
fur et à mesure des performances.
48. MIDI: Bon, en plus d'utiliser du
code pour jouer de la musique, nous pouvons également prendre des entrées
depuis un contrôleur MIDI. Nous devons donc configurer quelques éléments dans leurs préférences
pour activer cela. Donc, si nous allons dans la fenêtre
Préférences ici, si nous allons à I0, nous pouvons voir ici que
cela est activé. Donc, moins moins prend le vôtre
peut être désactivé ici. Nous devons donc nous
assurer que nous activons cuz
entrant, alors vous pouvez voir que mon clavier
midi est activé ici. Alors clôturons ça.
Et nous allons voir ça. Il s'agit d'un autre
cas où
le panneau des repères peut être
particulièrement utile. Donc, par exemple, si j'appuie sur
une note de mon clavier maintenant, vous verrez que le nom de la manette
est connecté ici . Et il nous dit que
mon tir à l'arc ou pas de touche 37, qui est le nom de
mon contrôleur midi. Il y avait une note off,
une note sur l'événement, suivie d'une note off events. Et ce que cela nous dit, c'est que les notes étaient une note 60, qui est un siège central. La deuxième partie de cette
liste dit des centaines. C'est la vélocité avec
laquelle j'appuie sur cette note, si j'appuie à nouveau dessus, j'
aurai une vélocité différente. Nous y sommes donc. C'était un 112. Une note différente
me donnera un numéro différent. Donc c'était une note 67, qui était un G, et je l'ai frappée
avec une vitesse de 115. Nous pouvons donc utiliser ces
informations
provenant de notre clavier
midi pour jouer
de la musique en utilisant peut-être un synthétiseur ou un son que nous avons créé à l'intérieur de Sonic Pi, mais être capable de
le jouer sur notre clavier. C'est donc ainsi que
nous procédons. Tout d'abord, créons une œuvre vivante. Il suffit d'appeler cet exemple midi. C'est très bien ça. Mettons fin à ça. Alors ici, j'ai besoin de
faire deux choses. J'ai donc besoin de créer deux variables afin de
pouvoir séparer ces variables. Ce sont donc les plus rapides et c'est
ce que nous allons obtenir de cette liste que nous
voyons dans la file d'attente ici. Voici le
numéro de note et la vélocité. Nous allons dire
qu'une synchronisation avec a. Maintenant, nous devons lui donner le nom de l'événement qui se passe. Donc, dans notre cas, entre guillemets, nous allons dire exactement comme il est écrit dans
le panneau de la file d'attente. Et nous y voilà. Il va donc récupérer dans le panneau de
file d'attente pour nous. Mais nous allons
dire Middy,
les deux points sont l'étape clé de la charia 31371. Et voici le mot sur le stylo. Nous voulons donc dire,
quand nous recevons une note, que
je veux utiliser un synthé. Je vais utiliser le piano. Piano. Et je vais lui
passer la note qui vient du
clavier midi. Et je vais passer ça
au paramètre note
ou à l'option no. Je vais régler
l'amplitude pour qu'
elle corresponde
à la division de la vitesse par 127. La raison en est
que l'amplitude qui provient de Midea est
une valeur comprise entre 0127. Mais le paramètre d'amplitude ou l'option d'amplitude dans Sonic Pi est défini comme une valeur
comprise généralement entre 01. Nous allons donc simplement
prendre cela, prendre la vitesse qui vient divisée par 127 et qui
nous donnera une
amplitude appropriée pour le site Pi. Alors lançons ça. Et maintenant, en appuyant sur les
notes de mon clavier, je peux jouer du synthé avec piano depuis l'intérieur de Sonic Pi. Et encore une fois, si j'avais
ajouté des filtres, des enveloppes, et le type
de paramètres ADSR, etc. Ils seront reflétés lorsque je jouerai de mon clavier midi. Cependant, si vous avez un clavier
midi connecté et que vous venez d'
utiliser cet exemple, remplaçant
évidemment cette partie
ici par n'importe quel nom,
votre clavier est appelé
depuis le panneau des repères. Vous remarquerez qu'il y a
une grande latence. Maintenant, cette
latence existe exprès et nous pouvons la supprimer, mais la latence existe. Je peux garantir que lorsque
vous appuyez sur ce bouton, il y a exactement 2,5°
entre une nouvelle pression sur une touche. Et vous pouvez voir que si vous regardez dans le panneau des accusés, il y a un délai de 2,5 secondes entre le
moment où vous appuyez sur une touche. Et quand ils
sonnent vraiment. Maintenant, cette latence est volontairement intégrée à Sonic
Pi. Et cela aide vraiment au
chronométrage parce que les ordinateurs, en fonction de ce qui se
passe sur l'ordinateur, peuvent fonctionner à des vitesses
très variables. Donc, pour pouvoir
faire couler les choses et fonctionner à un rythme régulier nous voulons normalement dans un morceau
de musique, en fonction de ce
qui se passe sur l'ordinateur, ce délai 2,5ème
est introduit sur pour être en mesure
de contrer cela. Il est donc très simple de supprimer cette latence si nous
voulons jouer en temps réel. Et nous le faisons par
une simple commande. Nous disons simplement utiliser le
soulignement en temps réel. Maintenant, lorsque j'appuie sur Run, le message a
immédiatement sonné que j'ai appuyé sur
la touche correspondante de mon clavier contrôleur
midi. Donc tout cela est bien beau. Et vous pouvez dire : Eh bien,
Steve, c'est génial, mais je peux déjà
jouer d'un synthétiseur. J'ai ce qu'
il faut, j'ai un synthétiseur autonome
que je peux utiliser. Mais en fait, nous
pouvons maintenant appliquer une partie de la programmation que
nous avons apprise
à notre synthétiseur, car il obtient
des résultats intéressants. Nous pourrions donc dire
quelque chose comme ça. Donc au lieu d'utiliser ce synthé, nous pourrions dire, d'accord, eh bien, quand j'appuie
sur une note de mon clavier, peut-être un bloc-notes,
mais excusez-moi, quelque chose au hasard d' une gamme définie par
la note qui a été transmise. Et puis joue-moi
quelque chose au hasard sur la gamme pentatonique majeure. dépend de la note
que j'ai choisie. N'importe où dans les trois octaves. Et réglez le, comme nous l'avons fait auparavant. Définissons l'amplitude sur, pour être
la vitesse transmise. Alors, combien de force ou de rapidité nous avons frappé le clavier divisé par un 127. Ne vous inquiétez pas, si vous manquez
le réglage de l'amplitude. Vous jouerez simplement à
l'amplitude par défaut de 1, peu importe la force avec
laquelle vous appuyez sur la touche. Cela a donc parfaitement fonctionné. Sans cela, vous perdrez la sensibilité à la vélocité
de votre clavier. Ce qui va se passer maintenant, c' est que peu importe ce que je joue
une note, je vais choisir une note sur la gamme pentatonique
majeure, quelque part sur trois octaves pour
les notes sur lesquelles j'ai appuyé. Je vais donc appuyer sur
un C ou S3 du milieu. Ainsi, lorsque je clique sur Exécuter ici, chaque fois que j'appuie sur cette note, il me joue une note de la gamme pentatonique majeure. Vous pouvez voir que la
file d'attente est ici sur le, sur le, dans le panneau des repères. J'ai juste appuyé sur le C 60
central. Mais il émet une note différente. Quelque part dans la gamme pentatonique
majeure, à moins de trois octaves de
la note que j'ai jouée. Maintenant, c'est un bon exemple
pour pouvoir vous montrer que nous pouvons peut-être réaliser
des choses utiles avec du code. Mais
regardons un exemple de plus en plus utile. Supprimons simplement ça. Joue encore. Cette fois, nous utiliserons un synthé, donc nous utiliserons les flux. Eh bien, nous garderons ce code. Ce code est parfaitement bon. C'est juste dire, ok, c'est juste créer
une boucle en direct, c'est-à-dire utiliser le temps réel
et capturer les notes et la vélocité de l'événement note
on sur notre clavier. Mais cette fois, nous allons
faire quelque chose d'un peu plus intéressant. Imaginons donc qu'à chaque
fois que j'appuie sur une note, je souhaite jouer un pattern chronométré. Donc, au lieu de
jouer une seule note vous jouerez une série de notes. Reprenons la
gamme de la note. D'après les notes
que nous avons
reçues du clavier. Et nous utiliserons à nouveau le
pentatonique mineur. Mais cette fois, nous
allons y réfléchir. Nous allons donc jouer toute la
gamme vers le haut et vers le bas. Et comme nous utilisons dans le pattern de
jeu minuté, nous devons lui indiquer
combien de temps nous voulons faire une pause entre les notes. Nous allons donc définir cela
pour qu'il soit très court. Ensuite, nous définirons à nouveau
l'amplitude comme étant la vitesse divisée par
cent vingt-sept. Vingt-sept. Permettez-moi de le déplacer
un peu pour que nous puissions
voir toute la ligne. Alors que je joue une note
sur mon clavier midi, il va me jouer la gamme pentatonique
mineure, fonction de la note
que j'ai pressée. Et il va le jouer très vite tout en haut puis en
redescendant à la
vitesse que je passe. Alors écoutons ce que ça donne. Vous pouvez donc voir que j'appuie
simplement sur OneNote. Nous jouons sur toute cette gamme
pentatonique tout
en haut et en arrière. Et bien sûr, je peux ajouter
un autre objet pour pouvoir dire octaves. Très bien. Vous
pouvez donc voir que nous pouvons vraiment écrire
du code qui se déclenche lorsque nous
appuyons sur une note notre clavier midi pour faire toute
une série de choses
différentes. Et les gens l'ont utilisé
à bon
escient avec des performances, en particulier avec différents
types de contrôleurs midi, pour pouvoir déclencher différentes fonctions en fonction de
la note jouée dans. Donc, si vous avez un contrôleur
midi, qu'il
s'agisse d'un clavier
ou d'un PAD,
avoir une solution de contournement
est assez facile à
configurer comme nous l'avons vu à l'intérieur de Sonic Pi. Encore une fois, vous trouverez de
l'aide supplémentaire sur la configuration dans
le panneau d'aide. Mais c'est vraiment
très simple à faire. Et c'est un appareil de performance live
vraiment très puissant. Ainsi, vous n'avez pas seulement
la possibilité de changer de code en direct dans les boucles
Live pendant que vous jouez. Mais vous pouvez également utiliser un contrôleur
midi pour ajouter des dynamiques différentes
à votre performance live.
49. MIDI out: Ok, donc ça explique comment
on entre dans Sonic Pi. Mais Sonic Pi peut
également émettre de la boue. Nous pouvons donc contrôler
d'autres appareils MIDI ou envoyer du MIDI à notre
DAW à partir de notre code. Donc pour le démontrer,
je vais utiliser un synthétiseur synthétisé comme un fantastique synthétiseur
libre appelé vital. C'est un synthétiseur que j'
utilise dans mon
guide complet de synthèse et de conception
sonore pour débutants . Donc, si vous voulez en savoir
plus sur vital, veuillez
consulter ce cours. Je vais juste charger
un préréglage que j'ai créé l'autre jour, appelé
Skynet quiet. Voilà à quoi
cela ressemble. Ok, donc c'est une
course synthétisée et je peux jouer
avec mon clavier midi, mais je peux aussi le jouer
en utilisant du code. Je peux donc voir que
dans les préférences que j'ai une sortie connectée, qui est mon tir à l'arc
une étape clé 37. Ce n'est pas quelque chose
que je peux comprendre. C'est quelque chose que
Sonic Pi a pu
récupérer lors de son ouverture en
fonction
des appareils que j'avais
connectés à mon ordinateur. Je peux donc définir mon canal de sortie
MIDI par défaut. Je laisse ce paramètre
à tous et nous pouvons contrôler quel canal
nous pouvons utiliser pour encoder. Et cela peut être utile
si vous utilisez quelque chose comme un contact
où vous pouvez avoir plusieurs instruments
en cours d'exécution en même temps et envoyer
différentes commandes à différents
canaux Midi pour pouvoir contrôler différents
instruments de contact, par exemple. Mais nous allons faire en sorte que ce soit simple et
agréable. Nous utilisons vital.
Écrivons donc un peu de code. Il suffit donc d'
utiliser la commande midi,
midi note on pour lancer la lecture de la note
midi ou pour envoyer une note midi sur commande
au périphérique de sortie midi, notre clavier dans ce cas. Et puis va dire,
OK, maintenant c'est vraiment subtil. Laissons donc un
peu de code binaire pour que nous
puissions dire une note midi. Allons-y. Nous pouvons donc dire émettre de la lumière. Jouons un E trois. Peu importe qu'il s'agisse
d'utiliser une minuscule ou une
majuscule ici. Mais j'utilise simplement
des applications pour rester cohérent tout au long. Nous pouvons dire que
nous jouerons ensuite à l'E3 et que nous jouerons
à une vélocité de 50. Et nous l'enverrons
sur le canal midi 1. Nous allons ensuite
dormir pendant quatre temps. Ensuite, nous enverrons
la
commande midi note off , midi note off. Et encore une fois, nous devrons indiquer
quelle note désactiver. Nous allons donc désactiver
l'E3 que nous venons d'envoyer. Et encore une fois, ce sera une commande que nous allons envoyer sur le canal numéro un. Allons-y, lançons ça. Et vous pouvez l'entendre
sortir du synthétiseur. Maintenant, si je recommence, vous pouvez voir
le bas du centre où
j'ai acheté mon vital. Vous pouvez voir sur le clavier que la note
midi a effectivement été envoyée. Il a donc été envoyé via
mon contrôleur MIDI. Les sauvegardes sont vitales. Comme je l'ai dit, avec différents instruments
virtuels, vous pouvez certainement et j'
ai contrôlé le contact directement depuis Sonic Pi fonction des
canaux midi que je lui envoie. Cependant, j'ai juste
choisi d'utiliser
vital dans ce
cas, parce que c'est un synthétiseur fantastique et gratuit pour que tout le monde puisse suivre. Ajoutons donc une autre
note également. Alors envoyons une note midi. Le. Cette fois, nous
allons lui envoyer un A4. Encore une fois, nous utiliserons
une vélocité de 50 et nous l'enverrons sur le canal 1. Je dormirai pour. Et puis, tout à coup, nous le saurons
vraiment. Et nous lui dirons
de désactiver Non, A4 sur le canal 1. Et appuyons sur Play puis, ou sur Rum
, puis sur Vital. Allons-y. Un exemple
assez simple, mais il montre
comment vous pouvez envoyer du MIDI depuis Sonic Pi vers n'importe quel instrument
ou instrument virtuel
auquel vous souhaitez vous connecter. Et c'est certainement une
bonne utilisation pour cela peut être le contrôle et un synthétiseur analogique
externe. Vous pouvez donc le connecter
à sorte de
synthétiseur externe que vous avez sorti de votre
ordinateur via
un câble midi, puis
envoyer des commandes
midi depuis un câble midi, puis
envoyer des commandes
midi Sonic Pi pour
contrôler n'importe quoi. Depuis ça, tu l'as peut-être fait.
50. Audio en direct: Il y a une
autre façon d'
améliorer nos performances live avec Sonic Pi, c'est en utilisant
l'audio. Nous pouvons donc
capter l'audio d' un micro ou d'un
instrument externe comme une guitare, et y accéder
via Sonic Pi. Et nous pouvons appliquer un
tas d'effets et écrire du code autour de
l'entrée que nous obtenons. Pour configurer cela, vous devez vous
rendre dans Préférences. Allez dans la section audio, assurez-vous d'avoir
activé les entrées audio ici. Donc, dans ce panneau en bas, s'il est désactivé, cliquez dessus pour
activer les entrées audio. Sonic Pi peut donc prendre entrées
audio à partir
de différents endroits. Il peut donc le prendre depuis le microphone de votre
ordinateur par défaut. Il peut être pris à partir d'une carte son
externe ou d'une interface audio. Et si comme moi, vous
avez une interface audio avec plusieurs canaux, alors Sonic Pi va
prendre l'entrée audio
du premier canal votre interface audio vers le premier canal sur l'interface
audio que j'ai, j'ai branché ma guitare pour la jouer via Sonic Pi, j'ai simplement besoin d'utiliser les commandes audio
en direct. Je peux donc simplement dire
audio de soulignement
en direct et je dois donner
cet audio en direct et son nom. Je vais donc
appeler ça une guitare. Et maintenant, avec cette commande,
lorsque j'appuie sur Run, vous devriez maintenant être
capable d'entendre la
guitare passer
par Sonic Pi. Ensuite, nous pouvons voir dans
la portée et en
haut à droite,
nous pouvons voir l'
analyse spectrale de l'entrée audio. Appuyons donc sur « stop
» pour l'instant. Et comme je l'ai dit, cela n'a pas besoin d'être une guitare, il
peut s'agir d'une base, d'un clavier, d'un microphone, etc. passionnant, c'est que cela
nous permet d'ajouter des effets, par exemple. Nous pouvons donc simplement envelopper cela
avec une boucle d'effets. Disons qu'avec les effets de
soulignement, ajoutons une réverbération. Donc maintenant, quand je lancerai ceci, je devrais avoir le
son de ma guitare comme avant, mais avec un peu de réverbération, je peux ajouter de la
distorsion en appuyant sur Run. Et bien sûr, je peux suivre ces
effets comme avant, mais comme je l'ai dit
tout à l'heure, soyez prudent avec cela. Si vous commencez à ajouter
trop d'effets, vous constaterez que
vous commencez à souffrir d'un peu de performances,
avec quelques problèmes de performance. Donc, mais nous pouvons ajouter une réverbération, par
exemple, à l'
extérieur d'ici, et nous avons besoin d'une autre boucle d'extrémité. Formatons ça et exécutons-le. Et maintenant je devrais avoir une guitare
déformée avec Revert. OK, voyons une possibilité
de performance
vraiment intéressante . Faites glisser votre doigt dans ce tampon plutôt que de tout saisir. J'ai, j'ai, j'ai enregistré ça dans un autre tampon et je vais vous
expliquer le code. Donc, en haut,
j'ai exactement la même chose que dans
la dernière section. Donc, juste l'audio en direct provenant de la guitare via mon interface
audio et juste appliquer une certaine distorsion
et une certaine réverbération pour
que nous puissions ensuite régler le BPM sur 96. Juste pour cet
exemple. Nous avons ensuite une boucle live qui joue une séquence de batterie d'
une manière très similaire à ce que nous avons vu précédemment dans les sections
précédentes. Il suffit donc d'utiliser ce pattern de
batterie que nous avons décrit dans ces cordes pour jouer
nos trois samples de batterie. Nous avons ensuite obtenu une boucle, une autre boucle live en cours, qui consiste simplement à
jouer une partie de basse. Cela utilise un fond de base
cynique, et il suffit de boucler
16 fois et de choisir une note dans la gamme
pentatonique mineure
ou la gamme pentatonique de mi mineur, choisissant une ligne aléatoire
pour cela et c'est jouer une note
tous les demi-temps. Ensuite, nous avons
une autre bibliothèque, appelée clés. Et c'est en utilisant
le synthé pour piano. Et encore une fois, il choisit
dans la gamme pentatonique de mi mineur, mais trois octaves au-dessus cet
auteur, et il joue une
note tous les quarts de temps et c'est parti
boucle ronde de 16 notes. En plus de cela, comme nous
avons l'audio en direct, je peux lire les entrées via
mon interface audio. En plus du son est
produit avec Sonic Pi. Et je peux l'
enregistrer un fichier audio avec Sonic Pi jouant mon
code en arrière-plan. Et puis avec les lipides sont top en appuyant sur le bouton
Enregistrer ici. Puis appuyez sur Exécuter. Puis arrêtez l'enregistrement. Et il me reste aussi où je
veux enregistrer ce fichier. Je peux donc l'enregistrer sur mon
bureau, par exemple, audio. Cliquez sur Enregistrer. Et puis
sur mon bureau, le fichier a été
édité en tant que fichier WAV. Et je peux l'écouter
sur le lecteur audio Mac.
51. Conclusion: Bon, c'est tout
pour ce cours. Nous avons vu que certaines des
possibilités fantastiques s'ouvrent lorsque vous utilisez Sonic Pi pour écrire du
code pour créer de la musique. Mais il y a environ 250 commandes distinctes
différentes dans Sonic Pi me, nous venons juste de
gratter la surface. Alors regardez dans la
section des poumons du panneau de santé et
fouillez vraiment là-dedans. Toutes les commandes ont
une excellente documentation. Sur cette note. J'aimerais vous encourager à
consulter les panneaux d'exemples. Donc, si vous regardez dans
le panneau de santé, regardez sous les exemples
et vous verrez très bons exemples qui ont été fournis
avec Sonic Pi. Je vous
encourage certainement à jeter un œil à certains d'entre eux fouiller dans ce code vraiment le
lire et à le comprendre. Je peux en recommander un bon. Un bon point de départ pourrait être
quelque chose comme Tilburg deux, qui est l'un des
exemples présentés ici. Vous cliquez simplement
sur l'exemple dans le panneau de santé, puis
vous pouvez copier et coller le code dans l'un
des tampons de la fenêtre de code à l'intérieur, à l' intérieur de Sonic Pi, vous
pouvez le lire et faire y apporte des modifications et expérimente
vraiment. N'oubliez pas qu'il n'y a aucune erreur. Vous ne pouvez rien casser, en expérimentant à l'intérieur de Sonic Pi. Et qui sait que certaines de ces
expériences pourraient
devenir votre prochaine
grande idée musicale, votre prochaine grande production musicale. C'est donc un excellent moyen d' expérimenter et de
découvrir de nouvelles musiques. N'oubliez pas de sauvegarder régulièrement
votre travail. Comme je l'ai dit, Sonic Pi, nous le stockerons dans le
tampon lorsque vous le rechargerez. Mais, mais juste pour être sûr, j'aime toujours quand je suis vraiment particulièrement
satisfait de quelque chose, prendre une copie séparée et enregistrer
dans un fichier séparé. Et il y a toujours
le bouton Annuler. Si c'est le cas, si vous faites expériences et que vous empruntez
le chemin que vous n'aimez pas
particulièrement, vous pouvez toujours
annuler votre sortie ou revenir à un
état sûr antérieur. Mais c'est vraiment ça. Alors amusez-vous bien et je vous encourage vraiment
à essayer de vous produire en direct, même si vous êtes seul dans
votre chambre à faire un journal, peut-être devant des
familles et des amis, ou lorsque vous êtes
vraiment bon, allez-y, mettez-vous en scène et
montrez ce que vous avez. Jetez un œil à Algo Rave. Donc, quelques
algorithmes Google vous
enverront sur le
site Web de l'algorithme et vous pourrez voir où d'autres
personnes sont peut-être dans votre région ou organisent des performances
en direct. Cela demande juste un peu de pratique. Il s'agit du même instrument que
n'importe quel autre instrument. Je vous
encourage donc à passer votre temps chaque jour comme vous
le feriez si vous appreniez
la guitare ou le piano, la harpe ou tout
autre instrument, passez
simplement votre temps, un peu de temps chaque
jour pour pratiquer Sonic Pi, pratiquer une performance live, essayer différents bouts de code et différentes expériences, ce petit peu de pratique
chaque jour que nous allons
vous apporter compétent en un
rien de temps. J'en suis sûr. Soyez plus court pour partager votre code et votre musique
avec le reste du monde, que ce
soit par le biais de la communauté
sur le site Web de Sonic Pi ou quelle que soit la manière dont vous vous sentez libre, vous vous sentez à l'aise pour le faire. J'adore avoir de vos nouvelles, alors veuillez partager
votre code avec moi. Partagez-le sur ce site Web. Si vous souhaitez en savoir
plus sur certains
des autres cours et sur les autres
choses que j'ai en cours. Alors
allez voir Steve en direct avec music.com
et vous découvrirez tout ce dont vous avez besoin pour savoir que c'est fantastique de
vous avoir . Merci beaucoup avoir
regardé et à bientôt
bientôt.