Faire de la musique avec du code : composition et performance en direct avec Sonic Pi | Steve Lydford | Skillshare

Vitesse de lecture


1.0x


  • 0.5x
  • 0.75x
  • 1 x (normale)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Faire de la musique avec du code : composition et performance en direct avec Sonic Pi

teacher avatar Steve Lydford, Music, Sound Design and Productivity

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      Aperçu du cours

      1:56

    • 2.

      Introduction

      1:06

    • 3.

      Obtenir Sonic Pi

      1:11

    • 4.

      Apprendre à connaître l'interface utilisateur Sonic Pi

      8:48

    • 5.

      Permettez-vous de faire du bruit !

      5:07

    • 6.

      Utiliser les noms de notes MIDI

      2:54

    • 7.

      Commentaires du code

      2:49

    • 8.

      Utilisation du journal

      0:44

    • 9.

      Options de jeu

      6:14

    • 10.

      Régler le tempo

      1:49

    • 11.

      Synths

      2:52

    • 12.

      Application de filtres de synthèse

      4:40

    • 13.

      enveloppes

      8:47

    • 14.

      Jouer des échantillons

      12:11

    • 15.

      Flux de programme

      2:01

    • 16.

      Boucles

      6:12

    • 17.

      Boucles imbriquées

      3:59

    • 18.

      À l'infini, mais pas au-delà !

      1:58

    • 19.

      Améliorer votre rythme

      0:50

    • 20.

      Randomisation

      4:23

    • 21.

      Générer des mélodies avec randomisation

      3:37

    • 22.

      Autres fonctions aléatoires

      2:24

    • 23.

      Sélection

      6:17

    • 24.

      si ... autre

      3:40

    • 25.

      Combiner les comparaisons

      2:38

    • 26.

      La fonction de randomisation one_in

      3:28

    • 27.

      Le simple si

      2:45

    • 28.

      Variables

      5:53

    • 29.

      Compteurs de boucle

      4:46

    • 30.

      Listes

      5:13

    • 31.

      Indexes

      6:19

    • 32.

      Fabrication d'un séquenceur de tambour

      11:22

    • 33.

      Motifs de jeu

      4:26

    • 34.

      Accords

      7:01

    • 35.

      Les gammes

      6:16

    • 36.

      Bagues

      4:54

    • 37.

      Fonctions de l'anneau

      5:36

    • 38.

      Fonctions personnalisées

      6:48

    • 39.

      Paramètres de fonction

      4:52

    • 40.

      Effets dans Sonic Pi

      2:52

    • 41.

      Options de conversion

      2:00

    • 42.

      Effets de enchaînement

      1:29

    • 43.

      Prendre le contrôle

      5:29

    • 44.

      Contrôler la diapositive

      0:58

    • 45.

      Contrôler les effets

      4:38

    • 46.

      Boucles en direct

      8:28

    • 47.

      Performance en direct avec boucles en direct

      7:09

    • 48.

      MIDI

      11:54

    • 49.

      MIDI

      4:54

    • 50.

      Audio en direct

      7:15

    • 51.

      Conclusion

      3:27

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

67

apprenants

1

projets

À propos de ce cours

Destiné aux musiciens qui n'ont guère ou pas d'expérience de codage, ce cours amusant vous apprendra à composer et à interpréter de la musique en utilisant le code comme instrument. Basé sur le cadre Sonic Pi, populaire sur la scène Algorave, vous couvrirez tout, des bases de la programmation à l'utilisation de Sonic Pi pour des performances en direct, en passant par la rédaction d'un séquenceur de batterie. Plus tard dans le cours, vous apprendrez même à intégrer votre code avec les instruments MIDI et audio.

Avec quatre heures de vidéo réparties sur cinquante conférences, vous trouverez des descriptions et des démonstrations détaillées de :

  • Comment créer de la musique en codant des motifs musicaux avec des synthétiques et des échantillons.
  • Concepts de programmation fondamentaux, y compris le flux de programmes et les structures de données intégrées de Sonic Pi.
  • Créer un séquenceur de tambour, des mélodies en boucle, des progressions d'accords et des lignes de basse à partir de zéro.
  • Comment utiliser des filtres et des enveloppes ADSR pour la conception sonore basée sur le code.
  • Comment ajouter des effets tels que la distorsion, le retard et la réverbération pour rendre vos sons plus intéressants.
  • Comment contrôler le MIDI et l'audio à partir de votre code.
  • Comment utiliser les fonctionnalités de Sonic Pi pour améliorer vos performances en direct.

Nous utiliserons le Sonic Pi gratuit tout au long du cours, et à la fin, vous pourrez appliquer ce que vous avez appris pour créer des compositions musicales uniques et exécuter en direct à l'aide du code. Comme vous le verrez, tout le monde peut apprendre à programmer. Nous prenons chaque nouveau concept étape par étape, et c'est plus facile que vous ne le pensez, même si vous n'avez absolument pas d'expérience de codage préalable !

Rencontrez votre enseignant·e

Teacher Profile Image

Steve Lydford

Music, Sound Design and Productivity

Enseignant·e

Hi, I'm Steve Lydford.

I am a sound designer, software engineer and author with over two decades of professional experience. I am an experienced teacher and have taught numerous courses both online and in-person.

I live with my family in a remote farmhouse in mid-Wales, UK, where I don't have to worry about soundproofing or neighbours!

If you'd like to find out more, please do [follow] my Skillshare profile, and if you've got ideas for classes that you'd find useful, drop me a message/email, and I'll see what I can do

Thanks for watching, and welcome!

Voir le profil complet

Level: All Levels

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

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.