Musik mit Code: Komposition und Live-Performance mit Sonic Pi | Steve Lydford | Skillshare

Playback-Geschwindigkeit


1.0x


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

Musik mit Code: Komposition und Live-Performance mit Sonic Pi

teacher avatar Steve Lydford, Music, Sound Design and Productivity

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Kursübersicht

      1:56

    • 2.

      Einführung

      1:06

    • 3.

      Sonic Pi erhalten

      1:11

    • 4.

      Lernen Sie die Sonic Pi Benutzeroberfläche kennen

      8:48

    • 5.

      Lass etwas Lärm machen!

      5:07

    • 6.

      Verwenden von MIDI

      2:54

    • 7.

      Kommentare zum Code

      2:49

    • 8.

      Verwenden des Protokolls

      0:44

    • 9.

      Spieloptionen

      6:14

    • 10.

      Das Tempo einstellen

      1:49

    • 11.

      Synths

      2:52

    • 12.

      Anwendung von synth

      4:40

    • 13.

      Umschläge

      8:47

    • 14.

      Samples abspielen

      12:11

    • 15.

      Programmfluss

      2:01

    • 16.

      Schleifen

      6:12

    • 17.

      Nested Schleifen

      3:59

    • 18.

      Bis zur Unendlichkeit, aber nicht darüber hinaus!

      1:58

    • 19.

      Verbessern deinen Beat

      0:50

    • 20.

      Randomisierung

      4:23

    • 21.

      Melodien mit Randomisierung generieren

      3:37

    • 22.

      Andere Zufallsfunktionen

      2:24

    • 23.

      Auswahl

      6:17

    • 24.

      wenn ... sonst

      3:40

    • 25.

      Vergleichen

      2:38

    • 26.

      Die Funktion one_in randomisierung

      3:28

    • 27.

      Das Einfache, wenn

      2:45

    • 28.

      Variablen

      5:53

    • 29.

      Schleifenzähler

      4:46

    • 30.

      Listen

      5:13

    • 31.

      Indexe

      6:19

    • 32.

      Einen drum erstellen

      11:22

    • 33.

      Spielmuster

      4:26

    • 34.

      Akkorde

      7:01

    • 35.

      Tonleitern

      6:16

    • 36.

      Ringe

      4:54

    • 37.

      Ring

      5:36

    • 38.

      Benutzerdefinierte Funktionen

      6:48

    • 39.

      Funktionsparameter

      4:52

    • 40.

      Effekte in Sonic Pi

      2:52

    • 41.

      FX-Optionen

      2:00

    • 42.

      Effekte zu Verschnürung

      1:29

    • 43.

      Kontrolle übernehmen

      5:29

    • 44.

      Kontrollieren von note

      0:58

    • 45.

      Effekte steuern

      4:38

    • 46.

      Live-Loops

      8:28

    • 47.

      Live-Performance mit live

      7:09

    • 48.

      MIDI in

      11:54

    • 49.

      MIDI aus

      4:54

    • 50.

      Live-Audio

      7:15

    • 51.

      Wir kommen zum Ende.

      3:27

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

67

Teilnehmer:innen

1

Projekte

Über diesen Kurs

Dieser Kurs richtet sich an Musiker:innen mit wenig oder gar nicht coding Er lehrt dir, wie du Musik mit Code als Instrument komponieren und performen kannst. Basierend auf dem kostenlosen Sonic Pi Framework, das in der Pi beliebt ist, kannst du alles abdecken, von den Grundlagen der Programmierung bis hin zu Sonic Pi für Live-Performance – einschließlich dem Schreiben eines drum Später im Kurs wirst du sogar lernen, wie du deinen Code in MIDI und audio integrierst.

Mit vier Stunden Videoplattform in fünfzig Vorträgen findest du detaillierte Beschreibungen und Vorführungen von:

  • So erstellen Sie Musik durch Kodieren von musikalischen Mustern mit Synthesizern und Samples.
  • Grundlegende Programmierungskonzepte einschließlich Programmfluss und integrierte Datenstrukturen von Sonic Pi
  • Erstellen eines drum Schleifen von Melodien, chord und Basslinien von Grund auf neu
  • So verwende ich Filter und ADSR für code-based Sounddesign.
  • So fügen Sie Effekte wie Verzerrung, Verzögerung und Reverb hinzu, um deine Klänge interessanter zu gestalten.
  • So steuere ich MIDI und Audio aus deinem Code.
  • So verwenden Sie die Funktionen von Sonic Pi zur Verbesserung deiner Live-Performances.

Wir verwenden den kostenlosen Sonic Pi während des Kurses und am Ende kannst du deine Musik anwenden, was du gelernt hast, um einzigartige musikalische Kompositionen zu erstellen und mit Code live zu performen. Wie du sehen wirst, kann jeder programmieren lernen. Wir nehmen jedes neue Konzept Schritt für Schritt und es ist einfacher, als du denkst, auch wenn du absolut keine Erfahrung im Programmieren hast!

Triff deine:n Kursleiter:in

Teacher Profile Image

Steve Lydford

Music, Sound Design and Productivity

Kursleiter:in

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!

Vollständiges Profil ansehen

Level: All Levels

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. Kursübersicht: Willkommen beim Musizieren mit Code, der kompletten Anleitung, um sie als Sonic Pi zu codieren. Dieser unterhaltsame Kurs richtet sich an Musiker mit wenig oder keiner Programmiererfahrung und zeigt Ihnen, wie Sie Musik mit Code in Ihren Instrumenten komponieren und aufführen können. Mein Name ist Steven Moffat und ich werde dein Lehrer sein. Ich schreibe seit über 30 Jahren Software und kreiere Musik. Und während dieser Zeit habe ich über ein Dutzend verschiedene Programmiersprachen gelernt, gearbeitet und unterrichtet . In diesem Kurs , der über vier Stunden Videolektionen enthält, werden Sie lernen, wie man eine beliebtes und kostenloses Sonic Pi-Framework. Sie werden alles von den Grundlagen der Programmierung bis zur Verwendung in Sonic Pi für Sounddesign und Live-Auftritte mit ausführlichen und detaillierten Erklärungen und Beispielen behandeln Programmierung bis zur Verwendung in Sonic Pi für Sounddesign und Live-Auftritte mit . In jeder Phase lernen Sie, wie man Musik macht, indem Sie musikalische Muster mit since und Samples codieren. Grundlegende Programmierkonzepte wie Programmablauf und Sonic Pi sind eingebaute Datenstrukturen. Wie man einen Drumsequenzer erstellt und Melodien, Akkordfolgen und Basislinien von Grund auf neu loppt . Verwendung von Filtern und ADSR-Hüllkurven für codebasiertes Sounddesign. Die Verwendung von Randomisierungsalgorithmen zur Erstellung generativer Musik. So fügen Sie Effekte wie Distortion, Delay und Hall hinzu, um Ihre Sounds noch interessanter zu machen . Sie lernen, wie Sie Midi und Audio aus Ihrem Code steuern und in Ihre Auftritte integrieren. Am Ende des Kurses können Sie das Gelernte anwenden, um einzigartige Musikkompositionen zu erstellen und live mit Code aufzutreten. Und du wirst sehen, dass jeder Programmieren lernen kann. Ich würde jedes neue Konzept Schritt für Schritt angehen und es ist wirklich viel einfacher als Sie denken, der Kurs richtet sich an Musiker, die sich einige Programmierkenntnisse mit Code als Instrument für Komposition, Inspiration, Aufnahme und Live-Performance. Sie benötigen keine Vorkenntnisse im Programmieren oder tiefe Kenntnisse in Mathematik oder Informatik. Oder Sie benötigen einige grundlegende musikalische Konzepte wie Note, Skalen, Akkorde und Rhythmus. Und ein Windows Mac oder Raspberry Pi Computer. Machen Sie mit und lernen Sie, wie Sie Code jede erdenkliche Musik erstellen können. Und vielleicht können Sie sogar einige nicht. 2. Einführung: Hallo zusammen und willkommen zu diesem Kurs, in dem wir uns mit der Verwendung von Code befassen , um Musik sowohl für Live-Auftritte als auch für unsere Kompositionen zu machen . Ich habe also absolut keine Programmierkenntnisse für diesen Kurs vorausgesetzt . Dieser Kurs richtet sich vor allem an Musiker, die Code zum Komponieren und Aufführen von Musik verwenden oder die einzelnen Programmierkonzepte Schritt für Schritt vorstellen möchten. Wir gehen es langsam an und es wird reichlich Gelegenheit zum Üben geben. Jetzt gibt es einige Dinge, die Sie haben sollten , um das Beste aus dem Kurs herauszuholen. Der erste davon ist ein Computer. Jetzt ist jeder Windows-, Mac- oder Raspberry Pi-Computer absolut in Ordnung. Die zweite Sache ist ein gewisses musikalisches Grundwissen. Wir sprechen hier nicht von fortgeschrittener Musiktheorie, aber solange Sie Kenntnisse über Noten, Skalen und Oktaven, solche Konzepte, haben Noten, Skalen und Oktaven, , wird es Ihnen absolut gut gehen. Und schließlich würde ich auf jeden Fall empfehlen, dass Sie sich den Kurs mit einem guten Kopfhörer oder einem guten Stereolautsprecher-Setup anhören . Dies soll sicherstellen, dass Sie die Nuancen einiger Änderungen an den Klängen, die wir erzeugen, hören Nuancen einiger Änderungen an den können. In diesem Sinne holen Sie sich einen Kaffee und lassen Sie uns gleich eintauchen. 3. Sonic Pi bekommen: Die Software, die wir mit diesem Kurs verwenden werden, ist der fantastische Sonic Pi , der von Sam Aaron erstellt wurde und in der Algorithmus-Szene sehr beliebt ist . Und es ist ein Musik-Framework, das auf Ruby , einer Programmiersprache, basiert . Sie sich darüber keine allzu großen Sorgen, aber es könnte für Sie interessant sein, wenn Sie einige Passcodes und Erfahrung haben einige Passcodes und Erfahrung Sonic Pi läuft unter Windows und Mac und ist, wie der Name schon sagt, tatsächlich entworfen besonders gut auf einem Raspberry Pi zu laufen. Gehen wir also zur Sonic Pi-Website und sehen, wie wir sie herunterladen und installieren. Hier sind wir auf der Sonic Pi-Website und hier sehen Sie , dass es hier Schaltflächen zum Herunterladen für Windows, Mac OS und Raspberry Pi gibt. Aber diese Website bietet noch so viel mehr. Deshalb würde ich Sie auf jeden Fall ermutigen , sich für die Community zu engagieren. Schauen Sie sich die Beispiele an und lesen Sie sich die Tutorials durch. Es gibt viele großartige Informationen hier. Jetzt ist Sonic Pi kostenlos erhältlich. Es ist in der Bildung sehr beliebt , um Kindern das Programmieren beizubringen. Aber es erfordert viel Wartung. Und Sam macht das seit Jahren kostenlos. Wenn du es dir also leisten kannst, empfehle ich dir auf jeden Fall, auf der Website ein wenig nach unten zu scrollen und entweder patria und, oder GitHub-Sponsoren zu verwenden oder GitHub-Sponsoren zu , um Sam ein bisschen Geld zu spenden was auch immer Sie sich leisten können, um diese fantastische Initiative am Laufen zu halten. 4. Die Sonic Pi Benutzeroberfläche kennen lernen: Okay, sobald Sie Sonic Pi installiert haben, führen Sie es aus und Sie sollten einen Bildschirm sehen, der diesem ähnlich aussieht. Mach dir keine Sorgen, wenn es nicht genau so aussieht. Sitzung zeige ich Ihnen, wie Sie den Bildschirm konfigurieren dieser Sitzung zeige ich Ihnen, wie Sie den Bildschirm konfigurieren. Gehen wir also Schritt für Schritt durch die einzelnen Teile der Benutzeroberfläche. Der Hauptteil des Bildschirms wird also vom Codefenster eingenommen . Hier geben wir den Code tatsächlich ein und hier können wir ihn von zwei aus ausführen, indem wir diese Schaltflächen hier oben verwenden, die auf der Stopp-Schaltfläche ausgeführt werden. Sobald wir mit unserem Code fertig sind, sobald er fertig ist, können wir, sobald der Code vollständig ist, auf die Schaltfläche Ausführen klicken. Und hier die Ergebnisse. Wenn der Code für eine lange Zeit läuft, möchten wir, dass er beendet wird. Wir können den Stopp-Knopf drücken. Wenn wir die Ausgabe des Codes aufnehmen möchten, wird entweder Musik, die mit dem Code regeneriert wurde, in eine WAV-Datei ausgegeben. Wir können die Aufnahmetaste drücken und dann den Code ausführen und wir werden eine Audiodatei produzieren lassen. Wir können unseren Code speichern und laden. Jetzt wird Sonic Pi Ihren Code standardmäßig zwischen den Sitzungen beibehalten. Was ich damit meine ist, wenn Sie einen Code in Sonic Pi eingeben und dann Sonic Pi beenden , Code , den Sie zuvor dort hatten, wird der Code , den Sie zuvor dort hatten, da und für Sie auf dem Bildschirm verfügbar sein. Es hat also einen eigenen eingebauten Speichermechanismus. Ich würde mich jedoch nicht darauf verlassen , wenn Sie einen Code haben, Sie besonders stolz sind oder ein Stück fertiger Komposition sind, oder es ist etwas, mit dem Sie teilen möchten deine Freunde oder teile es mit jemandem in der Community, dann benutze auf jeden Fall, benutze die Buttons dort um deinen Code zu speichern und eine gute Sicherungskopie davon zu erstellen. Sobald Sie einen Code oder einen Code haben, den Sie wieder in eine Datei laden möchten , in die Sie wieder einsteigen möchten, können Sie dies einfach über die Schaltfläche Laden tun . Unten unten. Wir haben diese Zahlen von 0 bis neun. Die sind unterschiedlich. Sie können sich diese Tabs wie Tabs vorstellen , sodass sie innerhalb von Sonic Pi als Puffer bezeichnet werden. Wir können uns diese als separate Registerkarten vorstellen . Immer wenn wir auf die Schaltfläche Ausführen klicken, führen wir den Code in diesem Puffer aus. Also, wenn ich im Moment hier bin, wenn ich auf „Ausführen“ klicke und den Code in Puffer eins ausführen werde . Wenn ich hier drüben klicke, jetzt in Puffer sechs, führe ich nur den Code aus , der sich in Puffer sechs befindet. Oben rechts, dann haben wir zwei Steuerelemente, um die Größe der Schrift im Codefenster zu steuern . Und ich werde diese später verwenden um den Code schön und groß zu gestalten , damit Sie ihn gut und einfach verfolgen können. Lass uns gehen, dann schauen wir uns den Rest hier drüben an. Der erste ist also der Umfang. Also das, dieses Panel hier oben rechts ist das Zielfernrohr. Und dies ist standardmäßig als Spektrumgraph festgelegt. Sie werden das sehen, wenn wir in der nächsten Lektion anfangen, etwas Lärm zu erzeugen. Dies kann jedoch über das Einstellungsfenster geändert und ich zeige Ihnen in einer Sekunde, wie das geht. Dieser nächste Abschnitt hier ist wahrscheinlich die nützlichste, nützlichste Pfütze außer dem Codefenster, und das ist das Protokoll. Und das wird dir genau zeigen was los ist, während dein Code läuft. Und Sie können auch Dinge im Protokoll ausgeben , um Informationen zu erhalten. Dieses Fenster ist also besonders wichtig. Das Cues-Panel zeigt Ihnen, was tatsächlich in Sonic Pi passiert. Dieses Panel wird dir besonders wichtig sein, wenn es um Live-Auftritte geht. Dann unten am unteren Bildschirmrand haben wir das Hilfe-Panel. Das Gremium hat große Anstrengungen unternommen. Es gibt, es gibt ein vollständiges Tutorial, es gibt Links zu anderen Artikeln. Es gibt Beispielprogramme , um verschiedene Arten von Musik zu produzieren. Es gibt Informationen über den Bill Weihrauch, über die eingebauten Effekte und Samples. Und dort gibt es Informationen über die Sprache selbst, mit denen Sie nach suchen absolut fantastischen Hilfsmöglichkeiten in Sonic Pi suchen können. Also bitte, bitte stöbern Sie dort herum, um jedes dieser Panels ein - und auszuschalten. Ich kann einfach gehen und diese Umschalttasten hier drücken. Ich kann also, wenn ich auf die Schaltfläche Hilfe klicke, das Highlight zusammen mit dem Gesundheitspanel entfernt wird. Wenn ich erneut darauf klicke, wird das Hilfefenster wieder angezeigt. Und das gleiche gilt für die anderen drei Knöpfe hier oben. Das, was wir uns nicht angesehen haben, ist das Einstellungsfenster. Hier drin. Wir können nur sehen, dass eine ganze Reihe verschiedener Arten von Konfigurationselementen in Sonic Pi diese schnell durchblättern wird. Wir werden nicht jedes dieser Punkte im Detail durchgehen und sie während des gesamten Kurses verwenden. Aber ich werde Sie nur durch einige der wichtigen Dinge führen, nämlich die Einstellungen, die Sie möglicherweise frühzeitig verwenden möchten. Die erste davon auf der Registerkarte Audio ist dann die Hauptlautstärke. Und das steuert einfach die Ausgangslautstärke von Sonic Pi. Aber es gibt noch nichts anderes , worüber du dir wirklich Sorgen machen musst. In IO können Sie hier sehen, dass ich ein Midi-Keyboard angeschlossen habe, und das ist momentan wirklich das einzig Interessante hier drin. Wenn Sie kein Midi-Keyboard haben, machen Sie sich überhaupt keine Sorgen. Du brauchst keins für Sonic Pi. Und tatsächlich werden wir es nur in einem sehr kleinen Teil des Kurses verwenden . Aber es ist interessant, in der Lage zu sein einen Sense-Sound zu erzeugen, zum Beispiel in Midi, in Sight Pi, und diesen Sinn dann mit Ihrem Midi-Keyboard oder einem anderen Midi-Eingabegerät zu spielen diesen Sinn dann mit Ihrem Midi-Keyboard . Aber das machen wir viel später, aber mach dir vorerst keine Sorgen. Mit diesem willst du vielleicht ein bisschen herumspielen. Dies ist die Konfiguration der Einstellungen für den Code-Editor, für das Codefenster. Und Sie können sehen, dass ich es hier auf ein leichtes Thema eingestellt habe. Ich finde es nett und einfach und einfacher für dich, in diesem Kurs zu lesen. Aber wenn Sie es im dunklen Modus bevorzugen, können Sie das verwenden. Und dann gibt es noch andere verschiedene Fenstertypen, während wir hier durchgehen. Ich kehre hier zum Thema Licht zurück. Und hier können wir Panels ein - und ausschalten und alle Informationen , die in diesen Panels angezeigt werden sollen, umschalten . Hier können wir also sehen, dass die Zeilennummern die Codevervollständigung, Tabs, Titel, Schaltflächen usw. anzeigten. Ich lasse alle diese vorerst Zeilennummern die Codevervollständigung, Tabs, Titel, Schaltflächen usw. anzeigten . eingeschaltet, aber zögern Sie nicht zu gehen und konfigurieren Sie dies so, dass Sie genau so arbeiten, wie Sie es bevorzugen. Einzelpersonen, dann können wir uns die verschiedenen Arten von Geltungsbereichen ansehen. Ich habe erwähnt, dass es hier verschiedene Arten von Scopes gibt. Also ist standardmäßig der Spektrumgraph eingestellt , aber wir haben Mono-Stereo-Charts als unabhängige Bereiche. Es gibt die Diagramme, die Phasenbeziehungen veranschaulichen, alle möglichen Arten darin. Ich lasse meine lieber auf dem Spektrumgraphen. Diese sind nicht umschaltbar, sodass Sie mehr als ein Diagramm gleichzeitig anzeigen können. Aber während des gesamten Kurses belassen wir es im Spektrumgraphen, aber andere können für Sie nützlich sein. Also rechts hier haben wir das Transparenz-Panel, das die Transparenz der Sonic Pi-Schnittstelle selbst steuert . In 99% der Fälle belassen Sie dieses Set standardmäßig bei 0. Aber wie ich bereits erwähnt habe, Sonic Pi sehr populär geworden in Dingen wie den Algorithmen, die man sieht, und Leute machen Live-Auftritte mit Sonic Pi, aber sie werden auf der Bühne stehen und sie werden projizieren die Sonic Pi-Benutzeroberfläche auf die Wand hinter ihnen oder einen Bildschirm dahinter. Und tatsächlich ist ein Teil der Erfahrung, ein Teil der Aufführung, die Person live zu beobachten die Person live und die Musik zu hören und alleine zu tanzen. Was Sie also tun können, ist, Sie können die Transparenz des Fensters hier einstellen und Sie haben möglicherweise einige visuelle Effekte auf Video oder etwas, einige visuelle Effekte auf Video oder etwas das im Hintergrund läuft, wenn Sonic Pi vorbei die Oberseite mit ein wenig eingestellter Transparenz , sodass Sonic Pi über dem oberen Rand des Videos angezeigt wird. Ich bin sehr cool. Hier drin. Wir können reinkommen und nach Updates suchen. Ich überlasse meine, um alle zwei Wochen nach Updates zu suchen. Aber wenn Sie möchten, können Sie auf die Schaltfläche Jetzt prüfen klicken und es wird sofort für Sie überprüft , ob Sie ein Update benötigen. Und schließlich im Sprachtyp können Sie die Sprache für die Benutzeroberfläche und das Tutorial festlegen . Wie gesagt, es gibt eine blühende und fantastisch freundliche Community rund um Sonic Pi. Personen innerhalb der Community von haben die Tutorials übersetzt und die Benutzeroberfläche übersetzt. Wenn Englisch also nicht Ihre Muttersprache ist und Sie es vorziehen, Ihre Muttersprache zu verwenden können Sie dies in auswählen. Hier. Ich klicke auf die Schaltfläche Schließen , um dieses Fenster zu schließen. Eine letzte Sache, die ich dir hier zeigen möchte, ist nur dieser Infobereich. Und das wird dir einen kleinen Startbildschirm zeigen , auf dem du alle möglichen Informationen über Sonic Pi erhalten kannst . Und Sie können hier einen Link zur Website sehen. Es gibt einen Link zu Twitter, dem Sie folgen können, um Updates zu Sonic Pi zu Ich würde Sie auf jeden Fall dazu ermutigen. Sie können hier sehen, dass Ihre aktuelle Version ist, oder meine aktuelle Version ist 4.3. Überprüfe einfach, ob du auf Version 4.3 oder höher bist. Wenn nicht, gehen Sie zum Einstellungsfenster und klicken Sie auf Aktualisieren, um die neueste Version zu erhalten. Okay, das gibt dir einen Überblick über die Benutzeroberfläche. Jetzt ist es an der Zeit, etwas Lärm zu machen. 5. Lass etwas Lärm machen!: Gehen Sie also hier zum Codefenster, ich werde die Schrift etwas vergrößern, damit Sie sie sehen können. Wir beginnen mit dem vielleicht einfachsten Programm , das wir uns vorstellen können. Also werde ich einfach diese Coburn-Note begradigt tippen und den Befehl play in eingeben. Der Befehl play ist einer der Befehle, mit denen wir Sonic Pi anweisen können , etwas Lärm für uns zu machen. Also lass uns hier rüber gehen und wir können 60 spielen. Geben Sie einfach play 60 in Ihr Codefenster ein und klicken Sie dann auf die Schaltfläche Ausführen. Und da sind wir ja. Sonic Pi wird also etwas Lärm für uns weggelassen. Also klicke ich hier oben auf die Schaltfläche Ausführen , ich mache es wieder. Sie jedoch nicht im Laufe der Zeit nach Damit Sie jedoch nicht im Laufe der Zeit nach Tastatur und Maus greifen müssen, können Sie auch Command R auf einem Mac oder Control R auf einem Windows-PC drücken , um dasselbe zu erreichen. Also lasst uns das ein bisschen aufschlüsseln. Der Befehl play ist also, wie gesagt, einer der Befehle und wahrscheinlich der nützlichste Befehl oder der am häufigsten verwendete Befehl , um einem Sonic Pi mitzuteilen, dass er etwas Rauschen auslassen soll. Aber worum geht es bei den 60? Nun, 60 ist eigentlich eine Midi-Noten-Nummer. Midi funktioniert also so, dass es Zahlen von 0 bis 127 gibt , also 128 verschiedene Midi-Noten. Und jede davon entspricht einem Notennamen und normalen Notennamen. Wir können hier also sehen, dass die Midi-Note Nummer 60 ein C für eine C-Note in der vierten Oktave ist. Und wir können hier rüber schauen und sehen, dass Midi-Notennamen tatsächlich einer Frequenz entsprechen, da wir wissen , dass je höher die Frequenz, desto höher die Note. Ein C4 ist also 261,63 Hertz. Und dann sind da noch andere hier. Damit wir auf und ab gehen können. Jedes Inkrement oder Dekrement um eins ist ein Halbton. Von 60 auf 61 bringt uns also von C zu C is. Von 61 bis 62 Texte waren zwei a d 263 führt uns durch D-Sharp, das dort oben und unten entspricht. Jetzt habe ich ein vollständiges Midi-Note-Char in die Ressourcen für den Kurs aufgenommen . Aber im Moment ist es nur wichtig zu wissen, dass wir entweder eine Midi-Notennummer oder einen Midi-Notennamen verwenden können . Und im Moment verwenden wir Midi-Note Nummer 60. Wenn wir also laufen, spielt unser Code tatsächlich ein C in der vierten Oktave. Das ist also großartig und das unser erster Sound aus Sonic Pi, aber es wird nicht die Nummer eins sein. Also lass uns noch etwas Code hinzufügen. Um also eine weitere Codezeile hinzuzufügen, drücken Sie einfach die Eingabetaste. Und los geht's. Lass mich das ein bisschen größer für dich machen. Da haben wir's. Um weitere Noten hinzuzufügen, kann ich einfach ein paar weitere Abspielbefehle hinzufügen. Geben wir also ein Spiel 64 ein. Fügen wir ein Stück hinzu 67. Drücken wir Run oder, oder Command R. Wir sind es, also spielen drei Noten gleichzeitig. Das ist also A, C und E und ein G. Wenn wir uns die Midi-Noten ansehen , war eine C - und E-Energie 606467, und das gibt uns eine C-Dur-Triade. Jetzt werden all diese Noten gleichzeitig abgespielt. Was wir hier also effektiv als Akkord produzieren, wenn ich diese Noten in aufsteigender Reihenfolge spielen möchte, dann muss ich Sonic Pi sagen etwas Zeit lassen soll. Ich lasse eine Pause zwischen diesen Notizen. Und das kann ich mit unserem nächsten Befehl tun, dem Sleep-Befehl. Nun, also zwischen den einzelnen Knoten füge ich einen Schlafknoten hinzu. Das sagt Sonic Pi , dass er einen Schlag lang schlafen soll. Okay, also alle Timings innerhalb von Sonic Pi oder innerhalb von Beats. Standardmäßig sind die Beats pro Minute oder die BPM für ein Sonic Pi-Programm 60. Also 60 Schläge pro Minute. Also 60 Schläge pro Minute. Wenn wir einen Schlag lang schlafen, schlafen wir 1 Sekunde lang. Also lass uns hier noch einen Schlaf hinzufügen. Nochmals für einen weiteren Schlag, für ein weiteres Bit. Und lass es uns spielen. Und da sind wir ja. Es gibt unsere 33-Noten-Dur-Triade, diesmal jedoch arpeggiert ist und eine Note nach der anderen spielt, eine Note nach der anderen spielt anstatt als einzelne Schnur. So kann ich alles, was ich will, in Bezug auf das Schlafpaar setzen . Also könnte ich diese ändern , um zu zweit zu schlafen. Und das wird zwei Schläge lang schlafen. Oder ich könnte auch Bruchteile einer Sekunde schlafen. Ich kann also einen halben, einen halben Schlag oder eine halbe Sekunde schlafen einen halben Schlag oder eine halbe Sekunde weil wir bei 60 Schlägen pro Minute sind. Und ich zeige dir etwas später , wie du die Beats pro Minute änderst . Da sind wir ja. 6. Using verwenden: hier nicht nur die Midi-Nummern verwenden, Wir könnten hier nicht nur die Midi-Nummern verwenden, sondern auch die Namen der Midi-Noten. Wir können hier also genau dasselbe haben, aber wir können die Notennamen IEEE C4, E4 und G4 verwenden. Also lass uns das versuchen. Wenn ich also einen Notiznamen verwenden möchte, muss ich ihm ein Präfix mit einem Doppelpunkt setzen. Also habe ich hier einfach den Doppelpunkt C vier getroffen. Ich kann eine Mischung verwenden, damit ich mich nicht für den einen oder anderen entscheiden muss. Ich könnte C4 hier benutzen und 6467. Das wird perfekt funktionieren, genau wie zuvor. Manchmal bevorzuge ich es, die Notennamen zu verwenden , wenn ich weiß, wie sie aussehen werden. Aber die Notennummern können sehr nützlich sein, wenn wir später mehr algorithmische Arbeit leisten. Sie sich darüber jetzt keine Sorgen, es ist ein großes Wort, aber kein Grund zur Sorge. Aber Sie werden sehen, dass Midi-Noten sein können, die Zahlen können später nützlich sein. Ändern wir das in einen C4. Entschuldigung, das sollte ein A4, G4 sein. Und das wird uns wieder die Dur- oder C-Dur-Triade geben . Aber was ist, wenn ich scharfe und flache Teile verwenden möchte? Es ist zwar ziemlich einfach zu machen. Wenn ich also eine Flachheit verwenden möchte, glätten Sie die, glätten Sie die dritte hier und diese Triade und machen Sie daraus einen Moll-Akkord, ein Moll-Arpeggio. Ich benutze das nur mit dem Kleinbuchstaben b. Lassen Sie mich das E auch in ein E-Dur umwandeln. Ich kann auch a, ein S verwenden, um ein Scharfzeichen zu bezeichnen. Wenn ich also anstelle von E-Dur sagen wollte, wollte ich Dis sagen, dieselben Noten, aber ich könnte das hier tun, also könnte ich einfach ein D machen. Und wir verwenden das kleine S für sharp auf Oktave Nummer vier, wo wir die Oktaven wechseln sollen. Und wenn ich eine Oktave runtergehen will, könnte ich, ich könnte hier einfach die optimale Zahl ändern. Und das wird eine Oktave tiefer spielen. Schon wieder. Wie Sie sehen können, spielt es wirklich, wirklich keine Rolle, in welcher Reihenfolge ich fliege. Wenn ich also zum Beispiel eine Umkehrung machen möchte, spiele ich vielleicht zuerst das G. Also lass uns das da rauf bringen. Diesmal muss ich hier einschlafen. 2.5. Wir können das vom Ende wegbewegen. Und da sind wir ja. Spielen Sie also da drin herum und produzieren Sie ein paar kleine kurze Musikstücke , indem Sie nur die Namen der Midi-Noten verwenden. Denken Sie daran, dass wir ein kleingeschriebenes b für eine flache, ein kleingeschriebenes s für ein scharfes verwenden, oder Sie können dort die Midi-Noten-Zahlen verwenden. Spielen Sie herum, erstellen Sie sich eine kleine Melodie. Ich würde die Schlafplätze verwenden, um den Rest zwischen den gewünschten Noten bereitzustellen. 7. Code: Also lass uns das wieder ändern. Wir legen den Schlaf zurück und spielen am Ende den G3. Schleifen. Schon wieder. Lass uns das überprüfen. Okay, das sind also unsere c-Moll-Triade, c-Moll-Arpeggio. Also sollten wir uns vielleicht daran erinnern, wie wir das genannt haben. Gehen wir also hier hoch und wir können den Hash-Befehl oder das Pfund- oder das Hash-Zeichen verwenden , je nachdem , von welcher Seite des Atlantiks Sie kommen. Wir können das Hash-Zeichen verwenden, um zu sagen, dass dies ein Kommentar in unserem Code sein wird , und einen Kommentar hinzuzufügen ist nur ein Stück Text nur für uns. Es wird also überhaupt nicht von Sonic Pi ausgeführt. Und wir können hier alles tippen, was wir wollten. Wir könnten also sagen, das ist ein c-Moll-Arpeggio. Wie gesagt, dieser Code wird nicht von Sonic Pi ausgeführt, sondern es sind nur Notizen , die wir selbst in den Code einfügen können. Wir bezeichnen es als Code-Kommentar. Auch hier, wenn ich das ausführe, es vom Sonic Pie völlig ignoriert, erlaubt uns aber, Kommentare einzugeben. Eine der Dinge , die von Programmierern häufig getan werden , ist, Kommentare zu verwenden, um einem Sonic Pi mitzuteilen , dass er einen Teil des Codes vorerst einfach ignorieren soll. Also wenn ich damit experimentieren und sagen wollte, okay, was passiert, wenn ich diesen Schlaf entferne? Nun, anstatt es zu löschen und wenn es mir nicht gefällt, musste ich es später wieder eingeben. Ich kann einfach ein Pfund- oder Hash-Zeichen an den Anfang setzen und es erneut ausführen. Und dieses Mal wird es den Schlaf ignorieren. Wir können sehen, dass es gleichzeitig D und G spielt . Auch hier, wenn mir das nicht gefällt, entferne ich einfach diesen Kommentar. Ich bin dabei, wie wir angefangen haben. Jetzt gibt es eine Tastenkombination in Sonic Pi, ein bisschen wie der Befehl R oder Control R, um den Code auszuführen, es gab eine Tastenkombination, wenn ich etwas auskommentieren möchte. Und dies ist eine wirklich gute Frage, an die Sie sich bei Live-Auftritten erinnern sollten , wenn Sie Code-Bits ein- und ausschalten möchten . Und ich kann die Command - und die Vorwärts-Schrägtaste drücken, und es wird dieses kleine Symbol vorne hinzugefügt. Jetzt sieht es ein bisschen anders aus, aber es funktioniert genauso. Zwei Hashes und eine Rohrseite. Dies hat nur einen Kommentar ein bisschen des Codes eingefügt. Wo auch immer ich mich in einer, einer Codezeile befinde, kann ich einfach die Befehlstaste oder die Strg-Taste drücken und den Schrägstrich vorwärts drücken. Es wird diese Codezeile auskommentieren. Und dann, wenn ich es weiter zum Gericht renne , weil die Schlafplätze entfernt wurden. Wenn ich diesen Code-Kommentar erneut entfernen möchte, könnte ich einfach irgendwo in dieser Zeile zurückkehren und erneut Befehl und Schrägstrich oder Strg und Schrägstrich drücken , und der Code wird entfernt kommentar. Und dann sind wir wieder bei unserem Arpeggio. 9. Spieloptionen: also nicht nur Code verwenden, um Wir können also nicht nur Code verwenden, um die Tonhöhe der Note zu definieren, die wir spielen möchten, sondern auch eine Reihe von Optionen hinzufügen. Und Sie werden diese in allen Sonic Pi-Optionen sehen , mit denen wir die produzierten Sounds anpassen können. Wir beginnen also mit zwei einfachen , die wir den Spielbefehlen hinzufügen können. Also lass uns, lass uns das nach unten erstellen. Und fügen wir einfach ein nettes einfaches Play hinzu, 60. Okay, das wird also mit der Standardlautstärke für Sonic Pi abgespielt . Ein Teil der Musik ist jedoch die Dynamik der Musik und die Dynamik der Musik, die die Lautstärke betrifft, mit der die Noten gespielt werden. Wenn wir also etwas ändern wollen, können wir eine Option hinzufügen. Für Sonic Pi wird dies als Amplitudenoption bezeichnet. Also fügen wir das einfach hinzu. Wenn ich also ein Komma drücke und nach den sechziger Jahren ein Komma drücke, kann ich eine Reihe verschiedener Optionen hinzufügen. Die Amplitudenoption oder die Lautstärkeoption wird einfach AMP genannt. Und das können Sie hier im, im Code-Vervollständigungsfenster sehen. Also ist Sonic Pi, versuche erneut, uns zu helfen. Also was wird benutzt? Die Amplituden. Also sagen wir AMP und dann sagen wir Doppelpunkt. Und jetzt stellen wir die Amplitude ein. Die Amplitude und der Sonic Pi werden durch eine Zahl definiert, sodass 0 überhaupt keine Lautstärke ist. Eine davon ist die normale Standardausgangslautstärke, aber wir können auch von dort aus hochgehen. Wenn ich zum Beispiel die Gelegenheit auf 0 ,5 setze und Play drücke, wurde das gerade mit der Hälfte der normalen Lautstärke ausgegeben. Jetzt ist es sehr schwierig, diesen Unterschied hier zu hören. Fügen wir also ein bisschen mehr Code hinzu, um das zu demonstrieren. Fangen wir also mit einem Theaterstück bei 60 an. Dies wird die Standardamplitude sein. Schläft zwei Schläge lang. Und dann spielen wir diesen mit halber Lautstärke. Und du solltest in der Lage sein, den Unterschied zu hören. Okay, Sie können also hören , dass die zweite Note definitiv leiser war. Lass uns noch einen Schlaf hinzufügen. Und wieder spielen wir mit 60, aber dieses Mal spielen wir es mit der doppelten normalen Lautstärke. Wir können das als Chance für ein Gebiet festlegen. Also sehr einfach einzustellen. Es ist wichtig , daran zu denken, dass die Optionen, die wir hier festlegen, sich nur auf die Note beziehen, die wir gerade spielen. Sie beziehen sich also nur auf diese Notiz. Wenn ich also einfach eine andere, eine andere Zeile hier mache, spiele ich einfach 60 ohne Optionen. Wir können also hören, dass Zeile sieben nur mit der Standardamplitude Eins gespielt wird, was genau dem Eintippen entspricht. Aber die, die Einstellungen, die wir vornehmen, die Optionen, die wir hier vornehmen, die Amplitudenoption bezieht sich in diesem Fall nur auf die Amplitudenoption bezieht sich in diesem Fall diese Note , die gespielt wird. Es legt beispielsweise nicht die Amplitude für alle zukünftigen Knoten fest . Neben der Amplitude haben wir Pan. Das ist also die zweite einfache Option, die wir uns jetzt ansehen werden. Und Pan stellt einfach ein, wo der Ton , wo der Ton im Stereofeld erscheinen soll. Bist du von, von links nach rechts, oft Balance genannt. Also lass uns das nochmal machen, aber lass uns, lass uns einfach hier anfangen. Wir können also noch einmal sagen, ein Spiel 60 wird es standardmäßig genau in die Mitte schicken. Sie haben also die gleiche Menge dieser Note im linken und rechten Lautsprecher oder im linken und rechten Kopfhörer. Wenn ich also noch einmal zu zweit schlafe , verwende ich diesmal die Pan-Option. Also drücke ich ein Komma und sage Pan-Doppelpunkt. Jetzt schwenk rein. Sonic Pi wird durch einen Wert zwischen minus 11 gesetzt. Also minus eins wird uns eine Pfanne ganz nach links geben. Ein Buch gab uns einen Schwenk ganz nach rechts. Eine 0 wird gerade in der Mitte palettiert, aber ich habe sogar die gleiche Lautstärke im linken und rechten Lautsprecher. Und diese Werte müssen nicht minus eins oder eins sein. Sie können einen beliebigen Wert zwischen minus 11 haben. Wenn ich es also auf halbem Weg in den linken Lautsprecher haben will, dann kann ich das einstellen, die Pfanne zum Beispiel auf minus 0,5. Um das zu demonstrieren, schwenken wir nach links und rechts. Also werden wir zuerst die Linke absagen. Wir werden direkt in der Mitte hinuntergehen, aber nach links schwenken, werden wieder schlafen. Und wir schwenken den ganzen Weg nach rechts. Wir sind ziemlich einfach und Sie können das tatsächlich sehen, wenn Sie sich das Zielfernrohr und die obere rechte Ecke ansehen. Sie können sehen , dass sich dies im Zielfernrohr widerspiegelt , auch wenn Sie keine Kopfhörer tragen. Also alles Zeug über der Linie ist der linke Lautsprecher und das Zeug unter der Linie in der Grafik ist der rechte Lautsprecher. kann ich kombinieren. Also könnte ich, ich könnte dann eine andere Farbe machen und sagen, ich möchte auch die Amplitude einstellen. Cool Indem ich Entschuldigungen tippe. Also kann ich die Amplitude von diesem auf die Hälfte setzen. Wie ich schon sagte, die Amplitude von diesem soll zweimal sein. Lass uns das versuchen. Wir können hören, oder vielleicht haben Sie dort ein bisschen Verzerrung gehört. Das habe ich gewiss. Mit diesem. Sie müssen nur ein bisschen vorsichtig mit der Amplitude sein , denn wenn Sie zu höheren Lautstärken gehen, werden Sie eine gewisse Verzerrung bekommen, und Zuschneiden tendiert im Allgemeinen nicht dazu, über 1,52 zu gehen. Nur in seltenen Fällen , in denen man es wirklich als Teil der Komposition haben möchte. Okay, das war's also für vier Optionen. Im nächsten Video werden wir sehr schnell über Beats pro Minute sprechen . 10. Das Tempo einstellen: Okay, also hier haben wir ein bisschen Code , den du jetzt vollständig verstehen solltest. Lesen Sie es einfach durch und stellen Sie sicher, dass Sie es verstehen. Aber sehr schnell werden wir eine Note bei Midi Note 60 spielen. Wir schlafen für einen Schlag ein. Dann spielen wir mit 60 eine weitere Note. Wir schlafen für einen Schlag ein und spielen dann eine letzte Note, Note Nummer 60. Nun, wie ich bereits kurz erwähnt habe, wird das Wann, wenn ich irgendeine Art von Dauer und Optionen in Bezug auf die Zeit innerhalb von Sonic Pi einstelle, in Beats gemessen. Nun, um das schön und einfach zu halten. Sie hier zum Beispiel schlafen, wird es für einen Schlag zwischen diesen Knoten schlafen . Nun, um das schön und einfach zu halten und die Mathematik schön einfach zu machen. Standardmäßig ist alles , was wir in Sonic Pi spielen , auf 60 Schläge pro Minute eingestellt. Und das wird nur gemacht, um die Mathematik schön und einfach zu machen , damit ich mir den Schlaf ansehen kann und ich kann mir das entweder als Sekunde oder als einen Schlag vorstellen , weil 60 Schläge pro Minute dasselbe sind Sache. Allerdings hat nicht viel Musik 60 Schläge pro Minute produziert. Wir brauchen also eine Möglichkeit, außer Kontrolle zu geraten, was die Schläge pro Minute schlagen. Und ich werde dir nur ganz kurz zeigen , wie es geht. Alles was ich tun muss, ist hier an die Spitze des Programms zu gehen. Ich benutze einfach diesen einfachen Befehl. Also werde ich sagen, benutze Unterstrich BPM. Oh, setze einhundertzehn, hundert, zehn Schläge pro Minute. Wenn ich es jetzt spiele, viel schneller, macht er 110 Schläge pro Minute. Wenn ich das nur mit Command oder Control und Schrägstrich auskommentiere oder indem ich am Anfang ein Pfund- oder Hashzeichen hinzufüge. Und führe das nochmal aus. Da sind wir wieder bei 60 Schlägen pro Minute. Wenn ich diesen Kommentar entferne. Da sind wir ja. Auf diese Weise können wir die Beats pro Minute innerhalb unserer Programme festlegen . 11. Synths: Okay, das ist also großartig. Wir können tatsächlich eine Musik mit Code produzieren und wir können uns zwischen den Noten ausruhen oder wir könnten alle Noten zusammen als Akkord spielen. Sie können die Amplitude einstellen, wir können die Pfanne einstellen. Aber die Klänge, die Ihr Publikum nicht sehr interessant können wir uns sehr langweilen oder der Piepton kommt aus Sonic Pi. Zum Glück hat Sonic Pi über 0,40 US-Dollar eingebaut. Es gibt jetzt eine Liste auf dem Bildschirm. Wir werden uns jetzt einige von ihnen ansehen. Und es gibt wirklich einen großartigen Sinn hier drin. Gehen wir also zurück zu Sonic Pi. Und wir können hier sehen, dass wir nur eine C-Dur-Triade haben. Und einen der Sensoren zu benutzen ist eigentlich sehr, sehr einfach. Also was ich mache, ich gehe hier hoch. Es ist sehr ähnlich wie gesagt , BPM zuvor für die Verwendung von Beats pro Minute zu verwenden. Wir können sagen, benutze einen Synth. Wir können also sagen, benutze Unterstrich. Synth, drücken Sie die Leertaste, wir treffen den Doppelpunkt und dann geben wir den Namen des Synths ein, den wir wollen. Also nur für diesen werden wir die Quelle für technische Unterstriche verwenden. Sie können sehen, dass die Hilfe auf dem Bildschirm angezeigt wird, um uns zu fragen. Und wenn ich jetzt Run drücke, werden Sie hören, dass es die R-C-Dur-Triade mit den Texten spielen wird . Fantastisch. Viel, viel mehr Interesse an Sound. Ich könnte hier jedes Symptom gebrauchen. Also muss ich das Codon drücken und einfach ein anderes eingeben. Für eine Drei oder Drei könnte ich zum Beispiel TB drei oder drei sagen. Und da drin gibt es alle möglichen tollen Dinge. Für die 1800er haben wir also einen Gewinn. Und wie gesagt, es gibt eine Menge, da hier, wie ich bereits erwähnt habe, der Hilfebereich in Sonic Pi absolut fantastisch ist. Hier für Sie enthalten. Wenn du nach unten links gehst, siehst du diesen kleinen Tab namens Sinn. Auch hier gilt: Wenn Sie den Hilfebereich gerade nicht geöffnet haben, gehen Sie nach oben und verwenden Sie diese Schaltfläche, um ihn ein- oder auszuschalten. Und dann haben wir hier das Gefühl, dass es hier eine vollständige Liste aller Sinne gibt. Schauen wir uns Blade an. Also kann ich einfach hier runter gehen. Ich muss nur den Namen eingeben. Schwerer. Wir können das einfach kopieren und hier drüben einfügen. Sie können also sehen, dass es hier eine ganze Liste von Synchronisierungen gibt, die genau dieselbe Liste ist, die ich Ihnen gerade auf der vorherigen Folie gezeigt habe. Geht geradeaus. Du hast dein kleines bisschen Musik, du gespielt hast, mit dem Stück. Komm hoch, mach weiter und spiel mit dem Sinn herum und sieh , welche interessanten Klänge da drin sind. 12. Anwendung von synth: Okay, also eines der Dinge , über die wir nachdenken, wenn wir über Filter nachdenken. Und in Sonic Pi sind Filter in den Sinn eingebaut. Eines der häufigsten Dinge, die mit einem Synth-Filter zu tun haben, ist das Cut-Off. Und wir setzen diese ein, indem die Optionen auf die gleiche Weise verwenden, wie wir Amplitude und Pan früher eingestellt haben . Fangen wir also hier von einer sauberen Weste an. Deshalb werden wir die technischen Quellen nutzen. Verwenden Sie also Unterstriche Synth, Codon, Tech-Quelle. Und dann spielen wir, ich spiele eine E-Drei. Also ein E in der dritten Oktave. Das klingt so. Wenn ich den Cutoff des Filters einstellen würde, dann setze ich einfach ein Komma, ich habe Cutoff einen Doppelpunkt beigebracht, und dann setze ich den Cutoff auf 70. Und so klingt das. Okay, das reduziert also die Kosten für den Filter. Sie können hören, dass das wirklich die Art und Weise anpasst , wie diese Note klingt. Also lass uns, lass uns hier einen weiteren E3 hinzufügen, damit du den Unterschied zwischen einschlafen kannst. Dadurch wird der E3 abgespielt, ohne dass die Abschaltung der Filterabschaltung eingestellt ist. Und die, und dann die E3 mit einem Cutoff. Da sind wir ja. Und wieder, auf der rechten Seite, können Sie im Logfenster genau sehen , was hier passiert ist. Wir haben Tech Soars mit der Note 52 gespielt , was ein E3 ist. Dann haben wir die Textaufträge mit einer Note bei 52 gespielt, mit einem Cutoff bei 70. Und Sie können sehen, dass die Zeit, in der wir das bezahlen, diesmal Teil der Logs hier, ist, an dem der Sound abgespielt wurde oder wann die Aktion in Bezug auf das Drücken der Run-Taste, dem Beginn des Stücks, stattfand . Also sofort zur Zeit 0 ist 0. Wir haben 52 gespielt, und dann, zwei Sekunden später, haben wir erneut die Textilien gespielt, wieder bei 50 bis 70. Damit dieser Teil des Gesetzes auch wirklich nützlich sein kann um zu sehen, was in welcher Reihenfolge passiert ist und wann es passiert ist. Und wieder ist es wirklich einfach, das jetzt mit einem einfachen Stück Code herauszufinden ein Code komplexer wird. Sie werden feststellen, dass das Protokoll immer nützlicher wird. Wir haben über Synthesizer und die Konzepte von Synthesizern wie Filtern gesprochen , und sie wenden Filter an. Und in einer Sekunde werden wir uns die Resonanz ansehen. Wenn diese Konzepte für Sie neu sind, empfehle ich Ihnen auf jeden Fall, meinen anderen Kurs zu lesen, der einen vollständigen Anfängerleitfaden für Synthese und Sounddesign enthält. Dieser Kurs führt Sie durch diese Konzepte und viele, viel mehr Details. Aber jetzt wollen wir weitermachen und einen Blick auf die Resonanz werfen. Ganz kurz. Eine Resonanz gibt nur einen kleinen Blick in den Filter kurz vor dem Cutoff. Wir setzen die Bewohner einfach auf eine andere Option ein. Wie gesagt, wir können unsere Optionen einfach hinzufügen, indem wir ein Komma nach der aktuellen Option setzen. Also lasst uns das Gleiche noch einmal machen, damit wir sicherstellen können , dass wir die Unterschiede hören können. Also lass uns ein E3 machen. Wir setzen den Cutoff gleich. Um die Bewohner festzulegen, füge ich einfach eine weitere Option hinzu. Also habe ich ein Komma gedrückt. Und ich werde die Resonanz einstellen, indem ich die Option raise, RES, treffe den Doppelpunkt. Jetzt werden Resonanzen als Wert zwischen 0,1 festgelegt. Du kannst keine festlegen. Also eins. Die Bewohner könnten alles unter eins und über 0 sein. Also in diesem Fall die Texte oder gesendeten, wenn ich hier in der Hilfe nachschaue, betrachte ich den Sensor wie eine technische Quelle und klicke auf Resonanz. Ich kann sehen, dass die Resonanz für diesen Synthesizer standardmäßig auf 0,7 eingestellt ist , dass sie für verschiedene Synthesizer unterschiedlich sein kann. Lass uns das einfach ändern. Setzen wir das dafür auf null 0.9. Und Sie werden einen subtilen Unterschied im Filter für diesen Synthesizer hören . Da sind wir ja. So stellen Sie den Filter-Cutoff und die Resonanz ein, damit Synthesizer ein Spiel haben. Diese Effekte werden sich für die verschiedenen Typen und Größen drastisch unterscheiden. Also ändere das hier oben, spiele, spiele mit verschiedenen Arten von Synthesizern und ändere diese Cut-Off- und Resonanzwerte hier. Und um wirklich mit diesen Funktionen zu experimentieren. Im nächsten Abschnitt werden wir uns dann einen anderen beliebten Teil der Synthese ansehen , und das sind Hüllkurven. 13. Umschläge: Okay, bevor wir uns mit Code befassen, schauen wir uns an, was Umschläge sind. Nun werden wir hier eine kurze Einführung durchgehen, aber wenn Sie weitere Informationen wünschen, schauen Sie sich bitte meinen vollständigen Anfängerleitfaden für Synthese und Sounddesign an. Eine Hüllkurve ist eigentlich nur eine Art, die Amplitude oder Lautstärke eines Klangs im Laufe der Zeit zu beschreiben . Nur um es zu finden. Wo Sie es in dieser Grafik finden Sie hier. In diesem Diagramm haben wir also die Y-Achse, die Amplitude oder Volumen ist. Auf der X-Achse ist dann die Zeit. Der erste Teil des Umschlags ist also der A-for-Attacke. Und oft werden Sie sich darauf beziehen, Sie sind hier der Begriff ADSR. Dies ist nur eine andere Art der Benennung und Umhüllung. Wenn die Leute also über ADSR sprechen, sprechen sie von einem Umschlag. Es gibt verschiedene Arten von Hüllkurven, aber ADSR ist am häufigsten. Also steht a für den Angriff, und das ist einfach die Zeit , die benötigt wird, um von 0 Amplitude zur maximalen Amplitude zu gelangen . Wenn wir, wenn wir eine Note auslösen. D steht dann für den Zerfall. Und so lange dauert es, bis wir von der maximalen Amplitude am Ende der Attack-Phase zu dem Pegel gelangen der maximalen Amplitude am Ende der , auf dem wir die Note aufrechterhalten wollen, nämlich das S und das S. eher in Bezug auf Volumen oder Amplitude als in Bezug auf die Zeit. Die Freigabe gibt an, wie lange es dauert, bis dieser Sustain-Pegel wieder auf 0 Amplitude am Ende der Note abgesenkt Eine Note wird freigegeben. Ein DNR wird also alle durch einen Zeitraum bestimmt. Und S, das Sustain wird als Amplitude bestimmt oder eher als Amplitude oder Lautstärke als als ein Zeitraum in Sonic Pi deklariert . Dann haben wir noch drei andere Elemente, nämlich das Attack-Level, das Decay-Level und das Sustain-Pegel, und dies sind auch Volumes. Gehen wir also zum Code über und sehen wie wir dies nutzen können, um unseren Sound zu beeinflussen. Okay, also hier sind wir wieder da und Sonic Pi. Werfen wir einen Blick auf ADSR-Hüllkurven und wie wir diese in Sonic Pi konfigurieren können. Fangen wir also mit einem einfachen Play-Befehl und spielen einfach einen C4. Okay, also um den Umschlag festzulegen oder den Umschlag zu konfigurieren, stellen Sie die Parameter des Umschlags ein. Wir fügen einfach Optionen hinzu wie bei Pam, Pegel-Cutoffs, Resonanzen usw. Also genau das Gleiche. Auch hier ist es nett und einfach. Es wurde wirklich sehr gut entworfen, um sehr Standard zu sein. Sie können also irgendwie hackig umgehen und dem gleichen Muster für vier verschiedene Optionen folgen. Also drücken wir wieder das Komma. Hier drin. Wir werden verschiedene Teile der Umschläge festlegen. Wir beginnen mit der Veröffentlichung. Ich denke also, es ist am einfachsten, hier zu sein. Also wird es das Release-Codon setzen. Das ist eine Kraft, die zwei für vier Schläge sein wird . Da wir standardmäßig einen BPM von 60 haben, bedeutet dies, dass wir über vier Sekunden veröffentlichen werden. Also lass uns das spielen. Sie können also hören, dass es vier Sekunden gedauert hat, um von der anhaltenden Amplitude auf eine Amplitude von 0 zu gelangen. Das sage ich noch einmal. Wir können die Parameter der ADSR-Hüllkurve auf die gleiche Weise festlegen. Also sollten wir vielleicht einen Angriff starten. Also können wir einfach hier reingehen. Wir können ein weiteres Komma hinzufügen. Und wir sagen, dass wir dieses Mal den Angriff starten werden. Ich werde den Angriff auf unseren ADSR-Umschlag auf 2,5 setzen . Dann dauerte es 2,5, um von 0 Amplitude zur maximalen Amplitude zu gelangen. Und dann löst es über vier Sekunden oder vier Schläge aus. Aber wie gesagt, wir haben den Zerfall, das Sustain und die Freigabe des Angriffs , die wir alle einstellen können. Wir können auch den Angriffspegel, den Decay-Level und den Sustain-Pegel festlegen . Und nur um Sie daran zu erinnern, dass der Angriff die Zeit ist, die benötigt wird, um von 0 Amplitude auf die Angriffsebene zu gelangen Der Zerfall ist die Zeit, um vom Angriffs-Level zum Decay-Level zu gelangen . Das Sustain ist die Zeit, die benötigt wird , um vom Decay - zum Sustain-Pegel zu Und das gibt die Zeit frei, um vom Sustain-Pegel auf 0 zu wechseln. Also lasst uns, lasst uns unsere Notizen mit all diesen Optionen konfigurieren. Bleiben wir also beim Angriff von 0,5, aber wir werden sagen, dass unser Angriffslevel eins sein wird. Was wird das bewirken? Damit wir noch einmal sehen können, könnte ich einfach die Pfeiltasten benutzen, um in diesem Code-Vervollständigungsfenster hier auf und ab zu gehen. Und wenn ich das bekommen habe, möchte ich einfach die Eingabetaste drücken und es wird es für mich einsetzen. Wir setzen die Angriffsstufe auf eins. Wir setzen das auf k. Also setzen wir Decay auch auf eins. Wir legen den Zerfallsgrad fest. Wir setzen das auf nicht 0,7. Wir werden das Nachhaltige festlegen. Ich setze das als keine 0,4. Wir setzen das Anhaltende auf zwei. Das hat mich tatsächlich an einen guten Punkt gebracht. In Sonic Pi spielt es also wirklich keine Rolle , wo der Wagenrücklauf ignoriert wird. Wenn ich also hier zu einer Zeile komme und weil meine Schrift sehr groß ist, wenn sie ihre Folie hier bekommt, ist das irgendwie eine Punktzahl vom Bildschirm. Ich kann nach links und rechts scrollen, aber eigentlich ist es wahrscheinlich einfacher, die Return-Taste zu drücken. Und du wirst es dort sehen, es auf eine neue Linie setzen. Das ist völlig in Ordnung. Wenn Sie Ihren Code nur so organisieren möchten, werden Wagenrückläufe oder die Eingabetaste ignoriert. Also hier hinten habe ich hier ein fehlendes Komma für das Sustain. Also lass uns das ausführen. Also haben wir einen Sound aufgenommen , der nur um zu demonstrieren, ich werde hier ein weiteres Spiel den gleichen Sound hinzufügen, um ein C4 zu bekommen und für zwei zu schlafen. Das wird also abgespielt, der Standardsound wird für zwei Beats schlafen. Und dann wird es diesen mit dem Umschlag spielen , den wir so eingerichtet haben, wie wir es wollen. Man kann also den Unterschied wirklich hören. Und wieder kann ich das mit anderen Dingen kombinieren , die wir in Sonic Pi gelernt haben. Also benutze ich dafür einen Synthesizer. Also lass uns, lass uns, Lass uns die Synth-Gewinne nutzen. Da sind wir also. Das sind Hüllkurven in Sonic Pi, nett und einfach zu machen. Auch hier fügen wir es nur als zusätzliche Optionen nach unserem play-Befehl hinzu. Jetzt müssen Sie mit verschiedenen Sinnen, aber auch mit verschiedenen Hüllkurven experimentieren auch mit verschiedenen Hüllkurven und sehen, welches interessante Klanggen auftaucht. Versuchen Sie, perkussive Sounds mit einem sehr kurzen Attack und einer kurzen Veröffentlichung zu erzielen, die Ihnen viel perkussivere Sounds liefern. Ich würde einige wirklich padähnliche Sounds ausprobieren, indem ich den Angriff und die Freigabe auf sehr lang setze. Spielen Sie also mit den Parametern darin herum. Keine Sorge, du kannst nichts kaputt machen. Und ich sollte dir nur die Fehlerbefehle zeigen. Wenn ich zum Beispiel die Lektion auf etwas setze , das mir einen todsicheren Fehler beschert. Also, wenn ich die Angriffsstufe zwei minus eins nehme, also versuchte es zu spielen, aber er hat seinen bis zum Angriffsniveau bekommen und dann haben wir einen Fehler getroffen. Also kann ich hier sehen dann muss der Wert der Option Attack Level 0 oder größer sein und es hat einen minus eins. Das ist also wirklich, sehr hilfreich, Eric befiehlt innerhalb von Sonic Pi. Wenn Sie diese Art von rosa Linien erhalten oder diese Fehlermeldungen angezeigt werden, können Sie hier viel detaillierter darauf eingehen. Aber im Allgemeinen, wenn Sie diese Art von großen, fetten Fehlermeldungen lesen , die auftauchen, Das gibt Ihnen einen wirklich guten Hinweis darauf wo genau in Ihrem Code der Fehler aufgetreten ist. Und wie gesagt, ist eine wirklich schöne, sichere Umgebung. Sie können Ihrem Computer oder anderen laufenden Programmen keinen Schaden zufügen . Tue ich wirklich. Experimentieren Sie in Sonic Pi. Probiere Sachen aus. Wenn es nicht funktioniert, erhalten Sie eine gut lesbare Fehlermeldung , die Sie in die richtige Richtung weist. 14. Samples abspielen: Okay, wir haben uns den standardmäßigen Play-Befehl angesehen, das Piepgeräusch abspielt. Wir haben uns bemüht , diesen Sound zu ändern , sowohl mit der Fähigkeit, einen anderen eingebauten Synthesizer innerhalb von Sonic Pi zu verwenden , als auch mit der Möglichkeit , verschiedene Optionen wie die Lautstärke oder die Amplitude, die Pfanne. Wenden Sie Filter an und schneiden Sie mit Cutoffs und Resonanzen ab und können Sie die Hüllkurven anpassen. Hoffentlich hattest du die Chance, wirklich gut damit zu spielen und wirklich zu verstehen , wie das alles funktioniert. Es gibt jedoch eine andere Möglichkeit, Sound in Sonic Pi abzuspielen, und zwar durch die Verwendung von Samples. Jetzt gibt es eine Reihe von eingebauten Samples in Sonic Pi, und Sie können alle unten im Hilfebereich hier sehen. Wenn Sie auf diese Registerkarte für Beispiele klicken, erhalten Sie eine Liste von Beispielkategorien. Und dann kannst du in diese springen und die verschiedenen Samples abspielen. Wie gesagt, der Hilfebereich in Sonic Pi ist absolut fantastisch. Wenn Sie hier durchgehen, werden Sie all die verschiedenen Beispiele sehen , die Sie verwenden können. Und wenn ich hier einfach einen auswähle, wenn du diesen kleinen Pfeil daneben wählst, ist das eigentlich ein Play-Button. Und so können Sie die Proben im Gesundheitsbereich vorsprechen . Wenn ich also zum Beispiel neben diesem Skinny Boom spiele , drücke diesen Play-Button. Es gibt viele andere hochwertige Samples, die in Sonic Pi eingebaut sind. Um sie zu verwenden, verwende ich nur die Beispielschlüsselwörter, also tippe ich einfach das Wort sample ein. Dann drücke ich den Doppelpunkt und den Namen des Samples , das ich verwenden möchte. Es gibt also eine Gitarre , die eine e-moll Neunte ist. Also wenn das das Beispiel ist, werde ich das verwenden und so auf Run drücken. Auch hier kann ich die gleichen Optionen anwenden wie bei der Plage von n. Wenn ich also hier zum Ende gehe und die Amplitude einstellen kann , ist das eine 0,5 und wir werden ganz nach links paneelen was wiederum ein Minus-Eins-Pfanne ist. Und spiel das. Da haben wir also eine halbvolumige Probenschale bis zum linken Ohr gehört . Es sind sehr viele Muster eingebaut, und ich würde Sie ermutigen, hier einen Blick darauf zu werfen. Wenn wir also runtergehen und uns einige dieser Sounds ansehen, wenn wir zum Beispiel beim Loopen einen Blick darauf werfen , können wir sehen, wie das Amen hier kaputt geht. Wenn ich also, wenn ich ein Sample vorgespielt habe, wenn ich es in meinem Code abspielen oder es in meinem Code verwenden möchte, kann ich es entweder eingeben oder ich kann es einfach mit Command , Control C kopieren oder ich kann es einfach mit Command C, Control C kopieren. rechtsklick und kopieren. Und ich kann das einfach nehmen und hier aufkleben. Das wird also ein Sample mit der Geschwindigkeit abspielen , mit der es aufgenommen wurde. Aber ich kann die Samplerate tatsächlich wieder ändern , nur mit einer anderen Option. Ich sagte diese Option mit einem Komma am Ende, ich kann die Rate einstellen, die die Geschwindigkeit des Samples ist. Jetzt werden standardmäßig alle Samples mit einer Rate von eins abgespielt, und das ist die Geschwindigkeit oder Geschwindigkeit , mit der sie aufgenommen wurden. Aber ich kann das so einstellen, dass es mit halber Geschwindigkeit läuft. Also 0,5. Ich könnte es mit der doppelten Geschwindigkeit oder Geschwindigkeit von zwei spielen lassen. Ich könnte mit 1,5 spielen. Oder interessiert mich, wenn ich eine negative Zahl nehme, wenn ich eine Rate von minus eins spiele, passiert das. Ich spiele in der Probe rückwärts. Setzen wir das auf eine Rate von eins zurück. Wenn du Sachen mit einer Geschwindigkeit von eins abspielen willst, kannst du diese Option einfach entfernen. Ich lasse es vorerst da. Aber alles an allem durch T-Fehler spielt sich eher mit einer Geschwindigkeit von eins ab. Ich kann aber auch ein externes Sample verwenden. Es gibt also viele, viele Samples, die in Sonic Pi eingebaut sind. Ich habe jetzt definitiv fünf Minuten damit verbracht , nur drinnen herumzuspielen. Viel wirklich, sehr nützlicher Sound. Also weiß ich es nicht. Wir haben die Mondlandung, ein Umgebungsgeräusch. Es gab viele eingebaute Drum-Samples. Zum Beispiel. Es gibt noch ein paar Drum-Samples und hier sind es Bass-Sounds. Glitchige Sounds, Snare Drums. Es gibt wieder viele Loops und eine Menge Vinyl-Sounds, um eine Lo-Fi-Filtermusik hinzuzufügen. Da ist eine ganze Menge drin, also ermutige ich Sie auf jeden Fall , nur fünf Minuten damit zu verbringen dieses Video zu pausieren und die Samples durchzustöbern und ein paar vorzuspielen und mit ihnen herumzuspielen und spielen Sie mit der Rate herum und sehen Sie, wie sie sich anhören, umgekehrt oder beschleunigt oder verlangsamt. Jetzt gibt es die eingebauten Samples, aber tatsächlich können wir Samples verwenden , von denen wir selbst aufgenommen haben , laden Sie sie einfach von unserer Festplatte. Also lass uns hier gehen. Und so wie wir das machen, geben wir einfach einen Pfad an. Das wird also bei Windows auf einem Mac etwas anders sein, ich bin auf einem Mac. Um das zu tun, muss ich nur noch Probe drücken. Und dann muss ich Sonic Pi in Anführungszeichen nur sagen, wo sich das Sample befindet. Nun, wenn Sie unter Windows sind, wird wahrscheinlich ein Doppelpunkt-Vorwärts-Schrägstrich oder ein C-Doppelpunkt-Backslash angezeigt. Und dann der Pfad, wo auch immer Ihre Probe befindet. Ich bin auf einem Mac. Also ist mein Beispiel auf meinem Desktop. Also gehe ich zu Users, Steve, auf meinen Desktop. Und dann habe ich ein Sample namens Beat One. Und da sind wir ja. Das ist alles was ich tun muss, um zu sagen, dass es ein Sample abspielen soll, das heißt ein Sample laden. Und von meiner Festplatte wieder kann ich wieder die Rate eines Samples ändern, in das ich geladen habe. So wie. Das Spielen wird offensichtlich lange dauern. Dies ist ein gutes Beispiel für die Verwendung der Stopp-Taste oder das Drücken von Command oder Strg S auf Ihrer Tastatur. Da sind wir ja. Also können wir anfangen und es nach der Hälfte eines Laufs beenden. Und wieder kann ich das in Reverse Stock spielen, Reverse Stock dass ich es mit doppelter Geschwindigkeit in umgekehrter Richtung spielen kann. Okay, es gibt also auch eine andere Option zum Abspielen von Samples. Wir können einfach auf einen Ordner zeigen und einen Index verwenden, um zu sagen, welcher abgespielt werden soll. Das ist also sehr nützlich, wenn Sie eine Beispielbibliothek oder einen Ordner auf Ihrer Festplatte haben , in dem sich eine Reihe von Samples befinden. Also sagen wir einfach, mit welchem Sample wir in einem Ordner spielen wollen. Also können wir das hier einfach entfernen. Wir können sagen, okay, spiel das erste Sample. Nun, hier ist etwas, auf das wir Sie hinweisen sollten. Wenn wir also programmieren, kommt es sehr, sehr häufig vor. Tatsächlich ist es in Programmiersprachen fast universell , dass der erste Artikel in der Sammlung der 0. Artikel ist. Zählen innerhalb eines Computers beginnt also immer bei 0, sicherlich innerhalb von Ruby und Sonic Pi. Wie ich bereits sagte, basiert Sonic Pi auf Ruby. Wenn ich also sage, dass ich Sample 0 in diesem Ordner verwenden möchte, bedeutet das, dass ich das erste Sample in diesem Ordner abspiele. Jetzt habe ich nur noch ein Sample in diesem Ordner auf meinem Desktop, also wird es die gleichen abspielen, die wir zuvor hatten. Sie werden später sehen, dass dies sehr nützlich sein kann, da wir Codein bestimmen können, welches Sample wir spielen möchten, ohne den Namen jedes einzelnen Samples kennen zu müssen . Wir können einfach sagen: Spielen Sie mir Probe fünf, spielen Sie mir Probe drei, probieren Sie zehn und so weiter. Das ist also nur eine andere Art, auf Samples zuzugreifen. Aber auch hier, wenn ich nur auf ein bestimmtes Sample zugreifen möchte, tippe ich einfach den vollständigen Pfad und den Namen dazu nach der Sample-Tastatur ein. Jetzt funktionieren Umschläge für Proben genauso wie für Sinn. So könnten wir zum Beispiel den Angriff dieses Beispiels festlegen. Wir können sagen, ich will das, der Angriff für die Probe dauert vier Wochen. Lass uns das spielen. wir also Von dort aus können wir also sehen, dass es vier Schläge brauchte, um von 0 Amplitude zu kommen , sobald wir das Sample bis zur maximalen Amplitude getriggert haben. Jetzt unterscheidet sich das Sustain für Samples geringfügig, sodass das Sustain automatisch auf die Länge des Samples eingestellt wird . Denken Sie also daran, dass das Sustain der einzige Teil der Hüllkurve ist , den wir in Bezug auf die Zeit definiert haben, der Rest des in Bezug auf die Amplitude definierten. Das Sustain wird jedoch automatisch auf die Länge des Samples eingestellt. Oder wir stellen es wie gewohnt ein. So kann ich die anhaltenden Listen auf sagen wir mal zwei Listen setzen. Lassen Sie uns diesen Angriff entfernen, nur um sicherzugehen , dass er klar ist. Da sind wir ja. Da ich uns also gesagt habe, dass wir zwei Beats aufrechterhalten sollen, wurde dieses Sample für zwei Beats gespielt. So kann ich auch den Start- und Endpunkt für die Probe festlegen . Und ich sage ihm, wie weit ich in die Probe gehen möchte. Dies ist ein Wert zwischen 01. Also ist es irgendwie, wenn Sie möchten, Prozentsatz durch die, durch die Stichprobe, die ich beginnen und beenden möchte. Ich könnte also sagen, fangen wir bei null 0,2 des Weges durch die Probe an. Lass uns zu keinem Zeitpunkt bis sechs fertig sein. Das hat sich hier also abgespielt, dass wir mit dem Sample beginnen und vor dem Ende fertig sind. Da sind wir ja. Also das ist Sampling oder Abspielen von Samples innerhalb von Sonic Pi. Im nächsten Abschnitt werden wir einen Blick auf den Programmablauf und damit beginnen, komplexere Programme aufzubauen, um komplexere und interesse an Musik zu produzieren. 15. Programmablauf: Was meinen wir mit Programmablauf? Nun, der Programmablauf ist nur eine Methode, um festzustellen , in welcher Reihenfolge die Anweisungen in unserem Programm ausgeführt werden. Und es sind wirklich drei grundlegende Konzepte. Das ist Reihenfolge, Auswahl und Iteration. Reihenfolge ist nur die Ausführung von Anweisungen in der richtigen Reihenfolge. Und das haben wir bisher gesehen. Also haben wir zum Beispiel eine Note gespielt, wir haben geschlafen und ihnen weitere Knoten platziert. Dann haben wir MICH geschlagen und eine weitere Note gespielt. Dies ist nur die Ausführung dieser Anweisungen vom Anfang unserer Codedatei nach unten in der Reihenfolge , in der wir sie eingegeben haben. Die Auswahl ist nur eine Möglichkeit, anhand von etwas anderem zu bestimmen, welche Aktion in unserem Code ergriffen werden soll. Wir könnten also sagen, wenn dies passiert ist, tun Sie dies sonst tun Sie etwas anderes und das wird viel klarer werden, und ich erkläre die Bedingungen später. Die dritte Iteration besteht darin, immer und immer wieder dasselbe mehrmals tun zu können und immer wieder dasselbe . Dies kann nun unendlich oft oder eine vorbestimmte Anzahl von Malen geschehen. Aber sagen wir zum Beispiel, wir hatten eine C-Dur-Triade, mit der wir gleich zu Beginn des Kurses begonnen haben . Jetzt könnten wir diese C-Dur-Triade 16 Mal spielen , indem wir denselben Code 16 Mal eingeben und zwischen ihnen schlafen. Also könnten wir eine C-Dur-Triade schlafen für einen Schlag machen. Eine weitere C-Dur-Triade schläft für einen Schlag. Aber jedes Mal, wenn wir das tun, sind das vier Befehle, nicht wahr? Es gibt also drei Spielbefehle, um unsere drei Töne zum Knurren, Triaden und Schlafen zu bringen. Wenn wir das tun wollen, zum Beispiel zehnmal x, sagen wir, halten wir sie einfach und schön. Wenn wir wollten. Wir wollten diese C-Dur-Triade zehnmal spielen, wir müssten dieselben vier Zeilen wiederholen, die drei Spiele und zehnmal schlafen in unserem Code. Um denselben Code, zehnfache Iteration, abzuspielen , wäre es eine großartige Möglichkeit. Ich konnte einfach sagen, okay, hier sind diese vier Codezeilen. Mach das einfach zehnmal. Und genau das werden wir uns als Nächstes ansehen. 16. Loops: Okay, also wenn wir gleich an den Anfang des Kurses zurückdenken und wir ein kleines Stück Code hatten , das uns eine C-Dur-Triade spielte und es sah so aus. Also, wie ich schon sagte, wenn wir die C-Dur-Triade zehnmal spielen wollen, sollten Sie vielleicht so etwas tun. Lass uns also einen Takt schlafen und dann können wir unsere C-Dur-Triade erneut tippen. Und dann können wir das noch achtmal machen. Also könnten wir klüger werden und vielleicht sagen, oder wir können kopieren und einfügen, oder? So können wir eine Kopie erstellen , dass Motors das dreimal viermal geduldig hält 5678910. Da haben wir also unsere zehn Major- oder Tenancy-Major-Triaden hintereinander. Dabei wird der Sequenzteil des Iterationsprogrammablaufs für die Sequenzauswahl verwendet Iterationsprogrammablaufs für die Sequenzauswahl , den wir in der vorherigen Lektion kennengelernt haben. Es führt also einfach jede einzelne Anweisung der Reihe nach aus. Ich muss den Stopp-Knopf benutzen. Oder Sie können Command S oder Control S verwenden , um es durch den Programmablauf zu stoppen. alles müssen wir nicht hören. Das funktioniert jetzt völlig in Ordnung. Es ist absolut in Ordnung. Wir werden operieren und es ist vollkommen in Ordnung, dies zu tun, außer dass Sie sehen können , um Musik jeder Art von Länge zu produzieren Sie, um Musik jeder Art von Länge zu produzieren, am Ende ein schrecklich langes Programm und eine Menge haben werden ein schrecklich langes Programm und eine Menge haben wiederholter Code, der sehr, sehr schwer zu lesen ist. Der Weg, dies zu umgehen, besteht darin, dies zu entfernen. Der Weg, dies zu umgehen, besteht darin, ein Konstrukt namens on loop zu verwenden. Und hier bewegen wir uns in die Iterationsteile des Programmablaufs. Also habe ich in Sonic Pi, dem Schlüsselwort für eine Schleife, Dinge immer wieder rund und rund gemacht. Lucas, eigentlich eine wirklich nützliche Art zu benutzen, weil wir sowieso Loops in der Musik verwenden , um etwas zu bedeuten, das einfach nur gespielt werden kann, naja, das immer wieder rund und rund gespielt werden kann. Also können wir sagen, okay, also schauen wir uns das an. Ich tippe das ein und erkläre es. Was wir hier gesagt haben, ist, dass wir das Schlüsselwort loop verwenden und dann sagen wir do, is loop, do. Dann alles vor dem Ende. Wir werden uns umdrehen und uns umdrehen und wieder umrunden. Das wird einfach für immer so weitergehen. Also werde ich damit aufhören. Sind die Gründe können für immer weitergehen. Ist es, es wird, es wird Schleife tun sagen. Und es wird diese Triade spielen, die für 1 Sekunde oder einen Schlag schlafen gehen. Und dann wird es das Ende erreichen und es wird zurück zur Schleife gehen , es tun und wieder tun, den Triathlet für eine Sekunde spielen, das Ende treffen, zurück zur Schleife gehen, tun und dann einfach behalten geht für immer und ewig und immer und ewig. Was wir jedoch tun können, ist eine andere Art von Schleife. Wir können Sonic Pi sagen, dass wir eine bestimmte Anzahl von Malen spielen möchten. Die Art und Weise wie wir das machen, ist sehr einfach. Deshalb haben wir das Schlüsselwort loop durch die Anzahl der Wiederholungen ersetzt , die wir wiederholen möchten. Also machen wir das dreimal, damit wir es bis zum n durchschauen können . Also sagen wir einfach die Anzahl der Male. Also drei Punkt mal, mach das dreimal. Und da sind wir ja. Dann wird unser Programmablauf wieder zum Sequenzteil zurückkehren. Wir könnten also sagen, spiel das dreimal. Und dann machen wir einfach einen weiteren Akkord. Also lass uns ein G-Dur machen. Also gehen wir, wir sagen Doppelpunkt, G4, ein Vorher. Und a. Die Fünf sollten uns eine G-Dur-Triade geben . Und da sind wir ja. Wir können also sehen, dass dies eine enorme Menge an Code gekostet hätte. Wenigstens kriegen wir das hin, oder? Wir haben also diese vier , die dreimal wiederholt worden wären . Das sind also 12. Und dann wiederholten sich noch vier dreimal. Das wären also 24 Codezeilen gewesen. Und das reduzieren wir auf das. Und wir können sehen , dass dies viel, viel einfacher zu lesen ist , insbesondere wenn ich einen Codekommentar verwende. Also kann ich sagen, oh, entschuldigen Sie mich. Ich kann hier also einen Kommentar abgeben , um zu sagen, dass dies ein C-Dur ist und dann ist ein G-Dur-Nebel . Wir können sehen, dass wir einen viel, viel besser lesbaren Code haben . Diese Anzahl von Malen muss nicht drei sein. Es könnte alles sein, was du willst. Es könnten 60 sein und es können 20 sein, könnten 100 sein, was auch immer, was auch immer du willst. Die einzige wichtige Sache , an die man sich bei Schleifen erinnern sollte, ist, dass jede Schleife Schlaf enthalten muss. Und wenn wir das nur für den Moment entfernen, wenn ich diesen Schlaf entferne, dann passiert der Computer so schnell, dass er dreimal durchläuft. Sie haben gehört, dass das sehr verzerrt war. Aber es ist tatsächlich geschafft, dass es diese Triade dreimal gleichzeitig gespielt hat. Und deshalb müssen wir in jeder Schleife einschlafen , weil der Computer so schnell ist, dass er diese drei Mal im Bruchteil einer Sekunde durchläuft . Wir müssen daran denken , den Befehl sleep in jede Schleife zu schreiben. 17. Nested Schleifen: Jetzt können wir auch Schleifen, ungleichmäßige Schleifen verschiedener Art ineinander verschachteln . Wir wissen also, dass wir die Schleife haben und wir haben die drei Punkte mal du oder die 16 mal, die wir ineinander verschachtelt haben können. Und ich zeige Ihnen hier ein kleines Beispiel, damit wir Schleife sagen können, wissen wir, dass wir ein Ende brauchen? Jetzt werden Sie feststellen, dass beim Ausführen von Dingen der Code formatiert und die Einrückungen eingefügt werden, um das Lesen zu erleichtern. Eine andere Möglichkeit, dies zu tun, ohne darauf warten zu müssen, dass es ausgeführt wird, besteht darin, Command oder Strg M zu drücken, vier M für Mutter. Und das wird den Code einfach gut für Sie formatieren. Also kann ich hier sagen, sample wenig die Bassdrum spielen, Sample, BDI, Underscore House. Wieder Control, Enter. Control, Control oder Command M formatieren das für Sie. Das wird also außerhalb einer Schleife abgespielt. Wenn ich das jetzt spiele, wird es einmal gespielt. Und der Grund, warum es gescheitert ist , ist, dass in dieser Schleife kein Schlaf ist. Während der Pest der Audits ist es also in Ordnung. Es wird sie einfach alle auf einmal spielen. Aber tatsächlich, wie ich bereits sagte, ist Sonic Pi sehr darauf ausgerichtet, zu lernen und Sie davor ist Sonic Pi sehr darauf ausgerichtet zu bewahren , etwas zu tun, das möglicherweise viel Prozessor und Speicher auf Ihrem Computer verbrauchen könnte Prozessor und Speicher auf Ihrem Computer verbrauchen hat uns hier tatsächlich einen Fehler gegeben , um zu sagen, dass wir nicht geschlafen haben, weil das Abspielen von Samples viel, viel intensiver für Ihre Systemressourcen ist viel, viel intensiver als nur die Verwendung des Play-Befehls. Um dies zu automatisieren, wollen wir einschlafen. Und hier wird das einfach für immer eine Schleife laufen. Spielen Sie in diesem Sample mit einem Viertelschlag zwischen einem Stop, der weniger und weniger ist. Und lasst uns eine weitere Schleife darin verschachteln. Darin können wir sagen, dass wir jedes Mal, wenn wir diese Schleife umgehen, dieses Sample einmal abspielen werden. Und dann spielen wir für HiHat. Also für jede Kickdrum, jede Bassdrum, die wir mit diesem BD spielen, wie Sample wir uns für High Hats wünschen, ein durchaus übliches für den Floor-Beat. Also sagen wir mal für Punkt mal tun. Wie werde ich hier ein Hi-Hat-Beispiel abspielen, Omega-Eins in dieser Schleife. Drücken wir Befehl M, um das zu formatieren. Und dann spielen wir in dieser Schleife ein Hi-Hat-Beispiel ab. Also haben wir einen eingebaut, der in Sonic Pi eingebaut ist. Also sagen wir „ Trommelsymbol schließen“. Das ist der, den wir wollen. Dann werden wir umsonst schlafen, 0,25 der Schläge. Also vier, wir werden am Ende vier geschlossene Hi-Hat pro Beat und dann eine Kick-Drum haben. Also lass uns schlafen. Schlaf für ein Viertel der Beats. Bevor wir es spielen. Lesen wir uns das durch um sicherzugehen, dass wir es vollständig verstehen. Also werden wir für immer auf dieser äußeren Schleife eine Schleife machen. Und innerhalb dieser äußeren Schleife werden wir zuerst das BD-House-Sample spielen, bei dem es sich um ein Bassdrum-Kit-Sample handelt. Und dann, nachdem das Sample abgespielt wurde, obwohl es, wie gesagt , so schnell berechnet wird, wird es die gleiche Zeit sein, zu der wir für geschlossenes hi-hat mit einem Viertelschlag spielen , zwischen jedem schlafen eins. Sobald er dann die vier Hi-Hats gespielt hat, werden wir wieder an die Spitze zurückkehren. Spielen Sie den Keq für hohe Hüte, spielen Sie den Kick für hohe Hüte. Also spielen wir den Kick und diese Schleife. Und dann spielen wir die vier Hi-Hats. Wir können sehen, dass dies sogenannte verschachtelte Schleifen sind . Also lass uns dort spielen. sind wir. Es gibt unsere ersten Basic-Beats in Sonic Pi. 18. Bis zur Unendlichkeit, aber nicht darüber hinaus!: Eine letzte Sache, die Sie über Schleifen sagen ist, Sie ein wenig vor einer Endlosschleife zu warnen. Lassen Sie uns hier einen weiteren Beispielbefehl hinzufügen . Und sagen wir einfach, wir spielen The Skinny. Bumm. Hören wir uns an, wie sich das anhört. Ich werde es dort beenden, aber es wäre ewig so weitergegangen. Okay, also das, das, dieses Sample hier auf Zeile neun wird nie gespielt weil dieser Loop einfach immer wieder rund und rund geht . Wir sind also nie wieder zum Sequenzteil des Programmablaufs zurückgekehrt. Wir kommen also nie zur Linie neun, weil wir endlos von Linie eins zu Zeile sieben gehen. Also würde ich dich davor warnen, loop do zu benutzen und nur loop do zu benutzen, wenn du es wirklich, wirklich ernst meinst. Also würde ich sagen , dass Sie die Anzahl der Male festlegen müssen, wann immer Sie können. Also könnten wir für Punktzeiten sagen. Also wird es diese äußere Schleife viermal abspielen, die innere Schleife viermal innerhalb jeder von ihnen. Also werden wir für Kickdrums spielen und sie werden 16 Hi-Hats spielen, und sie werden 16 Hi-Hats spielen bevor wir dieses letzte Sample spielen. Das wird jetzt tatsächlich zu Zeile neun kommen. Okay? Um das zu üben und ich möchte, dass Sie den Code nehmen, den Sie auf dem Bildschirm sehen können. Jetzt ist es schwierig, das zum Laufen zu bringen und dann mit den Beats herumzuspielen. Also alles da ist etwas, das du gut verstehst. Also denke ich, das nächste, was zu tun ist, wäre zu versuchen diesem Beat einen snare Sound hinzuzufügen. 19. Deinen Beat verbessern: Okay, vielleicht hast du am Ende etwas , das in etwa so aussieht wie das, was wir hier haben. Lass uns das spielen. Und wir können sehen, dass wir viermal eine Schleife machen. Du spielst Kickdrum. Wir spielen zwei Hi-Hats, limitieren das Spiel in diesem Snare-Sample, noch zwei Hi-Hats, und dann kehren wir wieder zur Kickdrum zurück. Sie sich keine Sorgen, wenn Ihre nicht genau so aussieht und wahrscheinlich nicht genau so aussieht. Solange Sie verstehen , wie die Schleifen und wie der Programmablauf mit der Reihenfolge der Iterationen funktioniert. Und du hast es geschafft, einen erfreulichen Beat herauszuholen. Es lohnt sich auf jeden Fall, ein bisschen Zeit damit zu verbringen und über unser b2 nachzudenken , das Sie in Ihrem Kopf produzieren möchten, und dann zu prüfen, ob Sie das als Code ausdrücken können. 20. Randomisierung: Okay, also habe ich vorhin die Verwendung von Midi-Noten-Zahlen anstelle der Mini-Nummer erwähnt . So kann beispielsweise die Verwendung von 60 anstelle von C4 tatsächlich, obwohl kontraintuitiv, manchmal sehr nützlich sein . Ich bin eine dieser Zeiten, in denen wir einen Zufallszahlengenerator verwenden. Nun, Randomisierung kann sehr nützlich sein für generative Musik oder dafür, dass der Computer Musik für Sie generiert oder erstellt , basierend auf Zufallszahlen , die Sie sich einfach nicht selbst einfallen würden. Egal, ob das tatsächlich für einen Teil deiner Komposition ist , der in Code geschrieben wurde, oder ob es eine Art Inspiration ist, spiele einfach mit einigen zufälligen Werten und gib mir Inspiration für eine Melodie oder eine Grundlinie, oder was auch immer ich suche. Generieren von Zufallszahlen in Sonic Pi ist wirklich, sehr einfach. Und weil wir eher eine Notennummer als einen Namen spielen können, bedeutet das, dass wir eine Zufallszahl generieren und dann diese Note spielen können. Die Art und Weise, wie wir das machen, ist mit dem Befehl rand. Mal sehen, wie das funktioniert. Also kennen wir das, wir kennen das Stück. Komm schon. Wir haben Spiel 60, wie wir es schon oft benutzt haben. Nun, das wird nur eine Note mit dem Notenwert von 60 platzieren . Aber wir können sagen, spiel mir eine Note mit einem zufälligen Wert. Also kann ich den Befehl rand verwenden und ich kann hier in Klammern sagen. Also kann ich sagen, spiel mir eine zufällige Note zwischen Nummer 50, Nummer 100. Okay? Also wenn ich hier im Logbuch nachschaue, kann ich mir dieses Schild eine Notiz bei 87.5031 ansehen. Wenn Sie das in Ihr Codefenster eingeben und diesen Code ausführen und sich Ihr Protokoll ansehen. Und ich kann auch garantieren, dass Sie eine Zufallszahl oder einen zufälligen Knoten generieren , der 87,5031 sein wird. Das mag seltsam erscheinen. Das mag seltsam erscheinen, weil es nicht wirklich zufällig ist, oder? Wenn Sie in der Lage sind, denselben Code wie ich und auf Ihrem Computer zu einer anderen Zeit und an einem anderen Ort einzugeben , generieren Sie dieselbe Zufallszahl, dieselben zufälligen Noten. Es ist nicht wirklich zufällig, dass dies aus einem bestimmten Grund geschieht. Der Grund dafür ist, dass Sie in der Lage sein möchten diesen Code für alle freizugeben, diesen Code zu einem späteren Zeitpunkt auf Ihrem Computer abzuspielen und sicherzustellen, diesen Code zu einem späteren Zeitpunkt auf Ihrem Computer abzuspielen und sicherzustellen, dass er derselbe ist, sodass jede Leistung gleich ist. Also spiel damit, generiert verschiedene zufällige Noten. das zu ändern, könnten wir also sagen, okay, generiere mir eine Zufallszahl zwischen 4080. Es gibt einen anderen zufälligen Knoten. Um also eine andere zufällige Note zu generieren, müsste ich den zufälligen Startwert festlegen. Dies geschieht nun wieder mit Absicht. Dies ist eine bewusste Designwahl innerhalb von Sonic Pi, um sicherzustellen , dass Sie, wenn Sie einen Code entwickeln , der zufällige Noten verwendet, den Klang wirklich, wirklich mögen. Dass es jedes Mal dasselbe sein wird. Sie können also sehen, dass es sich um eine bewusste Designwahl handelt. Aber um die Randomisierung zu ändern, muss ich nur einen einfachen Befehl verwenden , der random seed verwendet wird, benutze Unterstrich, zufälliger Unterstrich C. Und ich kann hier eine beliebige Zahl eingeben . Und es ist wirklich, wirklich egal. Und du wirst sehen, wir können das etwas später verwenden und wir werden den Zufallswert ändern , um verschiedene Zufallsmuster zu erzeugen. Aber ich könnte zum Beispiel wechseln, Random Seed hier auf 40 verwenden. Sie werden feststellen, dass ich beim letzten Mal, als ich das ausgeführt habe, die Notiz 70.0024 generiert habe. Das ist an sich schon interessant, weil die Noten in Sonic Pi keine ganzen Zahlen sein müssen. zeigt Ihnen also tatsächlich, dass Sie in Sonic Pi Programme schreiben können , um mikrotonale Kompositionen zu produzieren. Aber wir können diesen Zufallswert setzen. Wie ich schon sagte, es spielt keine Rolle, wie die Zahl lautet. 99 ist in Ordnung. Wenn ich das jetzt renne. Jetzt habe ich eine Notiz , die 68,63 ist. Und wieder, wenn Sie diesen Random Seed und diesen Rundenbefehl genau so verwenden , auf Ihrem Computer mit dem Random Seed von 99, generieren Sie auf Ihrem Computer mit dem Random Seed von 99, Ihrem Jet, dieselbe Note. Und noch einmal, es ist so , dass Sie diese Komposition speichern können und wissen, dass sie jedes Mal genau auf die gleiche Weise abgespielt wird. Gehen wir also noch ein bisschen weiter und sehen, wie wir damit Melodien produzieren können. 21. Melodien mit randomisation generieren: Also lasst uns das jetzt einfach loswerden. Wir sagen, okay, spiel mir eine zufällige Note zwischen 5100 vor. Aber wir werden, wir wickeln das in eine Schleife. Also wie wir vorher gesehen haben, aber mach einfach eine Schleife, mach ein Ende. Wir müssen daran denken einzuschlafen. Also lasst uns hier eins einschlafen und Run drücken. Und wenn wir das eine Melodie nennen können, dann haben Sie dieselbe Melodie produziert wie ich , wenn Sie diesen Code auf Ihrem Computer ausführen. Wir könnten auch den Schlaf randomisieren. Denn Schlaf ist nur eine Zahl zwischen, zwischen 0 und was auch immer wir wollen. Sagen wir Rand. Generiere mich schlafend zwischen null 0,25. Also ein Viertelschlag, 1,5 Schläge. Und lass uns das überprüfen. Okay, da können wir sehen, dass wir die Notiz, sondern auch die Zeit zwischen den Knoten randomisiert haben nicht nur die Notiz, sondern auch die Zeit zwischen den Knoten randomisiert haben. Wir könnten also den Befehl play gegen ein Sample austauschen. Schauen wir uns das an, damit wir Sample spielen können. Lass uns B Glas reiben. Also haben wir hier das gleiche Sample gespielt, aber wir haben die Zeit zwischen den Samples randomisiert. Aber vergessen Sie nicht, wir können die Ratenoption eines Samples verwenden , um es zu beschleunigen oder zu verlangsamen. Wir können also genau dasselbe mit dem Zufallswert dort machen. So können wir die Rate zum Beispiel auf einen zufälligen Wert zwischen 0,52 festlegen . Das wäre also ehrlich. Wir können also die Zufallsfunktionen verwenden um Zufallswerte für jede Option zu erstellen , die eine Zahl benötigt . Deshalb ist es so nützlich , dass Sonic Pi so entworfen wurde , dass wir setze die Optionen mit Zahlen, und deshalb können wir in der überwiegenden Mehrheit von ihnen Zufallswerte verwenden . Spielen Sie also mit verschiedenen, vielleicht möchten Sie sich die Hüllkurven, Filtergrenzwerte, Resonanzen, Muster und Amplituden ansehen . Fügen Sie einfach einige Zufallswerte mit der Funktion rand ein. Und Sie werden anfangen, wirklich generierte Musik zu kreieren, die Sie, wie gesagt , entweder direkt in Ihrer Komposition verwenden möchten oder sie so verwenden möchten, wie ich es tue. Gelegentlich ist es einfach, einige zufällige Werte zu spielen, mit verschiedenen Optionen und unterschiedlichen Zufallswerten in jedem zu spielen, um Inspiration für eine Komposition zu geben. 22. Andere zufällige Funktionen: Fantastisch. Andere Zufallsfunktionen innerhalb von Sonic Pi, denen leicht unterschiedliche Werte erzeugt werden können. Fangen wir also mit einer Schleife an. In dieser Schleife wird nur ein C4 abgespielt. Wir setzen die Amplitude einfach auf Rand. Und dann schlafen wir einen halben Takt, die Rand-Funktion und dann erzeugt Sonic Pi immer einen Wert zwischen 01. Also lass uns das spielen. Dies ist nur eine kurze Art dies zu schreiben, was genau dasselbe wäre. Wir können ihr auch sagen, dass sie eine Ganzzahl zurückgeben soll. Wenn wir also exakte Midi-Noten haben wollten, könnten wir runden Unterstrich i sagen, zwischen 5000. Sie werden feststellen, dass wenn wir das spielen, wenn ich in das Protokoll schaue, wir hier nur ganze Noten haben. Also ein ganzer Integer-Wert. Also nichts nach dem, nach dem Dezimalpunkt. Wir wissen also, dass da etwas dran ist , die Midi-Skala. Spielen Sie also noch einmal mit der Zufallsfunktion herum. Wir haben uns unsere Runde und Runde angesehen. Denken Sie daran, dass ich es nicht bin, es wird uns eine ganze Zahl geben. Rand gibt uns eine Fließkommazahl oder eine Zahl, vielleicht mit etwas nach der Dezimalstelle und Runde, was uns eine Zahl zwischen 01 ergibt. Spielen Sie mit diesen herum, setzen Sie sie in verschiedene Parameter, spielen Sie verschiedene Knoten, schlafen Sie in verschiedenen Zeiträumen. Spielen Sie einfach mit verschiedenen Amplituden und Hüllkurvenparametern und gewöhnen Sie sich wirklich an den Effekt, den Randomisierung haben kann. Zu Ihrer Notiz die interessanten generativen Möglichkeiten, die Sie in Ihrem Code haben können. Sobald Sie mit den Zufallsfunktionen fertig sind , fahren wir mit dem nächsten Abschnitt fort, den letzten Teil des Programmablaufs behandelt, nämlich die Auswahl. 23. Auswahl: Um mit den letzten Teilen des Programmablaufs , der Auswahl, arbeiten zu können, müssen wir einige Programmierkonzepte verstehen. Schauen wir sie uns auf den nächsten Folien an. Das erste, was wir uns ansehen werden, ist eine Sache, die Vergleichsoperatoren genannt wird. Vergleichsoperatoren ermöglichen es uns nur , eine Sache mit einer anderen zu vergleichen. Wenn wir uns also die Auswahl ansehen, müssen wir in der Lage sein festzustellen ob eine Sache wahr oder eine andere falsch ist. Wir möchten zum Beispiel in der Lage sein, einen bestimmten Teil des Codes auszuführen, wenn etwas wahr ist, oder einen anderen Teil des Codes , wenn dieser Vergleich falsch ist. Um also festzustellen, dass wir eine Reihe von Vergleichsoperatoren haben . Sie können sie hier auf dem Bildschirm sehen. Es gibt nur sechs. Ich werde jedes dieser Elemente der Reihe nach erklären, aber es ist ein ziemlich einfaches Konzept. Die ersten Vergleichsoperatoren sind also ein doppeltes Gleichheitszeichen. Und das ist gleich, jetzt es ein häufiger Fehler und ich mache es immer noch selbst. Ich mache das seit über 20 Jahren für ein Programm und mache das immer noch selbst. Sie sich also keine Sorgen, aber wenn wir einen Vergleich durchführen, möchten wir sehen, ob wir eine Sache mit einer anderen vergleichen. Wir müssen das doppelte Gleichheitszeichen verwenden. Und das liegt daran, dass wir das einzelne Gleichheitszeichen für etwas anderes verwenden . Obwohl wir in Ihrer Mathematik normalerweise ein einzelnes Gleichheitszeichen zum Vergleich in der Programmierung verwenden würden , verwenden wir die doppelte Gleichheit. Und wenn ich das in meinen Kopf tippe, sage ich gleich. Es gibt also zwei Wörter, zwei sind gleich zwei gleich. Wenn wir also sehen wollen, ob eine Sache einer anderen entspricht, doppeltes Gleichheitszeichen. Wenn er sagen will, dass, wenn die Sache gleich ist, die beiden Seiten dieser Gleichung, wenn Sie möchten, wahr oder gleich sind, dann ist es wahr und wir können darauf basierenden Code ausführen. Der nächste Vergleichsoperator ist dann ungleich. Wenn also diese Seite nicht gleich dieser Seite ist, oder wenn eine weniger linke Seite nicht gleich der rechten Seite ist, wird true zurückgegeben. Wenn die beiden Seiten gleich sind, wird falsch zurückgegeben. Dass wir dann die Größer-als- und Kleiner-als-Betreiber haben . Wenn also die linke Seite, linke Seite größer als die rechte Seite ist , wird true zurückgegeben. Oder wenn die, wenn die linke Seite kleiner als die rechte Seite ist , dann gibt sie true zurück. Wir haben dann die letzten beiden Operatoren , die sehr ähnlich sind, aber sie beinhalten das mittlere Bit ist kleiner oder größer gleich oder kleiner als oder gleich. Wir könnten also sagen, wenn ein bestimmter Wert kleiner oder gleich oder größer oder gleich dem anderen Wert ist oder größer oder gleich , dann return true. Andernfalls wird false zurückgegeben. Das, ich weiß, das ist, wenn du noch keine Programmierung gemacht hast, das ist ein bisschen seltsam. Es wird viel, viel klarer werden , wenn wir uns einige Codebeispiele ansehen , und wir werden viel tun. Also bin ich wahrscheinlich eine gute Idee, diese aufzuschreiben. Wir haben also gleich, ungleich, größer als, kleiner als, größer als oder gleich und kleiner als oder gleich. Es kann eine Gelegenheit geben, in der wir diese miteinander verketten möchten. Wir wollen also sagen, ob dies gleich ist, ob a gleich b ist und c größer als d ist, oder ob a gleich b ist oder c größer als t. Auch dies wird viel, viel einfacher zu erklären sein und verstehe, sobald wir etwas Code sehen. Aber nur um zu sagen, dass wir auch diese kombinierenden Operatoren oder logischen Operatoren haben . So kombinieren wir also die Vergleiche miteinander. Wiederum bedeutet ein doppeltes kaufmännisches Und-Zeichen oder ein doppeltes und signiertes Zeichen, und eine Doppelpfeife bedeutet alles. Und du findest das Pipe-Zeichen auf einem Mac mindestens knapp über Shift und Backslash. Aber diese werden viel klarer werden. Wir werden jetzt in Sonic Pi einsteigen, wir werden Code mit diesen Operatoren schreiben und Sie werden sehen, wie sie viel besser funktionieren. Okay, die Art und Weise, wie wir die Auswahl in Sonic Pi durchführen ist die Verwendung des if-Schlüsselworts. Es ist sehr einfach zu verstehen. Also lass uns einfach eintauchen und etwas Code schreiben und du wirst sehen, wie all diese Operatoren funktionieren. Fangen wir also mit einem einfachen Beispiel an. Wir können also sagen, wenn eins gleich eins ist, dann spiele. Ich kannte den Amby Glasgummi nicht. Wie bei allen Codeblöcken innerhalb von Sonic Pi müssen wir hier ein N auf das Ding setzen. Das heißt also, wenn eins gleich eins ist, was immer wahr ist, eins immer gleich eins ist, dann spiele dieses Sample. Also sollten wir uns das Sample-Spiel anhören. Okay? Und wir können beweisen, dass das funktioniert hat. Wir können sagen, wenn eins gleich zwei ist, sollte dieses Sample nicht abgespielt werden. Okay? Und wir können im Protokoll sehen , dass unser Lauf gestartet und abgeschlossen ist. Aber das Sampled im Spiel, weil eins nicht gleich zwei ist. Wir können uns also einige der anderen Betreiber hier ansehen. Wir können also sagen, wenn eins nicht gleich zwei ist, was würden wir dann hier erwarten? Ja, wir würden erwarten, dass das Sample abgespielt wird, weil eins nicht gleich zwei ist. Und los geht's. Die anderen Operatoren, die wir verwenden könnten, sind, wenn einer größer als 21 ist, nicht größer als zwei ist. Wir erwarten also nicht, dass das Sample ihn spielt. Wenn wir im Protokoll nachschauen, sehen Sie, dass die Läufe beginnen und abgeschlossen werden und das Sample nicht abgespielt wird. Aber wenn wir sagen, wenn eins weniger als zwei ist, dann können wir drücken, rennen. Das Sample wird abgespielt. Sie können sehen, dass es ein sehr einfaches Konzept ist und es ist einfach, es ist wirklich diese Auswahl. Wenn dieses Ding also als wahr ausgewertet wird, wenn dieser Ausdruck und wir hier einen Ausdruck nennen, dieser Ausdruck als wahr ausgewertet, dann führe den Code darin aus. 24. wenn ... sonst: Schauen wir uns also an, was wir sonst tun könnten. Wir können also zwei Ausführungspfade haben. Wir können also sagen, wenn das stimmt, tun Sie dies, andernfalls tun Sie es. Lassen wir das also so, wie es ist, und wir können das Schlüsselwort für den zweiten Pfad sehen, den Fall. Wenn der erste Ausdruck false ergibt, können wir einen zweiten Pfad erstellen und dafür das Schlüsselwort else verwenden. Und ich spiele uns hier einfach ein anderes Sample vor. Also etwas, das ganz anders ist. Also lass uns, lass uns wählen, lass uns ein Alter auswählen, ein Gewicht basierend auf einem gewichtsbasierten Raum. Wir können also sagen, wenn der erste Ausdruck wahr ist, spielen Sie dieses Beispiel ab, machen wir es noch einmal schön und einfach. Wenn also eins gleich eins ist, also wenn eins, wenn einer gleich eins ist, wird das als wahr gewertet, was es den mehrdeutigen Rob spielen wird , sonst spielt er die Kick Drum. Also lass uns das ausführen. Und wir würden erwarten, den Glasstab zu hören. Damit dieser zweite Teil des Codes ausgeführt werden kann, dieser Ausdruck nach dem müsste dieser Ausdruck nach dem f als falsch ausgewertet werden. Wir können das also einfach tun, indem wir sagen, ob eins gleich zwei ist. Lass uns das überprüfen. Und wir sollten das Kick-Drum-Play hören, denn das wird falsch sein oder ein Loop springt sofort auf das andere herunter. Ignoriere diese Zeile hier, springe zum else runter und spiele, was im else Block ist. Wir können die Kickdrum spielen hören. Okay, was können wir sonst noch damit machen? Weil das so ist, scheint ein bisschen einfach zu sein. Nun, wir könnten ein paar Zufallswerte gebrauchen. Also lass uns, lass uns das in etwas ändern , etwas einfacher machen. Also holen wir uns einfach eine harte Basistrommel. Und ändern wir das in ein. Mal sehen, ein offenes hi-hat. Da ist also die Bassdrum, weil wir eins nicht gleich zwei sind und wir haben ausgeführt, was in der anderen war. Wenn wir das auf true setzen, sind wir da. Da ist unser offenes hi-hat, also haben wir zwei Sounds. Es ist nett und leicht zu hören. Ganz klar anders, sodass wir vollständig verstehen können , was vor sich geht. Dieser Ausdruck hier ist also ziemlich simpel. Amino führt immer zu true aus. Aber einige, vielleicht könnten wir etwas anderes tun , um das ein bisschen interessanter zu machen. Wir wissen zwar, dass wir die Randomisierungsfunktionen haben , die wir uns in der vorherigen Lektion angesehen haben . Vielleicht könnten einige davon für Sie interessant sein. Nehmen wir an, wir haben die Funktion rand, die einen Zufallswert zwischen 01 zurückgibt. Also könnten wir das gebrauchen. Wir können also sagen, wenn r1 größer als null 0,5 ist, wird dies einen zufälligen Wert zwischen null und eins erzeugen. Wenn das so ist, wenn dieser Wert größer als null 0,5 ist, dann spielen wir das offene hi-hat. Symbol öffnen. Andernfalls wird sonst die Basstrommel gespielt. Also lass uns das spielen. Okay, in diesem Fall muss der Zufallswert also größer als null 0,5 gewesen sein. Und so haben wir das hier gespielt. Wir können so viele Codezeilen in diese Blöcke einfügen, wie wir möchten. Wir könnten also mehrere Samples spielen, wir können mehrere Noten spielen, was auch immer wir innerhalb des if Blocks und innerhalb des else Blocks tun wollten . 25. Vergleiche kombinieren: Okay, also wie vergleichen wir? Also haben wir uns die logischen Vergleichsoperatoren angesehen, aber dann sagten wir, wir könnten diese logischen Operatoren kombinieren, vielmehr könnten wir diese logischen Operatoren kombinieren. Wir möchten vielleicht sagen, ob dies wahr ist und ob dies wahr ist oder ob dies wahr ist, schauen wir uns das an. Kehren wir also zu unserem einfachen Beispiel zurück. Wenn also eins gleich eins ist, wenn eins gleich einem Spiel ist, ist das offene hi-hat gleich eins. Also spielt das offene HiHat. können wir mit einem anderen kombinieren. Das ist also kein, also können wir das doppelte kaufmännische Und-Zeichen verwenden und sagen, wenn eins gleich 12 ist, gleich zwei ist, dann spielen wir das offene hi-hat. Aber das wird nur das offene HiHat spielen. Dieser Teil des Codes innerhalb des if-Blocks wird hier nur ausgeführt, wenn beide Ausdrücke wahr sind. Wir können so viele von ihnen verketten. Sie können in Ihrem IF-Ausdruck so viele Unds und Oder's haben, wie Sie möchten. Also wenn ich eines von beiden ändere, dann sei es falsch. Also wenn zwei ist, können wir sagen, wenn zwei gleich drei ist, dann ist das falsch. Daher wird eins zu eins immer wahr sein. Das wird, das wird falsch sein. Deshalb sind dies, das und das nicht wahr, weil das wahr ist, aber das ist es nicht. Also also das Basis-Rumpeln spielen. Was ist, wenn ich das in einen OP ändere? Das ist also die Doppelpfeife, weißt du noch? Das heißt also, wenn eins gleich eins ist oder zwei gleich drei sind, dann spiele und dann spiele das Symbol. Sonst spiele die Große Trommel. Nun, eins ist gleich eins. Es muss also nicht einmal gehen, es wertet dieses Bit nicht einmal aus. Es heißt nur, dass y gleich eins ist. Das ist ein oder. Also. Es ist nicht wirklich wichtig, was hier ist. Dies ist irrelevant , da nur eines dieser Dinge wahr sein muss um dieses Symbol spielen zu können. Und wieder, wenn ich zu zwei wechsle, ist das gleich zwei. Wenn das stimmt oder stimmt, spielen Sie das Symbol, andernfalls spielen Sie die Große Trommel. Und sie sind beide, sie sind beide wahr. Das ist also völlig in Ordnung. Was passiert, wenn ich mich ändere? Eins ist gleich 22 ist gleich drei. In diesem Fall würden wir erwarten, dass die Große Trommel ins Spiel kommt da weder dies noch das Gleiche in diesem Fall zutreffen. Okay, das ist ein sehr kurzer Blick darauf , wie wir die Auswahl innerhalb von Sonic Pi durchführen. 26. Die one_in Randomisierung Funktion: Kombinieren wir dies mit einigen Zufallsfunktionen , um vielleicht etwas interessanter zu machen. Also lass uns das vielleicht machen, damit wir eine Schleife machen können. Wir werden es einfach für immer laufen lassen. Aber noch einmal, nur um dich daran zu erinnern, dass es wirklich ewig laufen wird. Seien Sie also vorsichtig, wenn Sie sie in Ihren Kompositionen verwenden. Und wir kehren zu unserer Zufallsfunktion zurück. Wenn Rand also größer als 0,5 ist, die Rand-Funktion wiederum gibt uns die Rand-Funktion wiederum einen Wert zwischen null und eins. Wenn es größer als Null ist, 0,5, spielen Sie das Symbol, andernfalls spielen Sie den Bass Trump. Lass uns das spielen. Hier siehst du einen Fehler. Mein Fehler. Ich habe nicht in der Schleife eingeschlafen und genau das sagt dir, dass die Schleife nicht geschlafen oder gesunken ist . Also lass uns da drin einschlafen und wieder rennen. Okay? Es gibt also noch eine andere Randomisierungsfunktion, die wir aber noch nicht gesehen haben, aber in solchen Situationen nützlich sein könnte. Und das ist die in der Randomisierungsfunktion. Lass mich dir das zeigen. Also sagen wir, wenn ein Unterstrich eingeht, setzen wir hier eine Zwei. Im Grunde gibt man also ein true mit einer Wahrscheinlichkeit zurück, die Sie hier in diese Klammern setzen. Also wird eins zu zwei Mal rein zufällig auf zufällige Weise true zurückgegeben . Wenn ich einen von zehn Mal einen Mieter hierher bringen würde, wird das wieder wahr sein. Wenn ich eins in zwei setze, würden wir eine gleichmäßige Verteilung zwischen den Symbolen und der Basstrommel erwarten zwischen den Symbolen und der . Also hören wir uns das an. Okay, also spielen sie jetzt ungefähr die gleiche Menge, offensichtlich in einem zufälligen Muster, aber ungefähr die gleiche Anzahl von Symbolen wie Bassdrums. Und tatsächlich, wenn wir zum Login gehen und durch das Protokoll scrollen und sie alle hochgezählt haben. Wir können die Bassdrum spielen sehen und wir können die gespielten Symbole spielen. Wenn wir die durchgehen und zählen würden, hätten wir am Ende ungefähr dieselbe Zahl. Aber wenn ich dies auf eins zu zehn ändere, würde ich erwarten, dass die Basstrommel viel häufiger gespielt wird als die einfache, denn jedes Zehnfache würde ich erwarten, dass das Symbol spielt. Und jedes andere Mal würde ich erwarten, dass die Große Trommel spielt. Also hören wir uns das an. Okay, wir können hier sehen, dass wir mit diesem IF-Operator, der Auswahl innerhalb von Sonic Pi, kombiniert mit der Randomisierungsfunktion, der Auswahl innerhalb von Sonic Pi, kombiniert mit der Randomisierungsfunktion, wirklich schnell anfangen können, eine Art Generativ zu bauen Funktionen einiger generativer Musik. Natürlich konnten wir verschiedene Akkorde spielen, verschiedene Noten, was auch immer wir tun wollten, verschiedene Samples innerhalb, innerhalb von Mustern wie diesem. 27. Der Einfache, wenn: Es gibt eine etwas einfachere Art, diesen Code zu schreiben , und das ist so. Lass uns das los werden, werde es los. Also können wir sagen. Also anstatt eine if-Anweisung zu haben, die so aussieht. Ändern wir das also in eins von vier, also erwarten wir 14 Mal, dass das Symbol gespielt wird. Sonst schlafen wir einfach und gehen zurück um die Schleife. Das wird also so oft innerhalb des Codes gemacht , den wir zum Generieren von Musik verwenden . Es gibt eine kleine Abkürzung dazu. Es bedeutet also nur, dass wir dieses Ende hier entfernen können. Und das können wir von dort aus einfach abschneiden. Wir können es hier ans Ende setzen. Also lass mich dir das einfach durchlesen. Das wird also für immer herumlaufen, um, herum. Und es wird heißen, spiele dieses Sample-Drum-Symbol offen, wenn eins zu vier. Und es ist nur eine Abkürzung, eine etwas schnellere Art, es zu schreiben. Am Ende haben wir also das gleiche Ergebnis, aber es macht den Code vielleicht nur ein bisschen einfacher zu lesen. Oh, vielleicht können wir einfach hier rumspielen und einfach, lass uns einfach unseren Code ändern. Spielen wir also alle sechs eine, eine Kuh, eine Kuhglocke. Also was das tun wird ist es, lass mich M einfach befehlen, das zu tun. Es wird nur ein Symbol schließen, nur um es ein bisschen weniger klingelig zu machen , wenn das ein Wort ist. Also werden wir um jede Ecke eines Strandes herumlaufen. Wir spielen ein geschlossenes Symbol. Und dann spielen wir eins von sechs Mal die Kuhglocke. Okay, und das ist es wirklich zur Auswahl in Sonic Pi. also ein Spiel, aber schauen Sie sich die Luft aus dem L an und die verkürzte Version von F , die wir hier haben, spielen Sie mit der Zufallsfunktion und den anderen Zufallsfunktionen die wir uns in der vorherigen Lektion angesehen haben. Und schauen Sie sich die bedingten Operatoren und kombinieren Sie diese Operatoren , nur um zu untersuchen an und kombinieren Sie diese Operatoren , nur um zu untersuchen, wie wir sie kombinieren und sie verwenden können, um Musik zu machen, die unvorhersehbar ist. 28. Variablen: Okay, es ist Zeit, sich ein paar Variablen anzusehen. Jetzt ist eine Variable wirklich nur ein ausgefallener Name für ein Label. Es ist nur eine Möglichkeit, Dingen Namen zu geben , auf die wir uns später beziehen können. Der einfachste Weg, es Ihnen zu zeigen, ist einfach Code zu schreiben, aber es ist wirklich nur eine Möglichkeit, etwas einen Namen zu geben , damit sich der Computer daran erinnern kann. Und wenn wir später danach gefragt haben , kann es es uns zurückgeben. Das ist alles, was eine Variable ist. Variablen innerhalb von Sonic Pi, eine sehr, sehr einfach zu bedienen, aber wir verwenden für sie das Gleichheitszeichen. Und aus diesem Grund mussten wir die doppelten Gleichen innerhalb der Vergleichsoperatoren verwenden . Dafür ist das Gleiche reserviert. Also sagen wir den Namen der Sache und dann gleich und dann, was auch immer wir speichern wollen, der Wert kann alles sein. So könnten wir zum Beispiel sagen, Zahl entspricht 99. Und was auch immer wir später nach der Nummer gefragt haben, wir können es mit dem Wort Zahl abrufen. Also lass uns das ganz klar machen. Meine Zahl ist also 99, und wenn ich sage, wenn Meine Zahl größer als 98 ist , spiele einfach 60. Sonst nicht. In der Tat enden wir einfach. Wir können also sagen, dass wir die Zahl oder den Wert 99 in einer Variablen speichern den Wert 99 in , die wir meine Nummer genannt haben. Und später können wir das benutzen. In unserer Instanz. Wir können nur eine einfache if-Anweisung verwenden , um zu sagen, wenn meine Zahl größer als 98 ist, spiele 60, also würden wir erwarten, dass sie klingen. Da haben wir's. Also sehr, sehr einfach zu bedienen und so Sonic Pi, aber eigentlich wirklich nützlich, weil wir uns an vielen, vielen Stellen darauf beziehen können. Und wenn wir den Wert davon ändern wollen, müssen wir nur an einen Ort gehen, um ihn zu ändern anstatt ihn im gesamten Code zu ändern. Schauen wir uns also ein einfaches Beispiel an. Eine Sache, die wir vielleicht tun möchten ist, einige unserer Beispiele zu benennen , damit wir uns später darauf beziehen können. Und wenn wir dieses Beispiel ändern wollen, können wir es einfach an einer Stelle ändern. Sehen wir uns ein gutes Beispiel an. Also lasst uns eine Variable namens hi-hat erstellen. Und in dieser Variablen werden wir den Namen eines Beispiels speichern . Also trommel, Symbol, nah. Das ist also ein geschlossenes hi-hat. Erstellen wir eine weitere Variable namens snare. Und wir machen das, das Sample oder einen Unterstrich Zoom. Und wir erstellen eine Variable namens cake. Und wir werden das nennen wird darin den Namen der Probe speichern. Bdi unterstreicht House. Die Verwendung von Variablen wird jetzt sehr klar , denn wenn ich eine Schleife erstelle, werde ich innerhalb dieser Schleife sagen: Okay, für viel Sample, spiel mir das hi-hat. Dann spiel mir den Sample-Kick vor. Und dann schlafe für Quarter, wiederhole es. Spiel mir noch einen Schaden zu, noch einen Hi-Hat. Und dann schlaf wieder. Und spiel mir noch einen Hi-Hat vor. Schlaf wieder. Schlaf wieder. Und dann spiel mir noch einen Hi-Hat und schlafe wieder. Lass uns das spielen. Okay, vielleicht wollen wir dann beim dritten Takt auch eine Snare einbringen. Also lasst uns eine Schlinge spielen und hier, also lasst uns ein oder drei Schlingen spielen, Bürger dazu. Aber was ist, wenn ich die Kickdrum, die wir benutzen, wechseln will? Also, wenn ich deinen Kick Around ändern will, verwenden wir, während ich nur gehen und sie vor Ort ändern muss. Also ist es nicht so schlimm. Aber um den hohen Hut zu ändern, den wir verwenden, müsste ich meinen Code durchgehen und ändern, wenn ich es benutzen würde, wenn ich es so gemacht habe. Zum Beispiel müsste ich zu jeder Stelle in meinem Code gehen und das Hi-Hat ändern , das ich verwende. Also machen wir das einfach rückgängig . In unserem Beispiel. Wir können es einfach an einem Ort ändern. Also ändern wir das einfach in ein offenes hi-hat. Wir können es an einem Ort ändern. Wir müssen es an keiner anderen Stelle in unserem Code ändern. Und da sind wir ja. Das ist also ein guter Grund, Variablen zu verwenden, aber wir verwenden sie ab jetzt ziemlich oft im Kurs. Aber es geht wirklich nur darum etwas einen Namen zu geben. Sie können absolut alles in einer Variablen speichern. Eine Sache, die ich über Variablen sagen werde, ist immer zu versuchen, ihnen einen aussagekräftigen Namen zu geben. Wie wenn ich das A, B und C genannt hätte, wäre es in Ordnung gewesen, es zu benutzen, diese jetzt zu benutzen und ich habe es ersetzt, Blätter A, B und C wären jetzt in Ordnung gewesen, ich hätte mich jemals daran erinnert, wie ich habe das Ding jetzt geschrieben. Aber eigentlich, wenn ich dieses Stück Code in drei Monaten abholen und dieses Stück Code irgendwo anders kopieren würde. Du verwendest sie in einem neuen Song, den ich geschrieben habe. Oder einfach nur um das zu öffnen und es zu lesen. Und es wäre sehr, sehr schwer zu verstehen gewesen , aussagekräftige Namen und es wird deinen Code so viel einfacher zu lesen machen . Und wir verbringen viel mehr Zeit Lesen von Code als mit dem Schreiben. Es lohnt sich also immer , diese Art der Lesbarkeit im Hinterkopf zu behalten. 29. Loop: Eine weitere übliche Verwendung von Variablen besteht darin, zu verfolgen , wo wir uns befinden, während wir ein Programm ausführen. Eines der Dinge, die wir vielleicht verfolgen möchten, ist, wo wir uns in einem Lupus befinden, diese Schleife iteriert. Schauen wir uns also an, wie wir das tun können. Wir könnten also mit einer Variablen namens counter beginnen und diese auf 0 setzen. Dann haben wir eine Schleife. Daher wird diese Schleife auf 30 Punktzeiten begrenzt. Also 30 mal du. Und dann werden wir hier ein Ende setzen. Jetzt finde ich es immer sehr hilfreich, den Typ nach mir zu beenden, nachdem ich das du getippt habe. Also wenn ich, wenn ich eine Air für verwende, wenn ich so etwas wie eine Schleife mit einem DO am Ende mache, und wir werden später viele andere Beispiele sehen. Ich finde es immer praktisch, das Ende sofort und dann zu setzen und dann meinen Code in die Mitte zu schreiben. Das erspart mir das Vergessen, einen Codeblock später zu beenden, was zu einem seltsamen Fehler führen kann, der manchmal schwer zu finden ist. Das mache ich also lieber. Aber wie dem auch sei, was wir tun werden, ist, dass wir diese Schleife durchlaufen. Und jedes Mal spielen wir eine Note. Also spielen wir 50 plus. Der Zähler schläft dann für einen Schlag. Und dann werden wir, wir werden den Zähler um eins erhöhen. Es wird also heißen, dass der Zähler das ist, was der Zähler jetzt ist, plus eins. Okay, also lass uns einfach gehen oder uns das durchsprechen, wenn du willst. Das erste, was wir tun, ist den Zähler auf 0 zu setzen. Dann sagen wir, mach das 30 Mal. Wenn wir diese Schleife zum ersten Mal durchlaufen, spielen wir 50 plus den Zähler, was 0 ist. Also spielen wir 5050 plus 0 ist 0. Wir haben dann eine Viertelsekunde geschlafen. Wir fügen eine zur Theke hinzu und gehen um diese Zeit durch die Schleife zurück. Dann spielen wir 50 plus eins. Wir schlafen eine Viertelsekunde, dazu fügen wir eine hinzu. Also die Zähler jetzt wieder durch die Zähler zu gehen , also spielt er 50 plus zwei. Also spielen wir 52 und schlafen. Und dann fügen wir eine zur Theke hinzu, also sind es jetzt drei. Wir gehen zurück, wir spielen 5353, dann schlafen wir für einen Viertel- oder zweiten Viertelschlag, und dann fügen wir einen mit 54 hinzu und so weiter und so weiter. Und das machen wir 30 Mal. Was wir also hier tun sollten, ist, wenn wir uns bewegen, wie wir bereits gesehen haben, wenn wir eine Zahl im Midi-Notenwert nach oben bewegen . Also diese Zahl hier, diese 50 , sollte den Ball bewegen, der sich um einen Halbton nach oben bewegt. Was wir also hier sollten, ist, dass wir bei 50 beginnen und dann sollten wir, jeden Viertelschlag, aufsteigen. Wir sollten eine Note davon einen Halbton höher spielen. Also lass uns das hören . Da sind wir ja. Das funktioniert also genau so, wie wir es erwartet hatten. Nun, das ist wieder so üblich, dass Sonic Pi uns eine Abkürzung bietet. Und das funktioniert so, also wird das perfekt funktionieren und es ist absolut in Ordnung, dies zu verwenden , wenn Sie das im Kopf haben und es für Sie einfacher zu lesen ist, ist absolut das Richtige was zu tun ist. Es gibt aber eine kürzere Version. Ich zeige es dir jetzt, damit wir diese Zählervariable loswerden können . Im Grunde können wir es hier platzieren. Wir können also sagen, zwischen zwei Pfeifen, so. Und das können wir hier loswerden. Sie können also sehen, dass es dadurch viel, viel kürzer wird. Aber wir können sagen, 30-mal tun. Wir können sagen, okay, schließen Sie diesen Zähler ein. Dieser Zähler beginnt immer bei 0. Und jedes Mal, wenn wir diese Schleife durchlaufen , wird sie eine hinzufügen. Es ist so üblich, dies zu tun. Es gibt eine eingebaute Funktion. Es sieht ein bisschen seltsam aus. Es ist nicht so einfach zu lesen. Ich weiß das zu schätzen, aber wenn man sich daran gewöhnt, spart es einem ziemlich viel Code. Natürlich könnte dieser Zähler alles genannt werden, was Sie wollen, ist ziemlich üblich, um dies als I zu sehen. Dies ist nur eine Konvention für scheinbar alle Programmiersprachen. Also habe ich das im Laufe der Jahre in Tonnen und Tonnen verschiedener Sprachen verwendet , aber es wird ziemlich häufig als IAC bezeichnet. Man könnte es nennen, wie man es wollte. Du könntest es Steve nennen. Also lass uns das hören. Schon wieder. Nur eine kürzere Version von dem, was wir zuvor gemacht haben. Wir können das nennen, wie wir wollen, wir müssen uns nur daran erinnern , dass es innerhalb der Schleife derselbe Name sein muss . Das ist also das. Okay, spielen Sie einfach ein bisschen damit herum und stellen Sie sicher, dass Sie wirklich verstehen, was los ist. Denken Sie daran, fahren Sie mit dem nächsten Abschnitt fort, in dem wir uns ein paar weitere Programmierkonzepte ansehen. Also dieses Mal um einige Datenstrukturen, die in Sonic Pi eingebaut sind. 30. Listen: Okay, es gibt also eine Reihe von Datenstrukturen, die in Sonic Pi eingebaut sind. Es ist ein komplizierter Name für ein ziemlich einfaches Konzept. Also gehen wir jedes Stück Stück für Stück durch. Und sie sind wirklich so konzipiert , dass sie Ihnen die Dinge ein bisschen einfacher machen. In Sonic Pi gibt es viele wirklich nützliche Dinge zum Bauen, aber wir werden sie in diesem Abschnitt untersuchen. Sie können also auf dem Bildschirm sehen , dass ich ein sehr, sehr einfaches Programm habe , das einen Akkord spielen wird. Nun, eine andere Möglichkeit, dies zu tun, nur um ein bisschen Zeit bei ein paar Codezeilen zu sparen, könnten wir eine so genannte Liste verwenden. Jetzt nimmt eine Liste nur eine Reihe von Werten und fügt sie zusammen, getrennt durch Kommas in eckigen Klammern. Also lass es mich dir einfach hier zeigen. Also lass uns ein, lass uns hier einschlafen. Wir können also eine Liste haben, die hier ist. Wir haben also eckige Klammern und fügen dann alle gewünschten Werte in diese Liste ein. Und dann werden wir alles in dieser Liste bearbeiten, also wird alles in der Liste abgespielt. Wir könnten sagen, wir könnten einfach den gleichen Wert annehmen. Also ein A4, I, Cis Fünf, Cis Fünf und ein E5. Wenn wir das ausführen, aber wir werden diesen Akkord spielen und dann einen Takt suchen. Und dann spielen wir diesen Akkord und wir werden sehen, dass es genau die gleiche Ausgabe gibt. Lass mich einfach dieses Byte trennen. Zwei Sekunden. Ich glaube, einer hat durchgehalten. Okay? Das ist also genau das Gleiche. Aber wir sind es, wir haben einfach alle unsere Werte in die Liste aufgenommen. Das bedeutet, dass wir drei Codezeilen auf eine verschieben können . Wir können das genauso. Ich habe das durch Midi-Notenzahlen ersetzt. Wir könnten hier also das Äquivalent sagen, das neunundsechzig, dreiundsiebzig und sechsundsiebzig ist. Da sind wir ja. Es ist also genau dasselbe. Das ist also nur eine Liste von Dingen. Und in diesem Fall bitten wir darum, dass diese Liste all diese Dinge enthält, wenn er gebeten wird, Befehle zu spielen, um diese Liste abzuspielen, aber es gibt noch andere Dinge, die wir tun können. Schauen wir uns also einige interessante Dinge an , die wir tun können. Erstellen wir also eine Schleife. Lassen wir das ab und zu so, wählen wir aus und stellen sicher, dass wir unser Ende setzen. Jetzt. Es ist eine Schleife, die mehrere schlafen müssen. Es wird also einen halben Schlag schlafen. Nun, was das machen wird , wenn ich einfach so aussehe , wird es diesen Akkord spielen. Schlaf jeweils die Hälfte. Spiel es noch einmal, schlafe, nachdem wir es wieder gespielt haben. Nun, ich bin tatsächlich etwas, das nützlich sein könnte , wenn wir jedes Mal , wenn wir die Schleife durchlaufen, zufällig eine davon auswählen könnten . Wir wissen, dass wir eine Note in diesem Akkord haben würden. Aber es wird nur eines der Dinge auf dieser Spielliste auswählen , anstatt sie alle auf einmal abzuspielen. Das machen wir mit einer anderen Randomisierungsfunktion. Und wir verwenden häufig Randomisierung in der Computerprogrammierung im Allgemeinen, aber besonders diese Art von Musikmachencode, weil es einige wirklich interessante Melodien erzeugt und Patente. Also lass uns die Wahl Kiba verwenden. Also haben wir die Liste einfach in Klammern gesetzt. Wie viele sagen, okay, wählen Sie mir etwas aus, das weniger als eine Pflanze ist. Das ist also im Grunde das, was dieser Code sagt. Hören wir uns das an. Okay, du kannst also sehen, dass es etwas aus dieser Lektion auswählt. Sie können leicht erkennen, wie etwas Komplexeres oder vielleicht eine etwas längere Liste Sie mit interessanten Inspirationen für Musik und Ideen versorgen kann . Ich glaube nicht, dass wir es könnten, wir könnten eine Variable erstellen. Also könnten wir hier draußen sein. Wir könnten sprechen und sagen: Oh, wir könnten es drinnen oder draußen machen. Es spielt keine Rolle, sondern nur um die Verwendung von Variablen zu demonstrieren. Wir können also sagen, lassen Sie uns eine Variable namens scale underscore list is equal to erstellen , und dann schneiden wir sie aus. Stell das raus. Dann können wir sagen, spiele etwas von der Skala, dieser Maßstabsliste. Das wird genauso funktionieren, aber wir haben das gerade in eine Variable umgewandelt. Warum ist das nützlich? Warum wir das vielleicht an verschiedenen Orten verwenden möchten. Wir könnten sagen, vielleicht möchten diese Skala in eine andere Skala ändern. In diesem Fall könnten wir sie einfach einmal ändern und wir könnten uns während unseres gesamten Programms darauf beziehen. Aber nur ein weiteres Beispiel für die Verwendung von Variablen zum Speichern von Werten. Das ist also unsere Liste. 31. Indizes: Okay, was ist, wenn wir eine bestimmte Notiz über Listen spielen wollen ? Und Listen können eine beliebige Länge haben. Wir könnten Hunderte von Banknoten drin haben , wenn wir wollten, oder eine 100, Sie können alles speichern, was weniger ist, als unser Fall nur Zahlen gespeichert und dann abgespielt hat, aber wir können alles darin speichern von Ihnen gesucht werden, können Hunderte von Artikeln in Ihrer Liste haben . Wie wählen Sie aus , welche Sie spielen möchten , wenn Sie eine bestimmte spielen möchten. Dies ist eine Sache, die Indizierung genannt wird. Oder ein Index ist, ist es nur eine Möglichkeit für uns, dem Programm mitzuteilen, welches Element in der Liste wir spielen möchten. Und wir könnten es einfach so machen. Also lasst uns diese Randomisierung vorerst loswerden. Also lasst uns loswerden, lasst uns diese Schleife komplett loswerden. Also, wenn ich das jetzt spiele, werde ich alle drei davon spielen. Aber wenn ich hier nur diese Mittelnote spielen wollte, dann würde ich einfach eine Eins in eckige Klammern setzen. Ich kann das genauso machen wie diese Liste. Vielleicht, vielleicht ist das noch einfacher zu erkennen. Also lasst uns das hier aufschreiben, so wie wir die Liste ursprünglich hatten. Sie können also sehen, dass ich meine Liste habe und ich sage, das ist meine Liste. Spiel mir einfach diesen Artikel hier vor. Also das ist eine Eins. Nun, warum ist das eine Eins, während Lissa immer 0 Base ist? Schauen wir uns kurz eine Folie an, um dies zu erklären. Okay, wie ich bereits erwähnt habe, beginnen Computer bei 0 zu zählen. zählten sie normalerweise Wenn Sie also zu Beginn des Zählens nach einem Diagrammkonto fragen, 1234 usw. Computer beginnen immer bei 0 zu zählen. Dies wird als Kreuz bezeichnet, fast jede Programmiersprache. Es gibt Ausnahmen, aber fast jede Programmiersprache. Deshalb ist der mittlere Wert innerhalb der drei Artikelliste, die wir gerade gesehen haben. Aus diesem Grund haben wir, um den mittleren Wert zu erhalten, den Index eins gewählt , da der Index 0 69 gewesen wäre. Index 173, ein Index auf 76. Das ist also der 0-Index. Dies ist der Index eins, und das ist Index Nummer zwei. Indizes beginnen immer bei 0 , genauso wie alles andere. Also wann immer wir ein County in der Größe Sonic Pi machen. Okay, also wenn ich dieses Programm ausführe, dann sollten wir in der Tat die Zahl 73 hören. Also nur um das zu beweisen, lass uns eine 73 spielen. Und dann werden wir ein paar Beats schlafen. Und dann spielen wir den Index Nummer eins aus dieser Liste. Dass wir ganz klar erkennen können , dass es sich um dieselbe Note handelt. Wenn ich das ändern wollte, könnte ich den ersten Punkt in der Liste abspielen. Ich will, ich kann den letzten Punkt in der Liste abspielen. Was passiert, wenn ich versuche, etwas außerhalb der Liste zu spielen ? Nun, nichts passiert. Es ist eher als ein Fehler zu werfen, es ist einfach, wenn wir hier auf die Logs schauen, wir spielen einfach eine Pause. Jetzt gibt es andere Möglichkeiten, RESA zu spielen. Also haben wir uns angesehen, lass uns das entfernen. In Sonic Pi ist also etwas eingebaut. Also können wir dort ein Restaurant spielen. Also könnten wir, sagen wir mal einen C3, C4, C4 spielen . Ich denke mir gerade Sachen aus. EIN E4. Und dann können wir hier dieses Symbol verwenden, dieses Codon, das bedeutet Verhaftung. Und dann können wir, sagen wir noch drei, A4 spielen . Okay, das ist jetzt, wird in dieser Form nicht funktionieren, weil wir, wir werden einfach diese vier Noten spielen und nichts hier, weil es eine Rolle als Kern spielen wird . Also lasst uns vielleicht zu einer weniger zurückkehren, damit wir eine Skala haben, oder das könnte man alles nennen. Also meine Liste ist gleich dieser. Und dann können wir vielleicht das Schleifenkonstrukt verwenden, das wir zuvor hatten. Wir könnten also fünf sagen. Wir haben fünf Dinge, ja, fünfmal benutzen wir unsere Theke. Auch hier werden wir KI per Konvention verwenden. Da ist unser Ende. Wir können also sagen, spiel meine Liste. Und dann können wir in eckigen Klammern sagen, welchen Index wir spielen wollen. Der Index, den wir spielen wollen, basiert auf dem Zähler. Also nochmal, das könnte Zähler genannt werden, es könnte alles heißen, was du willst. Wenn wir das erste Mal durchschauen, wird der Zähler 0 sein. Es wird also das 0. Element im Listenelement abgespielt, Punkt 0, das erste Element. Und dann werden wir wieder umrunden kontern wir erhöhen es wird diesen Gegenstand hier spielen. Und dann wird der Zähler inkrementiert. Spielen Sie diesen Artikel noch einmal hier ab. Dann spielen wir das , was Verhaftung ist, und dann spielen wir eine Vier. Jetzt will ich hier einschlafen. Hören wir uns diesen Bereich an. Also zwei Dinge, die bereit sind. Eine davon ist, dass wir dieses spezielle Symbol innerhalb von Pi verwenden können , um eine Pause anzuzeigen. Und zweitens, diese Liste in eine Variable zu legen und dann den Zähler zu verwenden , den wir als Teil der Iterationen gesehen haben, indem wir diesen Variablennamen hier verwenden, um den Index zur Auswahl dieses Elements zu verwenden, bieten weniger. Schauen Sie sich das einfach an. Dies wird ziemlich häufig verwendet. Diese Art von Code wird ziemlich häufig verwendet. Stellen Sie also sicher , dass Sie das vollständig verstehen , bevor wir mit dem nächsten Abschnitt fortfahren, in dem wir einige der Konzepte verwenden, die wir bisher verwenden , um einen einfachen Schlagzeug-Sequenzer zu erstellen. 32. Einen drum erstellen: Okay, also werden wir einige der Dinge, die wir bisher gesehen haben, verwenden Dinge, die wir bisher gesehen haben um einen einfachen Drumsequenzer zu erstellen. Keines der hier enthaltenen Konzepte sollte für Sie neu sein, aber es ist wahrscheinlich das erste Mal , dass wir wirklich viele davon kombiniert haben , um etwas wirklich Nützliches zu schaffen. Und dies wird Ihnen helfen, die Kraft des Sehens Pi wirklich zu sehen. Sobald Sie all diese Konzepte kombiniert haben, wir noch viel mehr lernen, aber wir haben jetzt alles, was wir brauchen , um einen Drumsequenzer zu bauen. Beginnen wir also damit einige Variablen zu erstellen, die die Sample-Namen für die Samples enthalten , die wir verwenden möchten. Sehr ähnlich wie wir es zuvor gemacht haben. Also sagen wir einfach hi hat ist gleich Schlagzeug-Unterstrich-Symbol, Unterstrich geschlossen. Wir werden eine Schlinge erstellen, die wir SN-Zone nennen werden. Das ist also nur der Beispielname, den wir verwenden werden. Und wir werden einen Kick erstellen, bei dem wir BD House verwenden, was der Name der eingebauten Samples ist. Dann benutzen wir für die Kickdrum. Das nächste, was wir tun werden, ist drei weitere Variablen zu erstellen, und diese werden die Muster für unseren Drumbeat enthalten . Wenn wir also dieses Muster erstellen, werden wir einen String erstellen und das erkläre ich gleich. Und es wird Xs und Bindestriche oder Bindestriche enthalten. Im Grunde wollen wir also ein bisschen Code schreiben, der besagt, dass überall dort, wo wir ein X sehen, das Sample abspielen, wenn wir kein x sehen, das Sample nicht abspielen und dies wird die Grundlage unserer sein, unseres Samplers. Also lasst uns das Muster für das HiHat erstellen. Also werden wir eine Variable namens High Hat Underscore erstellen . Unterstreichungsmuster. Hier werden wir eine Zeichenkette erstellen. Nun ist ein String nur eine Art von Wert , den wir in doppelte Anführungszeichen wie diesen eingeschlossen haben. Dies bedeutet, dass wir Räume und alles, was wir wollen, nutzen können . Aber es ist im Grunde nur eine Art zu sagen, behandle das als einen ganzen Wert. Auch wenn es Räume oder andere Träger gibt, ist dies ein ganzes Tal. Hier drin. Wir stellen unsere Schlagzeugsequenz auf. Wir werden sicherstellen, dass wir hier 16 Charaktere haben , weil wir eine Sequenz erstellen werden. Das hat also 16 Schritte, also 16 Step-Sequenzer. Schauen wir uns das mal an. Also werden wir 16 erstellen. Charakter sagt 123456789101112. Oh nein, dem habe ich sehr falsch gekontert. 123456789101112131415. Ich werde am Ende damit enden. Wir enden mit einem Doppelstoß. Also haben wir 16 Schritte sind, ich bin total falsch gelaufen. Es gab nur und die X's Ich denke, wir werden den ganzen Weg kicken , ausruhen, treten, treten, ausruhen , ausruhen, treten, treten, ausruhen, die ganze Zeit dann mit einem Doppelklick enden. Wir haben also 16 Charaktere da. Dann erstellen wir unser Snare-Muster. Wir werden also ein Snare-Muster haben , das so aussieht. Erstellen wir also eine Variable namens snare pattern. Und wieder wollen wir 16 Artikel innerhalb unseres Snare-Musters. Also gehen wir Bindestrich, Bindestrich, Bindestrich, Bindestrich X Bindestrich Bindestrich Bindestrich Bindestrich Bindestrich Bindestrich Bindestrich Bindestrich Bindestrich Bindestrich. Wir können sehen, dass es sich bei der im Code-Editor verwendeten Schriftart um eine monospaced Schriftart handelt, was bedeutet, dass jedes einzelne Zeichen die gleiche Menge an Speicherplatz beansprucht. Wir können das sehen, weil wir wissen, dass wir hier 16 haben. Wenn die zusammenpassen, haben wir auch 16 hier. Erzeugt aber unser Kick-Muster. Wie ich schon sagte. Sonic Pi macht Leerzeichen wirklich nichts aus. Sie können Leerzeichen oder Wagenrückläufe platzieren , wo immer Sie möchten, ignorieren Sie sie einfach. Also, was ich tun werde, ist , nur zusätzliche Leerzeichen hinzuzufügen. Das passt also alles gut zusammen. Wir werden ein Snare-Muster erstellen, ungefähr so. Okay? Und es spielt wirklich keine Rolle, wie das schmale Kick-Muster Ihrer Hi-Hats aussieht. Das ist es, womit ich jetzt gehen werde. Und dann werden wir hier unten eine Schleife mit Command M oder Control M erstellen , um den Code zu formatieren. Und dann werden wir darin eine verschachtelte Schleife erstellen. Wir wollen also für immer eine Schleife machen, aber wir wollen eine 16-fache Schleife darin haben, die das durchgeht und entscheidet ob wir einen hohen Hut, eine Snare oder einen Kick spielen . Okay, also lass uns unsere erstellen 16 mal, 16 mal du. Und dann benutzen wir hier eine Theke. Also nochmal mit der Pfeife. Denken Sie daran, dass wir dies tun könnten, indem wir den Zähler initialisieren und einen Zähler gleich Zähler plus eins oder, oder oder was auch immer hier drin machen gleich Zähler plus eins oder, . Aber das ist die Abkürzung, die wir verwenden werden, weil es so häufig innerhalb von Sonic Pi-Code gemacht wird . Also lasst uns unser Ende schaffen. Wir müssen daran denken, in unserer Schleife einzuschlafen. Ich schlafe einen Viertelschlag hier drin. Dann verwenden wir einfach das einfache F, um festzustellen, ob. Wir sollten jede Trommel spielen oder nicht. Also sagen wir einfach mal hi-hat probieren. Also spielen wir das hier, das Hi-Hat-Beispiel, das diese Variable hier spielen wird. Also das Trommelsymbol schließen, aber wir werden spielen, wenn das Hi-Hat-Pattern, ich kann Hi-Hat, High-Hat-Muster nicht buchstabieren. Und dann schauen wir uns den Index an, der gleich x ist. Lassen Sie mich das jetzt erklären. Das erste Mal durch den Zähler wird also 0 sein. Und so werden wir sagen, spielen Sie das Hi-Hat-Sample, aber nur, wenn das Hi-Hat-Muster für Index 0 ist. Also schauen wir uns dieses Hi-Hat-Muster an. Wir werden uns den ersten Charakter innerhalb des Hi-Hat-Musters ansehen. Wenn das ein X ist, spielen Sie den hohen Hut, wir werden das zweite Mal um den Zähler erhöhen die Anzahl ist jetzt eins. Dieses Mal werden wir sagen, spiele das Psi-Hi-Hat-Beispiel, wenn der Charakter an Position eins innerhalb des Hi-Hat-Musters ein x-gut positionierter Charakter mit 0-basiert ist. Es ist also der zweite Charakter, während es kein x ist. Also werden wir nicht den hohen Hut spielen. Also können wir das machen und hören uns das Hi-Hat-Muster an. Sie sollten in der Lage sein, das Hi-Hat-Muster von dieser Saite zu erkennen das Hi-Hat-Muster von , das wir hier oben haben. Also wird es hi hat, rest, hi-hat rest, hi-hat rest, hi-hat rest, hi-hat rest bis zum Ende spielen rest, hi-hat rest, hi-hat rest, hi-hat rest, hi-hat rest bis zum Ende bis wir zwei Hi-Hats treffen. Weil wir eine Runde drehen, werden das effektiv drei Hi-Hats und Rudern sein . Also lasst uns darauf achten. Okay? Das ist also unser grundlegender Sequenzer. Es bleibt also nur noch, genau dasselbe für die Snare und für den Kick zu tun . Wir sagen also nur, das Snare-Sample zu spielen. Wenn das Snare-Muster an der Position, an der wir uns befinden, innerhalb des durch den Zähler bestimmten Index der Ratte. Also an der Theke ist ein x. Und hören wir uns das an. Und schließlich können wir dasselbe für den Kick tun. Wir können also sagen, spiel den Sample-Kick. Wenn der Kick-Pattern-Index von counter gleich x ist. Und jedes Mal, wenn wir diese Schleife umgehen, wird der Zähler wieder steigen und bei 0 beginnen. Aber jedes Mal, wenn wir die Schleife umgehen, wird der Zähler um eins erhöht. Also jedes Mal, wenn wir den Berater durchlaufen , um eins erhöhen. Wenn es also ein x gibt, diese Position innerhalb des Hi-Hat-Musters, des Snare-Musters oder des Kick-Musters. Wenn das ein x ist, wird das entsprechende Sample abgespielt. Jetzt wird es das tun, deshalb setzen wir die 16-fachen Gegenhemmer ein. Also haben wir unsere Schleife, was ich bin, wir werden für immer eine Schleife machen. Aber wir werden die 16-fache Schleife drinnen machen, was bedeutet, dass wir es machen werden. 12345678910111213141516 mal den Zeitpunkt, zu dem diese Schleife beendet wurde. Und wir werden diesen treffen, wir gehen zurück nach oben und drücken dies wird eine neue 16-fache Schleife mit dem Zähler-Reset starten , der auf 0 zurückgesetzt wird. Der Zähler wird also 0123456789101112131415 sein. Sobald es 15 erreicht hat, hat den Sprung 16 Mal durchgemacht. Denken Sie daran, dass wir beim Zählen auf Null basieren, es wird wieder nach oben gehen und dann wird der Zähler auf 0 zurückgesetzt. Also gehen wir zurück zum Anfang der Saite und wir werden einfach immer wieder drehen. Hören wir uns unseren Sequenzer in Aktion an. Und natürlich können wir unser Muster sehr schnell ändern. Jetzt beginnen Sie, die Macht von Schleifen und Auswahlvariablen zu erkennen . Also, wenn ich nur das Drum-Pattern programmiert hätte indem ich Samples spiele, benutze ich nur eine Sequenz. Also nur Sample, Sample, Sample, das wir geschrieben hätten, sind sehr viel Code. Und wenn ich zum Beispiel den Bass Drum Sound ändern wollte , oder den, oder den Snare-Sound. Ich hätte das ändern müssen. Und es wäre auch sehr schwierig gewesen, eine Menge Orte im Auge zu behalten . Wo sollte ich spielen? High Hat und wo sollte man nicht kaufen? Wo sollte ich einen Kicker spielen? Wo sollte ich hinstellen? Verwenden Sie hier dieses einfache Muster und verwenden Sie nur einige der Konzepte, die wir bisher gelernt haben. Wir haben einen wirklich schönen, sehr leicht lesbaren, aber vor allem wirklich leicht änderbaren Code. Es ist sehr einfach für mich, jetzt das Muster meines Tritts zu ändern. Also lass uns da drin einen Kick hinzufügen. Stattdessen. Wir führen das durch. Wir haben ein anderes Kickmuster. Wir könnten die Snare Drum in etwas anderes verwandeln. Ich denke also, es gibt einen namens Snare Generic. Also wieder sehr leicht lesbarer Code, aber auch leicht lesbar und verständlich und leicht änderbar. Da sind wir also. Stellen Sie also sicher, dass Sie das wirklich verstehen , spielen Sie damit herum. Ändern Sie einige der Patterns, ändern Sie einige der Sample-Sounds. Und warum nicht eine weitere Trommel in die Sequenz einführen. Führen Sie also vielleicht eine Kuhglocke oder ein, oder ein offenes Symbol in dieses Muster ein und sehen Sie, wie es Ihnen geht. 33. Spielmuster: Okay, also haben wir uns früher mit einer Möglichkeit befasst , eine Schleife zu verwenden, um über eine Liste oder Liste von Noten zu iterieren , um sie nacheinander abzuspielen. Aber tatsächlich gibt es ein paar verschiedene Möglichkeiten, dies in Sonic Pi zu tun. Und wie zu erwarten, bietet Ihnen Sonic Pi alle gängigen Programmieraufgaben , die für Musik nützlich sein könnten. Es gibt also tatsächlich ein paar eingebaute Funktionen, die als Spielmuster und Spielmuster bezeichnet werden und es uns ermöglichen, das zu erreichen, was wir wollen. Schauen wir uns das mal an. Wir hatten also ein Listenarray, das einige Werte hinzufügt. Wir könnten das also nennen, nennen wir es noch einmal mein Muster. Also erstellen wir einfach eine Liste. Denken Sie daran, dass unsere Liste nur aus einer Reihe von durch Kommas getrennten Dingen in diesen eckigen Klammern besteht . Also wählen wir hier einfach ein paar Zahlen. Neunundsechzig, dreiundsechzig, sechsundsiebzig. Ich bin mir ziemlich sicher, dass wir das schon einmal hatten. Und dann können wir sagen, spielen Sie Unterstrichmuster. Spielen Sie das Unterstrichmuster. Mein Muster. Also hören wir uns das an. Das ist genau das Äquivalent dazu. Also lass uns das einfach kommentieren. Das wird also nicht ausgeführt, also ist es genau dasselbe. Es ist nur so, dass es manchmal etwas einfacher ist, diese Dinge in einer Variablen zu speichern . Aber so oder so ist in Ordnung. Was das also tun wird, ist standardmäßig, es wird einfach jede Note innerhalb dieses Patterns, innerhalb dieser Liste, abgespielt . Und es wird für einen Schlag zwischen jeder Note , die es spielt, schlafen . Wenn ich mich ändern möchte, kann ich eine andere Methode verwenden , die als Spielmuster-Unterstrich bezeichnet wird. Und dann nach der Liste muss ich nur noch einen Wert angeben , wie lange ich zwischen den einzelnen Noten schlafen wollte. Also sagte ich einfach Komma Null 0,25. Und das wird diese Liste hier in der Reihenfolge abspielen und für null 0,25 zwischen jeder Note ruhen. Okay, da sind wir ziemlich einfach. Und wieder könnten wir dort viel komplexere Dinge tun. Wir könnten also sagen, wir könnten eine Pause wie zuvor einführen. Und dann könnten wir sowas machen? Wir könnten die Waage wieder runter machen, oder? Also würden wir 7673 machen. Nun, das Arpeggio wieder runter und 69. Also das wird den ganzen Weg nach oben spielen. Es wird einen Viertelschlag ins Restaurant gehen und dann wieder runter mit einem Korallenriff dazwischen. Hinweis. Dass wir ziemlich einfach sind. Also lass uns ein bisschen Spaß haben. Also lasst uns einen Synth verwenden und wir werden einen Synth-Gewinn verwenden. Wir werden einen Loop-Befehl M erstellen, und wir werden ein Zeitmuster abspielen, aber innerhalb dieses, also spielen wir comScore-Muster, Unterstrich zeitgesteuertes Hinzufügen. Wir werden eine Lektion mit eckigen Klammern erstellen. Und darin werden wir eine Reihe von Notizen erstellen. Also lass uns das machen. Gehen wir zu S3, v3, G3, G3, B3 und C4. Diejenigen von Ihnen mit einigen musiktheoretischen Kenntnissen haben vielleicht bemerkt, dass es sich um ein C-Dur-Sieben-Arpeggio handelt. Gut gemacht, wenn du es getan hast. Also gehen wir das Arpeggio hoch und dann wieder runter. Also ein B3, Patrick G3 und ein E3. Ich werde das einfach umdrehen, umrunden. Und wir werden uns für null 0,2 Takt zwischen den einzelnen Dingen, die wir spielen, ausruhen . Und am Ende haben wir etwas , das uns bekannt vorkommt. Ein bisschen Spaß mit, mit Mustern. Da. 34. Akkorde: Eine weitere Sache, die wir in Sonic Pi eingebaut haben , unsere Courts. Schauen wir uns das mal an. Um einen Akkord zu spielen. Wir können einfach sagen, spiel einen Akkord und wir müssen ihm nur sagen, welche Farbe er spielen soll . Lass uns eine D3 spielen. Dann müssen wir ihm sagen, welche Art von Core wir spielen wollten. Es gibt also eine ganze Liste hier und Sie können sehen, dass sie im vollständigen Code angezeigt wird. Es gibt also eine ganze Reihe von Kernen, die uns zur Verfügung stehen, und es ist wirklich eine Art umfangreiche Liste von Akkorden, die durchlaufen werden. Aber im Moment können wir einfach sagen, okay, spielt einen Dur-Akkord. Lass uns das spielen. Da sind wir ja. Das wird also als D-Dur-Akkord gespielt. Da gibt es viele Typen, also möchten wir vielleicht einen Moll-Akkord spielen. Wir könnten eine kleine Siebtel spielen, Art verminderten Akkord. Okay, da sind also ein ganzer Haufen drin. Und wie Sie sehen können, ist der vollständige Code wirklich hervorragend. Sobald Sie also anfangen, gleich zu tippen, erhalten Sie all diese. Also spielen Sie herum, schauen Sie sich die verschiedenen Arten von Akkorden hier an und das erspart Ihnen das Erstellen in dieser Liste und das Ausarbeiten. Werte sind die Noten, die in jedem Akkord enthalten sein müssen. Nehmen wir an, wir haben eine D3. Wir werden einen großen siebten Akkord machen. Jetzt können wir tatsächlich Indizes verwenden, um uns mitzuteilen, welche Note im Kern gespielt werden soll. Wenn ich also einen Index von eins darauf setzen würde, wird dies die zweite Note im siebten D3-Dur-Akkord spielen . Auch hier, wenn ich diesen Index ändere, um in Ordnung zu sein , kann ich hier Code verwenden, Indizes verwenden, um die Notizen innerhalb der Gerichte herauszuziehen. Ich kann auch in Versionen von Akkorden spielen. Also lasst uns diesen Index vorerst loswerden. Ändern wir das in einen Moll-Akkord. Und ich kann sagen, okay, spiel mir die erste Umkehrung vor. Spiele die zweite Umkehrung. Die dritte Umkehrung. Da sind wir ja. Also viele wirklich nützliche Dinge, wirklich nützliche Funktionen, die in die Gerichte eingebaut sind. Ich könnte den Akkord auch als, als Arpeggio spielen. Also lass uns das einfach entfernen , damit es schön und einfach bleibt. Aber anstatt zu sagen, spiel den Akkord, kann ich sagen play, play pattern cord. Standardmäßig hinterlässt das Muster pro Spiel einen Rest von einem Takt zwischen jeder Note. Aber wenn ich die Geschwindigkeit des Arpeggio ändern möchte, kann ich Play-Button, Flut sagen. Und ich muss nur das Ende hier setzen, also sagen wir fünf, also viertel einen Takt zwischen jeder Note. Eine weitere Sache, die ich mit dem Spielmuster Simon machen kann , ist, dass ich ihm tatsächlich andere Werte für die Zeit geben andere Werte für die Zeit kann, in der ich Atemnoten möchte. Was das bewirken wird, ist, dass es zwischen den beiden wechseln wird. Es wird also 0,25 für die erste Note, 2,5 für den halben Schlag für die zweite Note, Viertel für die dritte Hälfte der vierten Note halten. Und wir wechseln einfach zwischen diesen beiden hin und her, während ich das Arpeggio hochgehe. Und das spiegelt sich im Protokoll hier auf der rechten Seite wider. Wir haben auch das Konzept der Akkordgrade. Wenn Sie also viel Musiktheorie gemacht haben, werden Sie über Kernabschlüsse Bescheid wissen. Wenn wir also manchmal über Ursache sprechen, sprechen wir über die gemeinsame Akkordfolge. Also haben wir über vielleicht 156 gesprochen , um eine übliche Akkordfolge zu sein. Diese sind tatsächlich in Sonic Pi eingebaut. Schreiben wir einfach ein kleines Beispiel um das zu demonstrieren. Stellen wir die BPM also auf ein bisschen, ein bisschen höher ein. Wir benutzen ein Klavier. Und dann werden wir eine Variable erstellen , die Aggressionen speichert. Unsere Akkordfolge wird also ein Ring sein. Machen Sie sich jetzt vorerst keine Sorgen um diesen Wortklang. Wir werden später darauf eingehen. Geben Sie vorerst einfach das Wort Reagan ein. Was das genau bewirkt, erkläre ich später. Aber im Grunde ist es eine Liste , die sich rundum dreht. Also geben wir einfach diese ein, die übliche Symbole sind, oder? Deshalb verwenden wir römische Ziffern für unsere Vier-Akkordfolgen , wenn wir über Musiktheorie sprechen. Und dann erstellen wir eine Schleife und drehen uns achtmal. Innerhalb der Schleife müssen wir uns daran erinnern, zu enden. Denken wir daran, auch zu schlafen. Also, hier drin werden wir den Akkordgrad spielen. Also erkläre ich das, während ich getippt habe. Wir werden also Akkordgrad sagen , eine eingebaute Funktion, ähnlich wie Akkord oder andere, die wir in einer Minute sehen werden. Werde ich sagen, spiel, spiele den nächsten Wert in unserer Akkordfolge. Also dieser Tick wird es später wieder sehen. Aber im Grunde, nur um sehr schnell, ein Ring ist im Grunde wie eine Liste, aber anstatt vom Ende wegzugehen und nichts zu bekommen, geht es nur wieder zum Start zurück. Also gehen wir rund und rund um die Uhr. Und tick ist nur eine Art, es zu sagen, hol mir das nächste Ding von der Liste oder vom Ring. Wir werden in S3 sein. Das wird der Schlüssel sein, in dem wir stecken. Wir wollen in einer großen Tonart sein. Ich kann Major buchstabieren. Und dann fügen wir dort einfach eine weitere Option hinzu. Also setzen wir die Release-Erinnerung aus dem ADSR-Envelope. Wenn wir also vorher nachgesehen haben, werden wir die Veröffentlichung von vier festlegen. Also was das tun sollte, ist es sollte, das Synth-Piano zu benutzen wird spielen. Jede Note wird über vier Beats veröffentlicht, weshalb wir hier den Schlaf haben. Wir spielen einfach auf einer C3-Dur-Tonleiter oder C3-Dur-Tonart. Wir spielen den ersten Akkord, den sechsten, den zweiten und dann den fünften. 35. Tonleitern: Okay, also weiter zum Maßstab. Daher sind einige Skalen in Sonic Pi eingebaut. Tatsächlich sind ziemlich viele Waagen auf Psi Prime gebaut. Das wirst du jetzt sehen. Fangen wir also mit einer Spielmuster-Zeit an. Wir werden also jede Note der Tonleiter spielen wollen. Also spielen wir eine Tonleiter. Und dann müssen wir da drinnen sagen was die Wurzel unserer Skala sein wird. Wir werden also einen C3 sehen, und dann werden wir aus dieser sicherlich langen Liste von Skalen auswählen . Da ist also eine riesige Menge drin. Wir können alle Quellen als Blues-Skalen sehen. gibt es alle möglichen Weltmusik-Skalen Hier gibt es alle möglichen Weltmusik-Skalen oder metrische Tonleitern. Es gibt Arten des Sehens. Äolisch. Da sind wieder die blauen Waagen. Chinesische Mädchen, Häkelschuppen, diatonisch, vermindert, dorischer Modus, ägyptisch. Es gibt eine, da ist einfach eine Menge drin, also lohnt es sich auf jeden Fall diese Liste aufzuteilen. Wir können hier unten sehen, dass wir alle möglichen Dinge haben. Also werden wir hier eine gemeinsame wählen. Also werden wir hier die Dur-Pentatonik wählen. Dann können wir auswählen, wie viele Oktaven wir in unserer Skala haben möchten. Mach das nur mit einer Zahl Oktaven. Also sagen wir num Oktaven und wir sagen, wir wollen drei Sauerstoffgene mit großem Maßstab. Ich werde sagen, wir spielen Patentzeit, um uns daran zu erinnern wie lange wir zwischen den einzelnen Noten ruhen wollen . Also das ist Null 0,5. Ich muss die Veröffentlichung der Noten einstellen , die wir spielen werden. Aber setze das nice und short auf null 0,25, nur damit wenn wir das nicht tun, dann laufen alle Knoten ineinander. Wir waren nicht hier. Eine schöne, knackige Tonleiter wird gespielt, also lass uns das spielen. Okay, das ist also die Skala. Es gibt also eine ganze Reihe von eingebauten. Lassen Sie uns das jetzt einfach kommentieren. Ich zeige dir eine Sache. Es gibt also einen Befehl in Sonic Pi, der ein Ruby-Befehl ist, aber dann wird Sonic Pi, der puts und puts genannt wird, uns erlauben , das, was wir wollen, in das Protokoll aufzunehmen. Wenn ich zum Beispiel Butts sagen würde, ist Sonic Pi großartig. Wenn ich das ausführe, wird es das im Protokoll ausgeben. Da haben wir's. Damit wir da drin sehen können. Nun, das können wirklich praktische Punkte während Ihrer Programme sein wirklich praktische Punkte während , nur um einige auszugeben . Es ist ein OK, damit Sie wissen, wo Sie sich befinden. Sie wissen also, wann Sie sich in einer Schleife befinden oder wenn Sie außerhalb Ihres bestimmten Teils Ihres Programms befinden. Es gibt noch einige andere Dinge , die Sie mit put machen können, sodass Sie die Ausgaben einiger eingebauter Funktionen nicht erhalten konnten . Also, wenn ich zum Beispiel Output Round sagen wollte , wird dies im Log-Wert zwischen null und eins ausgegeben . Wenn ich eine Variable erstelle, nennen wir sie message equals hello. Und dann gebe ich meine Nachricht aus oder lege sie ab. Jetzt sind wir es, also schnappt es sich den Wert dieser Variablen und eine Ausgabe, die in das Protokoll aufgenommen wird. Der Grund, warum ich sowieso hierher gekommen bin, ist, dass ich mich auf eine kleine Nebenquest begeben habe. Aber der Grund, warum ich das hier geschrieben habe, ist, dass ich tatsächlich alle Skalennamen in das Protokoll aufnehmen kann , indem ich das tue. Ich kann also NEEPS für die Ausgangsskala sagen. Wir geben Maßstabsnamen an. Da sind wir ja. Was also im Protokoll enden wird, ist eine Liste aller Maßstabsnamen. Und Sie können sehen, dass es viele und viele von ihnen gibt. Ich mache wahrscheinlich ein bisschen zu schnell durch, aber wenn ich es nicht täte, würden wir tagelang scrollen. Damit du da drin sehen kannst. Schauen Sie sich diese Liste auf jeden Fall an. Du kannst den Code verwenden , den wir hier haben. Kommentieren Sie diese Sache einfach hier aus. Komm jetzt schon damit. Verwenden Sie diese Art von CO2. einfach zu, höre dir einige der Tonleitern an, spiele vielleicht einige von ihnen mit einem anderen Sinn, um zu sehen welche interessanten Dinge du aufstellen kannst. Das ist das, also eine Sache , die wir zum Beispiel mit der Waage machen könnten , ist, dass wir zufällig einige Dinge auf der Skala spielen können. Schauen wir uns das kurz an. Wir könnten also sagen, nehmen wir die C3-Dur-Pentatonik drei Oktaven und werden uns alle genau gleich führen. Aber entscheiden wir uns dafür, nicht das ganze Muster zu spielen, sondern einfach etwas daraus zu wählen. Also müssen wir das einfach ändern , weil wir kein Patent mehr spielen. Machen wir es einfach nett und einfach. Lass uns das machen. Und dann lass uns einen halben Schlag schlafen. Also lasst uns alles in eine Schleife stecken und das ausführen. Schon wieder. Wenn Sie diesen Code in Ihren Computer eingegeben haben und ihn spielen, wird genau die gleiche Reihenfolge von Knoten abgespielt , die ich erhalte. Dies liegt daran, dass Sonic Pi auf der Seite der Randomisierung eine Art Pseudo-Randomisierung ist. Damit wir sicher sind , dass wir jedes Mal dasselbe spielen, wenn wir wollen. Wenn ich das ändern will, kann ich den Zufallswert ändern. Also wähle den zufälligen Samen, ich kann einfach 606 machen. Und dieses Mal bekommen wir eine andere, ich kann 99 verschiedene Formen daraus machen. Aber solange diese zufälligen Samen gleich bleiben, wird es jedes Mal dieselbe Melodie sein. 36. Ringe: Wir haben schon einmal Bring erwähnt. Schauen wir uns die Ringe an. Also bringe ich eine Methode mit, um sicherzustellen, dass wir nicht am Ende der Liste davonlaufen. Lassen Sie uns das demonstrieren. Also lasst uns, lasst uns den Put-Boden benutzen. Wir können Sachen in das Protokoll ausgeben und es uns jetzt ansehen. Nehmen wir an, wenn ich eine Liste erstelle, also 606467, ist dies die, die wir zuvor verwendet haben. Ich denke, ich möchte in das, in das Protokoll die Nummer eins ausgeben , also 01. Das sollte also auf die Lognummer 64 ausgegeben werden. Da sind wir ja. So können wir die Ausgabe der Nummer 64 im Protokoll sehen , wie wir es erwartet hätten. Aber was passiert, wenn ich nach Artikel Nummer neun von dieser Liste frage? Wir können sehen, dass ich eine Null habe. Und der Grund dafür ist, dass es nur drei Artikel gibt, also Punkt 0, Punkt eins, Punkt zwei. Also neun ist außerhalb des Bereichs, sie existiert nicht, sie existiert nicht in dieser Liste. Also sagt es mir, dass es Null ist. Jetzt geht Sonic Pi, wenn Sie den Befehl play verwenden, wirklich gut damit um und gibt Ihnen eine Pause, anstatt einen Fehler zu verursachen. Aber wir können sagen, dass uns das leicht erwischen könnte. Lassen Sie uns zum Beispiel das Neunmal einteilen. Verwenden wir diese Abkürzung noch einmal, um den Zähler zu holen und zu ziehen, bringen Sie das hier runter. Was ich hier also erwarte , ist, dass es 60 in der ersten Runde 64, dann 67 und dann sechs Nils ausgibt . Und da sind wir ja. Also 606467 und dann ein paar Nägel. Also wie könnten wir das machen? Also wenn 606467 und dann Hintergrund, und Sie können sehen, dass dies eine wirklich nützliche Sache sein könnte, da wir eine Auswahl von Noten erstellen, die wir wollten. Jetzt wollen wir diese Auswahl von Noten in einer kurzen Sequenz einfach in einer Schleife umrunden . Das können wir tun, indem wir aus dieser Liste einen Ring machen. Und wir können das auf verschiedene Weise tun. Wir könnten sagen, wir könnten einen Punktring dahinter setzen. Und was ich mitbringe ist, dass es im Grunde genauso ist wie die Liste. Aber wenn es am Ende Sie auf der rechten Seite der Liste nach dem Element fragen , wird es zurückgeführt und Sie erhalten den ersten. Also geht es einfach rund und rund. Also was ich hier erwarte, 606467 dreimal ausgegeben. Und da sind wir ja. Wir können also sehen, dass es die Liste durchgesehen hat und dann Hintergrund und dann wieder Hintergrund. Und es wird einfach weitergehen und für immer weitergehen, rund um die Liste. Das ist also wirklich nützlich. Eine andere Möglichkeit, dies zu schreiben, ist, dass Sie die Liste einfach auf eine etwas andere Art erstellen können. Anstatt eckige Klammern zu verwenden, verwenden Sie Klammern und sagen Sie einfach, dass dies ein Ring ist. Dies entspricht genau dem Code, den wir zuvor hatten, und er wird ihn ausführen und genauso laufen. Es ist nur eine andere Syntax wenn Sie eine andere Schreibweise wünschen, sodass Sie die von Ihnen bevorzugte verwenden können . Okay, also lass uns einfach, nur um einen Punkt zu beweisen, lass uns einfach das spielen, anstatt es zu sagen, und dann werden wir die Bilder der beiden zwischen ihnen einschlafen . Und das sind wir. Wir können also sehen, dass dieses Gehirn nur ungefähr dreimal herumgelaufen ist. Wenn es kein Ring gewesen wäre, wären wir am Ende mit dem hier gelandet. Ich hätte versucht, von dieser Liste aus zu spielen. Wir spielen nicht die drei Noten und dann, und dann hatten wir sechs Pausen. Dort können wir das Outlet-Rezept und die Ausgabe sehen. Also indem du diesen Ring entweder mit dem Format machst, das wir zuvor hatten, oder indem du Punktring sagst. Also eigentlich sind Skalen und Akkorde beide Ringe. Also haben wir uns vorher Skalen und Akkorde angesehen. Sie sind beide als Ring definiert. Sie können also einfach rund und rund gehen, sowohl Skalen als auch Akkorde. Und aus diesem Grund haben wir die Akkordfolge in der vorherigen Session zum Ring gemacht, weil wir diese Akkordfolge zweimal umgehen wollten . Wir könnten also genauso vorgehen wie hier. Wir könnten also dasselbe sagen wie mit der Waage. Anstatt das zu tun, könnten wir sagen, gemustert spielen oder Pat und Timed spielen. Beides funktioniert an einem Ring. Und dann können wir wieder nein, 0.25225, um zu sagen, wie lange wir zwischen den einzelnen rutschen müssen. Und nur um dies zu verstärken, ist dies genau das Gleiche, um auf diese Weise einen Kunstring zu schaffen , nur mit der Tastatur oder der Vorderseite. Es liegt wirklich an dir , welche du bevorzugst. 37. Ring: Okay, es gibt also eine Reihe von Dingen, die wir als Nachhilfe tun können. Also lass uns, lass uns unseren Ring ein bisschen länger machen , damit ich dir einige dieser Dinge zeigen kann. Es gibt einige zusätzliche Funktionen, die wir nutzen können. Also 606264 und dann gehen wir 656769717072. Und das sollte uns das geben. Das Piepen wird ein bisschen nervig. Wählen wir also eine Änderung der A-Liste aus. Also lass uns ein Klavier benutzen. Okay, es gibt also eine Reihe von Dingen, die wir mit einem Ring machen können. Es gibt eine Reihe von Funktionen , die musikalisch sehr nützlich sein können. Und wir fügen sie einfach in den Ring ein. Wir können also sagen, Spielmusterzeit, benutze diesen Ring und wir sagen, benutze diesen Ring, aber Punkt umgekehrt. Dadurch wird der Ring rückwärts abgespielt. Wir könnten mischen. Das wird also jede Note innerhalb des Rings spielen, aber sie werden in zufälliger Reihenfolge abgespielt. Aber es wäre jedes Mal dieselbe Reihenfolge, weil wir die Pseudo-Randomisierung innerhalb von Sonic Pi haben. Auch hier kann ich, wenn ich diese Reihenfolge ändern möchte, den Zufallswert auf etwas anderes festlegen . Ich kann einfach nur die ersten fünf Elemente spielen. Ich kann also sagen, nimm einfach die ersten fünf Elemente und spiele diese aus diesem Ring. Ich könnte sagen, dass ich die ersten fünf Elemente fallen gelassen habe. Wenn ich sage, dass die ersten fünf Elemente fallen gelassen wurden, bedeutet das, dass Sie diese nicht spielen und einfach spielen, sondern nur das spielen. Es gibt andere Dinge, die ich gebrauchen könnte Stretch. Das wird also Elemente wiederholen , die dehnen können, was immer ich will. Also sagen wir dieses Mal drei. Wenn ich den ganzen Ring wiederholen möchte, kann ich wiederholen und sagen, wiederholen wir diesen zweimal. Und wieder, ich kann das hier drin beliebig machen. Ich kann Mirror benutzen. Mirror ist interessant. Der Spiegel wird den ganzen Ring hinauf spielen, oder in unserem Fall ist es eine Skala, aber der Ring könnte alles sein. Es muss nicht in dieser Reihenfolge sein, aber ich habe es auf eine aufsteigende Skala gesetzt , nur um klar und deutlich zu machen, was vor sich geht. Es wird also den ganzen Ring durchlaufen und dann wird es rückwärts durch den Ring zurückgespielt . Jetzt werden Sie feststellen, dass es 60 zweiundsechzig, vierundsechzig, sechsundsechzig, siebenundsechzig, einundsiebzig, zweiundsiebzig gespielt 60 zweiundsechzig, vierundsechzig, sechsundsechzig, siebenundsechzig, einundsiebzig, hat. Und dann spielte es wieder 72 und einundsiebzig neunundsechzig, siebenundsechzig. Wenn ich also nicht will , was ziemlich üblich ist, möchte ich dieses nicht zweimal spielen. Ich möchte nur den ganzen Weg hoch und dann direkt wieder runter gehen , aber das nicht in der Mitte oder am Ende spielen , hängt davon ab , wie man es zweimal betrachtet. Ich kann das Wort reflektieren gebrauchen. Ich kann das Wort reflektieren gebrauchen. Damit wird die 72 nur einmal gespielt. Okay? Es gibt also eine ganze Reihe von Funktionen. Dies sind die häufigsten. Und Sie können durch das Dock graben, durch die Docks unten hier um nach dem Rest zu suchen. Aber eine Sache, die du tun kannst, ist diese Dinge miteinander zu verketten, damit ich sagen kann, okay, also werde ich eins in umgekehrter Reihenfolge platzieren. Aber dann möchte ich darüber nachdenken. Also werde ich nachdenken, den umgekehrten Ring reflektieren. Es wird also vom Ende bis zum Ende abwärts abgespielt , den ganzen Weg wieder hoch. Und das möchte ich dreimal wiederholen . sind wir. Also wieder, ein Ring ist unglaublich nützlich. Datenstruktur ist Die Datenstruktur ist die endgültige Datenstruktur , die wir uns jetzt in Sonic Pi ansehen Sie ist genau das Gleiche wie ein weniger , auf das wir über Indizes usw. zugreifen können. werden. Sie ist genau das Gleiche wie ein weniger, auf das wir über Indizes usw. zugreifen können. geht einfach rund und rund, damit wir niemals am Ende eines Rings davonlaufen können. Daher der Name, viele wirklich nützliche Funktionen dazu. Und ich bin mir sicher, dass Sie sehen können, dass es viele musikalische Anwendungen für die Funktionen denen wir zwei Ringe anwenden können. Das sind also Funktionen, bei denen wir zwei Ringe anwenden können. Im nächsten Abschnitt werden wir uns mit Funktionen befassen , die wir für uns selbst erstellen können. 38. Benutzerdefinierte Funktionen: Jetzt schauen wir uns Funktionen an, was eine weitere Möglichkeit ist, unseren Code so zu organisieren dass er gut lesbar bleibt und Teile davon wiederverwendbar sind. Nun ist eine Funktion im Grunde eine Möglichkeit ein Stück Code zu organisieren und ihm einen Namen zu geben, aber das läuft Coburn tatsächlich, bis wir darum bitten. Also lasst uns gleich eintauchen und sehen, wie das geht. Gehen wir also hier in den Code-Editor und ich habe das Piepgeräusch ein bisschen satt. Also lass uns einen Synth benutzen. Also werden wir die Gewinne in verwenden. Und wir beginnen mit der Erstellung einer Funktion. Wir werden also zwei Funktionen erstellen, eine namens Vers und eine namens Chorus. Was einige Unlabels für uns tun müssen, ist Abneigung und natürlich für unser Lied zu definieren , und dann können wir es nennen. Auf diese Weise. Wir werden in der Lage sein, unseren Song so zu organisieren , wie wir es möchten, ohne zum Beispiel dasselbe Code-Bit mehrmals für jedes erste wiederholen zu müssen. Fangen wir also damit an, die Person zu definieren. Um eine Funktion zu definieren, verwenden wir das Schlüsselwort defined. Dann müssen wir unserer Funktion einen Namen geben. In unserem Fall werden wir es also den Vers nennen. Wir haben mit dem Do fertig. Und weil wir das tun werden, müssen wir ein Ende haben . Da sind wir also. Alles, was wir in diesen Block stecken , wird nicht ausgeführt, wenn wir den Code ausführen. Wenn wir, wenn wir auf die Schaltfläche Ausführen klicken bis wir diesen bestimmten Code aufrufen. Also behalten wir das Gegenteil bei, nett und einfach den Code nett und einfach in unserer Funktion. Wir werden einfach ein zeitgesteuertes Muster durchgehen. Nehmen wir also an, Spielmuster zeitlich festgelegt. Und lassen Sie uns eine Liste erstellen , die kleiner ist als. Wir werden aufnehmen. Unser Code wird ein D4 sein. Und das wird ein großer Akkord. Und darauf folgt ein, ein weiterer Akkord. Und dieses Mal machen wir einen C-Akkord. Und das wird ein Dur-Akkord sein. Und dann haben wir endlich einen G-Akkord. Okay? Werde ich jedes dieser Quartale spielen oder ist ein zeitgesteuertes Muster? Also haben wir Spielmuster-Zeit genutzt. Also müssen wir sagen, was Sonic Pi, wie lange wir zwischen jedem Teil des Musters schlafen müssen. Also werden wir zwei Schläge schlafen. Wenn ich diesen Code jetzt ausführe, passiert nichts. All dies ist passiert und wir können uns das ansehen und das Protokoll hier ist, dass wir die Funktion zuerst definiert haben, aber wir haben sie nie wirklich gebeten den Code darin auszuführen. Um es auszuführen, oder wir müssen einfach das Wort Vers eingeben. Und das heißt dazu, bitte führe diese Funktion namens Vers hier aus. Und genau so definieren die anderen Funktionen , die in Sonic Pi eingebaut sind anderen Funktionen , die in Sonic Pi eingebaut sind, Dinge wie Spielmuster und Spielmuster, winzig usw. Sie sind einfach Funktionen, die wir sind Sie bitten, es zur Ausführung zu bitten. Wenn ich jetzt auf Play oder Run drücke , sind wir hier. Also definiert es den, den Vers hier. Und wenn ich dann Vers aufrufe, wird es den Code innerhalb der Seite ausführen. Also kann ich eine andere definieren. Definieren wir also eines namens Chorus-Ende. Und da drinnen spielen wir einfach ein anderes Muster, aber wir spielen ein anderes. Also wieder dasselbe, aber wir werden es vor verschiedenen Gerichten verwenden. In unserem Kern haben wir also einen A4, einen Dur-Akkord, gefolgt von einem C, wieder einem Dur und dann einem D-Dur-Akkord. Und wir behalten den gleichen Schlaf zwischen den einzelnen Anrufen bei, um das gleiche Tempo beizubehalten. Jetzt haben wir also einen Refrain, damit wir ihn anrufen können, anstatt Verse zu nennen, könnten wir unseren Refrain nennen. Okay, jetzt können wir ein Lied konstruieren , indem wir einfach unsere Funktion aufrufen. Vielleicht haben wir Abneigung, gefolgt von einer weiteren Strophe und einem weiteren Refrain und dann einer letzten Strophe. Ein ziemlich einfaches Buch, aber gängiges Liederkonstrukt. Die erste gegen die zweite Strophe. Jetzt Refrain. Und das Finale. Um die Reihenfolge neu zu ordnen oder zu lösen, können wir einfach die Reihenfolge ändern , in der wir die Funktionen aufrufen. Und um den Kurs zu ändern, denken wir vielleicht, dass A4 etwas hoch ist. Also lasst uns das auf einen A3 umstellen. Und jetzt, wenn ich es spiele und wir können es wieder, können wir das neu anordnen, damit wir es von ihm abschneiden können. Vielleicht Vers-Chor und dann zwei versus. Jetzt holen wir uns einen Refrain. Unser Kurs hat sich geändert. Dann beenden Sie mit, um fortzufahren und dasselbe zu tun und eine Strophe und den Refrain zu erstellen. Und was Sie tun könnten, ist eine Mittellinie, einen Vorchorus oder eine andere Funktion zu erstellen . Und benutze das, um einen kurzen Song zu konstruieren , wie ich es hier gemacht habe. 39. Funktionsparameter: Jetzt können wir auch Parameter an unsere Funktionen übergeben und das machen wir so, also in Abneigung. Also hier haben wir einen Vers und wir haben ihn zweimal wiederholt. Aber eine andere Möglichkeit, dies zu tun, könnte sein zu sagen: Okay, spiele mich zweimal vielfältig oder spiele einmal mit Reverse. Also kann ich hier zu Versen gehen und sagen, sehr ähnlich wie wir das mit Schleifen und Zählern gemacht haben. Wir können hier einfach innerhalb von Rohren, wir können einfach einen Variablennamen geben, damit wir Wiederholungen sagen können. Und so wird diese Variable an die Funktion übergeben, wenn wir sie aufrufen, und wir werden in einer Sekunde sehen, wie das geht. Es ist sehr einfach. Und dann können wir diese Variable innerhalb der Funktion verwenden. Wir können also sagen, wiederholt Punkt mal du. Dann können wir hier enden. Es wird also wiederholt , wie oft wir an diese Funktion übergeben. Hier können wir also sagen, dass wir das nur einmal als erstes spielen. Und dann können wir hier, anstatt eine zweite Strophe zu haben, sagen: Okay, jetzt möchte ich, dass du die erste zweimal, zweimal spielst . Großartig. Eine letzte Sache, die wir tun können , ist einen Standardwert anzugeben. Also, wenn ich zum Beispiel vergessen sollte , Vers zu nennen oder einen zu diesem zu übergeben, um zu sagen, wiederhole das einfach zuerst. Einst. Folgendes wird passieren, wir können sehen, dass wir die falsche Anzahl von Argumenten haben. Die Argumente sind was wir haben, was wir hier haben. Das sind also, das sind die Argumente, die wir an die Funktion übergeben. Wir können hier sehen, dass wir erwartet haben, dass einem Argument eine der beiden Wiederholungen übergeben wird, aber wir haben tatsächlich 0 bekommen weil wir vergessen haben, die Anzahl Wiederholungen der Funktion zu übergeben . Eine Möglichkeit, das zu beheben, besteht darin , die Nummer wieder einzugeben. Eine andere Möglichkeit ist zu sagen, wenn ich nichts übergebe, dann spiele es einfach einmal. Und das können wir tun, indem wir einen Standardparameter festlegen , und das ist sehr einfach. Wir können also sagen, wo wir hier oben den Parameter für die Funktion deklarieren . Wir können einfach gleich eins sagen. Nun, das heißt, wenn ich keine Parameter übergebe, weisen Sie einfach den Wert eins der Wiederholungsvariablen zu. Und wenn ich teilweise einen Wert mache, dann benutze diesen Wert. Kehren wir also zu unserer ursprünglichen Konfiguration zurück, in der wir zwei Strophen hatten, einen Refrain und dann eine Strophe. Aber dieses Mal werden wir keinen Parameter übergeben, und wir werden uns nur darauf verlassen dass dieser Standardparameter hier ist. Da haben wir's. Also könnten wir natürlich dasselbe mit unserem Kurs machen, wenn wir wollten. Wir könnten es Wiederholungen nennen, wir können es mal nennen, wir können es nennen, wie wir es wirklich wollen. Auch hier deklarieren wir einen Standardwert. Und dann sagen wir wieder Stoppzeiten wiederholen, tun. Und dann brauchen wir ein Ende für diese Schleife. Da haben wir's. So definieren wir eine Funktion und weisen dieser Funktion Parameter zu oder deklarieren Parameter für diese Funktion, analysieren sie und wie wir Standardparameter für das festlegen , was wir tun möchten , wenn wir dies nicht tun übergibt einen Parameter oder einen Wert für einen bestimmten Parameter. Sie können hier also sehen, dass es viele, viele Einsatzmöglichkeiten gibt. Dieses sehr einfache Beispiel, in dem es viele, viele Verwendungsmöglichkeiten für Funktionen aus unserem Code gibt, dient nur dazu, unseren Code zu organisieren und leicht zu ändern. Wir müssen die Änderung nicht an einem Ort vornehmen. Wenn ich zum Beispiel den Vers ändern möchte und anstelle eines C ein a setzen möchten, nehmen Sie einfach diese Änderung vor. Und jedes Mal, wenn ich die erste Funktion aufrufe , wird sich diese Änderung widerspiegeln. Also eine großartige Möglichkeit, deinen Code wirklich nett und lesbar zu machen . Ich kann leicht erkennen, dass dies die Strophe und der Refrain sind. Ich kann die Struktur meines Songs leicht erkennen. Wie gesagt, dies ist ein einfaches Beispiel für die Verwendung von Funktionen, aber ich bin mir sicher, dass Sie sich viele andere Möglichkeiten vorstellen können, dies zu tun. Organisieren Sie also Ihren Code neu und verwenden Funktionen, um ihn wirklich schön und sauber sowie lesbar und wiederverwendbar zu machen . Wir haben also viel programmiert. Im nächsten Abschnitt machen wir also eine kleine Pause und kehren zu etwas Sounddesign zurück. 40. Effekte in Sonic Pi: Neben der Möglichkeit, synthetisierte und Samples innerhalb von Sonic Pi zu verwenden , gibt es auch eine ganze Reihe integrierter Effekte. Und diese ähneln sehr den Effekten, die Sie auf ein oder zwei Spuren und Instrumente in Ihrer DAW anwenden würden . Oder wenn Sie lieber analoge Instrumente spielen, vielleicht mit Gitarreneffekten, Pedalen, so etwas. Aber Sie können sehen, dass in Sonic Pi weit über 40 verschiedene Effekte integriert sind. Schauen wir uns also an, wie wir sie verwenden. Um diese Effekte zu demonstrieren. Wir werden das Beispiel verwenden, das wir zuvor verwendet haben, als ich meinen Desktop bekommen habe. wir uns also daran, wie das geht. Also spielen wir das Sample ab, das sich in Benutzern befindet. Steve. Es ist auf meinem Desktop und heißt b21 dot. Erinnern wir uns einfach daran, wie sich das anhört. Um Effekte darauf anzuwenden, müssen wir es nur mit Effektblöcken mit einer Breite umwickeln. Gehen wir also hier zum Anfang, sagen wir mit Unterstrich-Effekten, und geben ihm dann den Namen der eingebauten Effekte , die wir verwenden möchten. Sie können alle Effekte hier unten sehen. Und Sie können sehen, dass hier die gleiche Liste von Effekten ist , die ich Ihnen zuvor gezeigt habe. Also müssen wir ihm nur den Namen geben. In diesem Fall benutzen wir einen Fluss. Also können wir mit Effekten Codon, Reverb sagen , müssen wir diesen Block beenden? Und wenn ich es jetzt spiele, bist du hier, das ist ein Halleffekt, der auf dieses Sample angewendet wurde. Es muss also kein Beispiel sein. Es könnte ein Synthesizer sein, es könnte ein einfacher Flugzeugbefehl sein. Aber gerade dieses Sample, weil es ein Drumbeat ist, zeigt die Effekte besonders gut, sie sind besonders leicht zu hören. Aber wir könnten diesen Effekt so ändern, dass dieser Effekt alles ist, was wir wollen. So können wir die Liste durchsehen und etwas finden, das wir zum Beispiel mit einem Flanger anwenden möchten. Also lasst uns den Hall in einen Flanger verwandeln. Oder wir könnten es ändern, um einen Verzerrungseffekt für einen dreckigeren Sam zu haben. 41. FX-Optionen: Wie bei vielen Objekten, die wir in Sonic Pi finden, gibt es eine Reihe von Parametern, die wir auf Effekte anwenden können , um die Sonne, die wir erhalten, anzupassen. Fangen wir also mit dem Hinzufügen eines Echoeffekts an. Das ist wie eine Verzögerung. Wir sagen also, dass die Breite das Echo beeinflusst. Tun. Wir beenden den Block. Und dann, um das schön und einfach zu halten, lass uns einfach einen einfachen Ort benutzen. Also werden wir, wir spielen eine Note, eine 55 wird für zwei schlafen. Vielleicht verwenden wir eine Probe. Wir könnten die Kuhglocke gebrauchen. Wir werden wieder schlafen und dann spielen wir noch eine Note. Also spielen wir, ich weiß nicht, 67. Hören wir uns an, wie sich das anhört. Okay, das ist es, was ein Echo auf all diese Noten und Samples angewendet hat. Aber wir können tatsächlich einige der Parameter ändern. Und Sie werden feststellen, dass wir in dieser Liste sehen können, dass jeder Effekt seine eigenen Parameter hat , die Sie anwenden können. Also schauen wir einfach hier nach Echo. Okay, und wir können hier sehen , dass wir Dinge wie die Phase, die Amplitude und den Zerfall mischen haben . Wenn wir uns also diese Liste ansehen, können wir sagen, dass wir sehen können, dass die Phase die Zeit und Echos oder das Zeichen zwischen Echos in Beats festlegt . Also lass uns das ändern. Also müssen wir nur dasselbe tun wie alle anderen Parameter, die wir weitergegeben haben. Also drücken wir Komma, wir sagen dann, setzen wir die Phase gleich, und wir setzen sie auf einen halben Takt. Hören wir uns das an. Und da sind wir ja. Also wiederholt sich ein viel langsameres Echo. Da. 42. Effekte verändern: Jetzt können wir auch Effekte verschachteln. Wenn wir also Affekte verschachteln, werden wir nur sehr ähnlich wie Verschachtelungsschleifen tun. Wir legen den Block einfach in einen anderen Block. Fügen wir also einen Hall hinzu und ich zeige Ihnen, wie es geht damit wir einen weiteren Effekt außerhalb davon hinzufügen können. Also fügen wir dieses Mal einen Hall hinzu. Ich brauche ein anderes Ende von außen. Wir können sehen, dass wir diesen Affect-Block haben, das Echo, das wir gerade erzeugt haben. Und jetzt haben wir das in einen Hall gewickelt. Und Sie sollten über den Ton nachdenken der von innen nach außen fließt. Das erste, was es tun wird, ist den Echoeffekt anzuwenden, die Verzögerung wirkt sich auf den Echoeffekt aus. Und dann wird es all das auf den äußeren Block anwenden . Also wird es dem Echo einen Hall hinzufügen. Das Echo wird zuerst angewendet und dann der Hall. Dies ist der Art und Weise sehr ähnlich, wie wir Effektpedale oder Effektgeräte über Audio miteinander verketten . Du kannst also wirklich, wirklich tiefe Verschachtelungen für einige wirklich, wirklich verrückte oder innovative Sounds verwenden. Das Anwenden der Effekte beansprucht jedoch ziemlich viele Systemressourcen von Ihrem Computer. Also nur eine kleine Warnung, wenn Sie zu viele Fakten anwenden, waren Sie früh dran, oder Sie könnten Leistungsprobleme feststellen . Aber zur Wirbelsäule. Also lass uns das ausführen und wir werden jetzt hören, dass wir ein Echo mit einem Reverb oben haben . 43. Kontrolle übernehmen: Gelegentlich möchten wir also in der Lage sein einen bereits laufenden Satz zu kontrollieren. Um das zu tun, gibt es in Sonic Pi eine Funktion namens Control. Um das zu nutzen, werden wir als Erstes die Ausgabe des gesendeten in eine lokale Variable erfassen . Also erstellen wir eine Variable namens my synth. Wir erstellen eine Variable namens Myosin. werden wir die Ausgabe eines Play-Befehls erfassen , der eine Midi Note 40 spielt, und wir werden die Veröffentlichung auf fünf setzen. Diese Note wird weiterhin abgespielt, aber die Ausgabe davon wird auch in dieser my Synth-Variablen erfasst. Wir können dann ein wenig schlafen, eine kleine Pause machen, und dann können wir die Kontrollfunktion verwenden, um die synthetisierten Dinge zu ändern, damit wir meine Sünde sagen können. Wir könnten dann eine ganze Reihe von Werten festlegen. In diesem Fall werden wir die Noten ändern und sagen, okay, jetzt spiele eine 45, werde wieder schlafen, den Synth wieder kontrollieren. Diesmal ändern wir die Notiz in 47. Dann schlafen wir länger. Und schließlich werden wir die Note erneut auf 40 ändern. Dies ist eine besonders nützliche Funktion , eine besonders nützliche Funktion denn wenn Sie sich erinnern, setzen wir Pan und Amplitude und Cutoffs und solche Dinge, bevor oder wenn wir das einstellen, wir gesagt, dass es nur gilt für die aktuelle Funktion. Wenn ich das also mache, wenn ich ein Stück 14 machen würde, das Panel nach links stellen würde, müsste ich dieses Muster für jede einzelne Note festlegen , die ich gespielt habe. Jetzt kann ich, ich kann meinen Sense Store erstellen. Es erstellt dieses Release zum Beispiel hier. Das kann ich in der Ausgabe von Center speichern. Jetzt kann ich meinen Synth kontrollieren. Ich muss das Release nicht jedes Mal definieren. Und Sie können sich vorstellen, wenn ich eine komplexe Hüllkurve hätte und dort viele Werte gesagt habe, bedeutet das, dass ich das nur auf der ersten Note setzen muss, That's int zum ersten Mal verwendet wird , die Ausgabe von das in eine Variable, und dann kann ich einfach die Anpassungen vornehmen , die ich für richtig halte, wahrscheinlich nur um die Noten zu ändern, anstatt jedes Mal all diese Parameter einstellen zu müssen. Also hören wir uns das an. Der Grund, warum dies besonders nützlich ist, ist, dass wir im frühen Rom, wenn wir uns den Spielbefehl ansehen, über Amplituden-Pfunde gesprochen haben. Wir haben uns auch Filter mit Cutoffs und Resonanzen usw. angesehen . Und wir haben gesagt, dass diese Parameter nur für den bestimmten Play-Befehl gelten , der ausgeführt wurde. Wenn ich also möchte, dass alles nach links schwenkt und ich zum Beispiel den Play-Befehl verwenden möchte , müsste ich zu jeder einzelnen Note, die gespielt wurde, ein Pan minus eins hinzufügen . Während ich das jetzt auf dem Original einstellen kann, erfassen Sie auf der ersten Note die Ausgabe des Synths in eine Variable, und dann kann ich das durchgehend verwenden. Ich will also nicht für jede einzelne Nacht einen Umschlag aufsetzen . Wenn ich die Hüllkurve gleich halten möchte, die Leistung und der Cutoff, die Filterresonanz usw. Lassen Sie uns das also ein bisschen demonstrieren. Verwenden wir einen Satz. Also wird Synth diese Basisgrundlage verwenden und wir müssen es tun, und dann werden wir diesen Synth-Block beenden. Jetzt wird es genau dasselbe tun, aber es wird diesen Basis-Foundation-Synth verwenden. Also kann ich meine Parameter hier hinzufügen. Also könnte ich sagen, ich zum Beispiel die Muster setzen kann oder minus eins. Und was das tun wird, ist, anstatt nach jedem einzelnen Spielbefehl minus eins angetrieben zu haben , setze ich es jetzt hier. Es wird innerhalb dieser Variablen erfasst und die Parameter, die ich hier angewendet habe, kann ich durchgehend steuern oder durchgehend anwenden. Diesbezüglich gibt es jetzt leichte Einschränkungen. Dinge wie AMP für Amplitude mit Lautstärke, Cutoff, Pan, solche Dinge können geändert werden , sobald eine Synthase gestartet wurde. Sie können die ADSR-Hüllkurvenparameter jedoch nicht ändern. Also kann ich die Veröffentlichung nicht einmal ändern, sobald eine Synthase gestartet wurde. Aber ich kann andere Dinge kontrollieren. Also wie die Pfanne. Ich könnte hier rein, ich könnte sagen, kontrolliere meinen Synth und dann kann ich die Note von 40 setzen. Aber beim letzten Mal schwenke ich es vielleicht ganz nach rechts. Sie können wieder sehen, dass dies eine weitere Möglichkeit ist, Sonic Pi zu verwenden , um Verknüpfungen zu verwenden, um zu verhindern, dass Sie sich ständig wiederholen müssen und das Synthesespielen wirklich steuern müssen. Spielen Sie also mit den Optionen da drin herum. Und ich denke du wirst es finden. Wie gesagt, es ist eine ziemlich erweiterte Funktion, aber ich denke, Sie werden feststellen, dass sie sehr nützlich ist. 44. Kontrollieren von note: Eine andere Sache, die wir haben, wenn wir die Kontrollfunktion verwenden, da wir eine Sache namens Notizfolie verwenden können . Und das ist wie ein Gleiten oder melden Sie sie in Kraft. Wir können dies also hinzufügen , wenn wir die ursprünglichen Variablen deklarieren. Also lass es uns, lass es uns hier hinzufügen. Es ist also nur eine Frage des Hinzufügens eines weiteren Parameters oder einer anderen Option. Wir können sagen, dass Sie eine Folie unterstreichen. Und wir haben einen festgelegt. Also nochmal, alles in Sonic Pi wenn wir lieber Zeit haben, Es ist die Anzahl der Beats. In diesem Fall wird also eine Beat-Slide von einem Knoten zum nächsten benötigt . Also lasst uns hören, wie sich das anhört. Unbedingt. Auch hier kann ich es wirklich lang oder viel kürzer machen. Wir können ein leichtes Eintauchen hören, viel schneller zwischen den Tönen. Jetzt. 45. Controlling von Effekten: kontrolliere nicht nur den Sinn, Ich kontrolliere nicht nur den Sinn, sondern kann auch Effekte kontrollieren. Also lass uns, lass uns das versuchen. Lassen Sie uns also einen Effekt anwenden. Also genau wie wir es zuvor getan haben. Lass uns das anwenden ist ziemlich gut. Wir wenden den Wackeleffekt an. Hier. Wir müssen die Pipe-Operatoren verwenden , um einen Variablennamen bereitzustellen. So funktioniert dieses Steuerelement mit Effekten, die sich geringfügig von denen mit Synthesizern unterscheiden. Also geben wir ihm einfach eine Variable. Es ist nicht wirklich wichtig , wie ihre Variablen heißen. Ich nenne es einfach f x. Also werde ich auch einen n-Block haben, oder wir beenden den Block auch. Dann werden wir da drinnen einen Synth benutzen. Also sagen wir mit Synth werde ich die Gewinne n dafür verwenden . Dann fügen wir einfach ein bisschen Code mit Synth-Block hinzu. Der Block funktioniert genauso, wirklich ist der riesige Synth, den wir in einem Befehl verwenden, den wir zuvor verwendet haben. Du hast mir geschickt, dass ich in der Regel ganz oben in unserem Code stehe und es wird dasselbe mit Synth verwenden. Sag einfach, okay, benutze einfach diesen Synth zwischen dem Do und dem Ende dieses Blocks. Es ist also nur eine Möglichkeit, das wirklich einzuschränken. Nehmen wir an, hier wird eine 40 mit einer Veröffentlichung von vier spielen . Wir werden dann für vier Personen schlafen und dann diesen Effekt kontrollieren. Was wir also tun werden, lass uns das einfach spielen, bevor wir anfangen, die Dinge zu kontrollieren. Damit Sie den Wackeleffekt so hören können, wie er standardmäßig ist, wird dann mit der Steuerung begonnen, der sich auf denselben Methodennamen auswirkt . Also sagen wir Kontrolle. Diesmal müssen wir diese Variable hier übergeben. Also diese Variable, die wir oben deklariert haben. Es weiß also, über welche Affekte oder Wirkung wir sprechen. Dieses Mal werden wir den Mix so einstellen, dass er nicht will. Das ist also die Menge an Nasssignal , die ausgegeben wird. Steuert die Effekte auf ihnen, wird erneut abgespielt. Wir werden mit einer anderen Note spielen, wieder mit einer Veröffentlichung von vier. So können Sie hören, wie sich die Mischung der Effekte ändert die Mischung der Effekte wie viel Effekt zwischen der ersten und der zweiten Note ausgegeben wird . Sie können also hören, dass viel mehr von dem trockenen Signal in der zweiten gespielten Note durchgekommen ist. Wir haben auch einige Optionen für Gleiteffekte. Also lass uns das einfach entfernen. In diesem Fall können wir einige der Parameter festlegen , die sich innerhalb des Wackeleffekts befinden. Also noch einmal, unten im Hilfebereich haben wir eine Liste mit allen Effekten. Wenn wir darauf klicken, können wir alle Parameter sehen , die wir einstellen können. Stellen wir also ein paar Parameter ein. Also lasst uns die Phase, das Gesicht auf eins setzen. Wir könnten auch eine Sache namens Face Slide einrichten. Und wir setzen das auf sechs. Also hier drinnen werden wir, wir werden, wir werden unseren Synth spielen , der nur ein bisschen länger dauert damit wir das gesamte Gesicht rutschen hören können. Lass uns das hören. Jetzt. Dann können wir das kontrollieren. Wir können also sagen, kontrolliere den Effekt, während er abgespielt wird. Und wir können das Gesicht auf etwas viel, viel Kürzeres heruntersetzen . Okay, also wie gesagt, die Auswirkungen sind leicht unterschiedlich. Wir müssen ihr einen Variablennamen zwischen den Pipes geben , wenn wir den Effekt deklarieren. Aber man kann wirklich das letzte Beispiel hören, dass der Effekt kontrolliert wird, während er gerade passiert. Wir spielen also nur eine Note, aber der Effekt, da wir die Veröffentlichung auf eine lange Zeit eingestellt haben , wird der Effekt tatsächlich geändert, während die Note gespielt wird. 46. Live-Loops: Okay, also Zeit, über Live-Auftritte zu sprechen. Es gibt also ein bestimmtes Co-Konstrukt, das in Sonic Pi eingebaut ist und wirklich Live-Auftritte ermöglicht. Betrachten wir eine Schleife, die wir vielleicht in der Vergangenheit benutzt haben. Also sagen wir fällig und dann enden. Dann machen wir da drin etwas Einfaches. Also spielen wir, wir spielen 60 Tiere schlafen für eins. Lass uns das spielen. Das wird für immer so bleiben. Aber was passiert, wenn ich diese Notiz ändere? Ändern wir das auf 80. Ich erinnere mich nur daran. Sie können sehen, dass die Loops weiter abgespielt wurden und nur ein weiterer Loop oben, oben und oben hinzugefügt wurde . Das ist nicht ideal für Live-Auftritte , das wollen wir wirklich tun, wenn wir live auftreten. Und Sonic Pi soll in der Lage sein, Änderungen an unserem Code vorzunehmen und diese Änderungen live widerzuspiegeln. Also nicht separate Loops, die übereinander spielen , sondern tatsächlich das looplose Laufen ändern, während es läuft. Die Art und Weise, wie wir das tun, ist durch den Einsatz von lebendig. Also lass uns das machen. Wir machen also nur sehr ähnliche Konstrukte in der Schleife, aber wir verwenden stattdessen das Wort Live-Unterstrich-Schleife. Wie wär's, wenn wir das machen? Wir müssen dem einen Namen geben. Nennen wir das einfach foo. Also wird später klarer , warum wir ihnen einen Namen geben müssen. Aber jetzt, wenn ich das mache, mache ich genau das, was du erwartest, und spiele eher 60 Mönche. Wenn ich es auf 60 ändere, hör dir an, was passiert. Wenn ich es auf 70 ändere. So geschickt ist Sonic Pi in der Lage, die Änderung zu erkennen und diese Änderung live zu machen, während mein Programm läuft. Jetzt hat das, das eröffnet riesige Möglichkeiten für, für Live-Auftritte. Und Sie werden feststellen, dass es sehr klug war , dass die Änderung nicht sofort vorgenommen wurde. Es hat bis zu den richtigen Punkten gewartet. Also wenn ich das ändere für 234234 schlafen. Wenn ich jetzt gehe, mache diese Änderung und Änderungen an 55, und ich mache es sofort nach einer Notiz. Sie werden feststellen, dass es wartet und weiter schläft und die Schleife erst im richtigen Moment neu startet , um zu sehen, ob ich sie richtig treffen kann. Wir lassen den internen Timer also immer am Laufen und setzen die Schleife fort und nehmen diese Änderung erst vor, wenn sie das nächste Mal ausgeführt werden setzen die Schleife fort und nehmen , anstatt sie sofort erneut auszuführen. Das gibt uns also eine großartige Möglichkeit. Wir könnten dies zum Beispiel auf etwas Erschwinglicheres einstellen, es sei denn, wir schlafen auf einen kürzeren Zeitraum zurück. Also konnten wir, wir konnten alle möglichen Helden machen, die live wiedergegeben wurden. Wir können also sagen, dass Sand dies in drei oder drei ändern kann. Und wir können hier so viel Code sprechen, wie wir uns informieren möchten , und er wird erst ausgeführt, wenn ich Command R drücke oder die Run-Taste erneut drücke. verlangsamt uns. tut mir so leid. Entschuldigung. Die Fakten. Einfach Riba. Ändere die Notizen. Die Notizen. Sie können also sehen, was hier passiert ist. Ich habe keine weitere Notiz hinzugefügt, aber ich habe nicht geschlafen. Es spielt also effektiv beide Noten gleichzeitig ab. Noch ein Synth. Und los geht's. Sie können sehen, wie wir so viele Änderungen an unserem Code vornehmen können , wie wir möchten. Und wenn wir dann Command oder Strg R drücken oder die Run-Taste drücken, die Änderungen beim nächsten Ausführen dieser Schleife werden die Änderungen beim nächsten Ausführen dieser Schleife zum Leben erweckt. Also wieder eine fantastische Möglichkeit , live auftreten zu können. Beginnen Sie mit einer anfänglichen Codebasis, unserem ersten Teil des Codes, und machen Sie dann Ihre Änderungen zum Leben, um ihr wirklich ein Performance-Element hinzuzufügen. Wir können also mehrere Live-Loops gleichzeitig laufen lassen. Denken Sie also daran, wenn wir so etwas hatten, wenn wir hier eine Schleife versteckt hatten, wir, lass uns, lass uns einfach eine Note spielen und dann enden. Dann haben wir vielleicht eine weitere Schleife, die eine Kuhglocke spielen könnte . Also was wird hier passieren? Ich hoffe jeder außer schlafen. Das gleiche hier. Jetzt wurde die zweite Schleife natürlich nie wirklich platziert. Wir hören nie die Kuhglocke. Und das liegt daran, dass diese Schleife für immer rund und rund geht . Die Reihenfolge des Programmablaufs schafft es also nie wirklich bis zur zweiten Schleife. Lebendig. Macht das etwas anders. Wenn ich das also in eine Live-Schleife ändere und wir das wieder können, müssen wir es einen Namen nennen. Nennen wir diesen einen foo und ändern diesen in eine Live-Schleife und nennen diesen. Bar. Werde jetzt sehen, dass beide Loops gleichzeitig abgespielt werden. Stellen wir also sicher, dass wir die Geräusche hören können. Lass uns einfach den Schlaf hier drinnen ändern. Es wird einen etwas seltsamen Rhythmus geben, aber das bedeutet, dass wir beide Klänge gleichzeitig spielen hören können. Das bedeutet also, dass wir mehrere Schleifen gleichzeitig ausführen können . Und Sie können sehen, dass dies für Live-Auftritte sehr nützlich wäre. Wo wir also ein Schlagzeug-Pattern haben wollen, spielen wir eine Melodie, vielleicht einige Akkorde oder Grundlinien. Und wir können alle diese unabhängig voneinander in ihren eigenen Loops spielen lassen. Zur gleichen Zeit. Es hält den Code schön sauber und sehr leicht lesbar. Und wir können es in Echtzeit ändern , während wir auftreten. 47. Live-Performance mit Live-Loops: Okay, also haben wir vorhin einen Sequenzer geschrieben , der ein bisschen so aussieht. Erinnern wir uns einfach daran, wie sich das anhört. Das ist großartig, aber ich bin nie so nützlich für Live-Auftritte. Wie können wir diesen Code also in etwas umwandeln, das ein bisschen nützlicher sein könnte , und dann vielleicht eine Baseline oder etwas hinzufügen . Schauen wir uns also an, was wir tun könnten. Also müssen wir natürlich mit einem lebhaften Pro-Mil-Kern beginnen. Das ist Trump. Das hat sich also alles geändert. Wir müssen das jetzt tun, damit ich hier reingehen und das ausführen kann. Ich kann das Muster live ändern. Also fügen wir am Ende drei Kicks hinzu. Wir können sie hören. Im Rahmen unserer Leistung ändern wir den Kickback. Fügen wir also eine weitere Live-Schleife hinzu. Dieses Mal füge ich eine Basislinie hinzu. Erstellen wir also eine Live-Schleife. Müssen wir ihr einen Namen geben? Nennen wir das also die Bibliotheksbasis. Erinnern wir uns an c, n die Schleife. Und in dieser Schleife verwenden wir dann einen Synth. Also werden wir benutzen, du wirst den Superstore benutzen. Und dann haben wir hier eine Schleife, die 16 mal aussieht. Und wir werden die Schleife beenden. Und dann spielen wir in dieser Schleife eine Note aus der pentatonischen, pentatonischen Moll-Moll-Tonleiter. Wir werden also von einer Tonleiter spielen, die auf Midi Note 40 basiert. Wir werden eine pentatonische Molltonleiter spielen. Und wir wählen einfach eine Note aus dieser Skala. Ein paar andere Parameter , damit es ein bisschen besser klingt. Also setzen wir die Veröffentlichung auf 0.3. Und wir sagen, spielen Sie nur, wenn eins zu zwei, also mit einer Wahrscheinlichkeit von eins und also mit einer Wahrscheinlichkeit von eins und spielen Sie eine der Noten. Wählen Sie also einfach eine zufällige Note aus der pentatonischen Moll-Tonleiter. Aber dann müssen wir schlafen , weil wir in einer Schleife sind. Wir werden also für 0,25 oder Viertelwiederholungen schlafen. Und los geht's. Lassen Sie uns das einfach ausführen und hören, wie es sich anhört. Das klingt gut, weil wir im gleichen Rhythmus spielen und beide sinken, weil beide angefangen haben zusammen zu spielen. Eines der Dinge, die Sie in, in einer Live-Performance tun möchten, ist jedoch die Sie in, in einer Live-Performance tun möchten, , ein neues Lipid hinzuzufügen, oder ganz häufig die Live-Loops, die Sie zuvor erstellen und dann kommentieren raus und dann auskommentieren. Aber tun wir so, als könnte ich das jetzt einfach in meine Zwischenablage schneiden und wir fangen an, dieses zu laufen. Also tun wir so, als hätte ich das jetzt wieder eingetippt und drücke den Run-Button. Diesmal klingt es nicht so gut. Es stimmt nicht mit dem, mit den Trümpfen überein. Der Bass klingt mit den Trommeln aus der Zeit. Das ist eine wirklich, sehr einfache Möglichkeit, das zu beheben, und es ist in Sonic Pi integriert. Und alles was wir tun müssen ist drinnen, in unseren Bibliotheken. Und deshalb geben wir unseren Live-Loops und Namen. Wir sagen einfach krank das mit den Trommeln. Krank das mit den Trommeln. Also jetzt, als ich diese Live-Schleife eingeführt habe, füge sie ein, wenn ich sie einfach wieder in die Zwischenablage schneide. Wenn ich die Run-Taste drücke, wird es bis zum richtigen Punkt in der Bibliothek warten , um die Baseline zu starten. Es gibt also immer synchron , wenn ich auf Ausführen drücke. Jetzt bin ich so, als ob die Leistung im Gange ist. Wir könnten uns dafür entscheiden, ein paar Dinge zu ändern. Vielleicht möchten Sie also eine Grundlinie ändern. Eine einfache Möglichkeit, dies zu tun, könnte darin den Zufallswert zu ändern, den wir verwenden. Nehmen wir an, Sie verwenden einen Unterstrich zufällig drücken Sie Run. Vielleicht möchten wir die von unschätzbarem Wert ändern. Jetzt bekommen wir weniger Notizen und die Grundlinie. Sie können diesen a1 ganz entfernen. Jetzt spielen wir also jede Note. Wir können einen anderen Kessel einführen, andere Snare. Da haben wir's. Und wir können weiterhin Veränderungen vornehmen, während die Musik Outline spielt. So können Sie wirklich sehen, wie Sie Live-Loops verwenden und zwischen Live-Loops versenken können , um sicherzustellen, dass alles im Takt zueinander bleibt. Und Sie können Ihren Code einfach nach Ihren Wünschen ändern, während die Aufführung läuft. 48. MIDI in: Okay, wir können also nicht nur Code zum Abspielen von Musik verwenden, sondern auch Eingaben von einem Midi-Controller übernehmen. Wir müssen also ein paar Dinge in ihren Einstellungen einrichten ein paar Dinge in , um dies zu ermöglichen. Wenn wir also hier zum Einstellungsfenster gehen, wenn wir zu I0 gehen, können wir hier sehen, dass wir dies aktiviert haben. Also minus minus nimmt deine könnte hier deaktiviert sein. Also müssen wir sicherstellen, dass wir Incoming aktivieren , denn dann kannst du sehen, dass ich mein Midi-Keyboard hier aktiviert habe. Also schließen wir das. Und das werden wir sehen. Dies ist ein weiterer Fall, in dem das Cues-Panel besonders nützlich sein kann. Wenn ich zum Beispiel jetzt eine Notiz auf meiner Tastatur drücke, wirst du sehen, dass hier eingeloggt der Name des Controllers ist. Und es sagt uns, dass mein Bogenschießen oder Key Step 37 , der Name meines Midi-Controllers ist. Es gab ein Note-Off, ein Note-On-Event, gefolgt von einem Note-Off-Ereignis. Und das sagt uns , dass es sich bei den Notizen um eine Note 60 handelte, bei der es sich um einen mittleren Sitz handelt. Dieser zweite Teil dieser Liste sagt 100er. Das ist die Geschwindigkeit , mit der ich diese Note drücke Wenn ich sie erneut drücke, erhalte ich eine andere Geschwindigkeit. Da sind wir also. Das war eine 112. Eine andere Notiz gibt mir eine andere Nummer. Das war also eine Note 67, die ein G war, und ich traf sie mit einer Geschwindigkeit von 115. Wir können also diese Informationen, die von unserem Midi-Keyboard kommen, verwenden , um Musik abzuspielen , vielleicht mit einem Synthesizer oder einem Sound, wir in Sonic Pi erstellt haben, aber in der Lage sind, ihn abzuspielen auf unserer Tastatur. So gehen wir also vor. also zunächst Lassen Sie uns also zunächst eine lebendige Arbeit schaffen. Nennen Sie einfach dieses eine Midi-Beispiel. Das ist in Ordnung. Beenden wir das. Dann muss ich hier ein paar Dinge tun. Also muss ich zwei Variablen erstellen, damit wir diese Variablen trennen können. Das sind also die meisten Geschwindigkeiten und das bekommen wir von dieser Liste, die wir hier in der Warteschlange sehen. Das ist also die Notennummer und die Geschwindigkeit. Wir werden sagen, dass dies mit einem synchronisiert wird. Jetzt müssen wir ihm den Namen des Ereignisses geben , das gerade stattfindet. In unserem Fall werden wir also in Anführungszeichen genau so sagen, werden wir also in Anführungszeichen genau so sagen wie es im Warteschlangenfenster geschrieben steht. Und hier sind wir. Also wird es für uns vom Warteschlangen-Panel abgeholt. Aber wir sagen middy, Doppelpunkt sind Shari's wichtiger Schritt 31371. Und das ist der Zettel auf dem Stift. Also wollen wir sagen, wenn wir eine Notiz dazu bekommen, möchte ich einen Synth verwenden. Ich benutze das Klavier. klavier. Und ich gebe ihm die Note , die vom Midi-Keyboard kam. Und das übergebe ich an den Notenparameter oder die Option no. Ich stelle die Amplitude so ein, wie auch immer die Geschwindigkeit durch 127 geteilt wurde. Der Grund dafür ist , dass die Amplitude , die von Midea kommt, ein Wert zwischen 0,127 ist. Der Amplitudenparameter oder die Amplitudenoption innerhalb von Sonic Pi wird jedoch oder die Amplitudenoption innerhalb von als Wert zwischen normalerweise 0,1 eingestellt. Also nehmen wir das einfach, nehmen wir die Geschwindigkeit, die durch 127 geteilt wird , und das gibt uns eine geeignete Amplitude für den Standort Pi. Also lass uns das ausführen. Und jetzt, indem ich auf meinem Keyboard Noten drücke, kann ich den Klaviersynth aus dem Inneren von Sonic Pi heraus spielen . Und wieder, wenn ich irgendwelche Filter, Hüllkurven und die Art von ADSR-Parametern usw. hinzugefügt hätte , werden sie reflektiert, während ich mein Midi-Keyboard spiele. Wenn Sie jedoch ein Midi-Keyboard angeschlossen haben und gerade dieses Beispiel verwendet haben diesen Teil hier offensichtlich durch ein beliebiges ersetzen, wird Ihr Keyboard vom Cues-Panel aus aufgerufen. Sie werden feststellen, dass es eine große Latenz gibt. Jetzt besteht diese Latenz tatsächlich absichtlich und wir können sie entfernen, aber die Latenz ist vorhanden. Ich kann garantieren, dass beim Drücken dieser Taste genau 2,5 zwischen dem erneuten Drücken einer Taste liegt. Und Sie können tatsächlich sehen, dass, wenn Sie in das beschuldigte Panel schauen, zwischen dem Drücken einer Taste eine 2,5. Verzögerung liegt . Und wenn sie tatsächlich klingen. Diese Latenz ist nun absichtlich in Sonic Pi integriert. Und es hilft wirklich beim Timing, denn Computer können, je nachdem, was sonst noch auf dem Computer vor sich geht, sehr unterschiedliche Geschwindigkeiten ausführen. Um also in der Lage zu sein, dass die Dinge in einem gleichmäßigen Rhythmus sinken und funktionieren möchten wir normalerweise in einem Musikstück , je nachdem, was auf dem Computer passiert, diese 2,5. Verzögerung eingeführt wird Zweck dem entgegenwirken zu können. Es ist also wirklich einfach, diese Latenz zu entfernen, wenn wir in Echtzeit spielen möchten. Und das tun wir mit einem einfachen Befehl. Also sagen wir einfach Unterstrich in Echtzeit verwenden. Wenn ich jetzt Run drücke, ertönte sofort die Nachricht, dass ich die entsprechende Taste auf meinem Midi-Controller-Keyboard gedrückt habe . Das ist also alles gut und gut. Und du könntest sagen: Nun Steve, das ist toll, aber ich kann schon einen Synthesizer spielen. Ich habe was es könnte, ich habe einen eigenständigen Synthesizer , den ich benutzen kann. Aber tatsächlich können wir jetzt einen Teil der Programmierung, die wir gelernt haben, auf unseren Synthesizer anwenden der Programmierung, die wir gelernt haben, auf unseren , da er einige interessante Ergebnisse erzielt. Also könnten wir so etwas sagen. Anstatt diesen Synth zu verwenden, könnten wir sagen, okay, nun, wenn ich eine Note auf meiner Tastatur drücke, vielleicht nur ein Notizbuch, aber entschuldigen Sie mich, etwas zufälliges von einer Skala, die definiert ist durch die Notiz, die weitergegeben wurde. Und dann spiel mir einfach etwas und zufällig auf der pentatonischen Dur-Tonleiter vor. Abhängig von der Note , die ich gewählt habe. Irgendwo innerhalb von drei Oktaven. Und stellen Sie das ein, wie wir es zuvor getan haben. Stellen wir die Amplitude auf die ein, um die Geschwindigkeit zu sein , die übergeben wurde. Also wie hart oder wie schnell wir die Tastatur geteilt durch 127 drücken . Keine Sorge, wenn Sie die Amplitudeneinstellung verpassen. Sie spielen einfach mit der Standardamplitude Eins, egal wie stark Sie die Taste drücken. Es hat also einwandfrei funktioniert. Ohne sie verlieren Sie die Geschwindigkeitsempfindlichkeit Ihrer Tastatur. Was jetzt passieren wird ist, was auch immer ich eine Note spiele, wird eine Note auf der pentatonischen Dur-Tonleiter wählen, irgendwo in drei Oktaven für die Noten, die ich gedrückt habe. Also drücke ich ein mittleres C oder S3. Wenn ich also auf „Hier ausführen“ klicke, jedes Mal, wenn ich diese Note drücke wird mir jedes Mal, wenn ich diese Note drücke, eine Note von der pentatonischen Dur-Tonleiter abgespielt . Sie können sehen, dass sich in der Warteschlange hier auf dem, auf dem Cues-Panel befindet. Ich habe gerade die ganze Zeit die mittlere C 60 gedrückt. Aber es gibt eine andere Note aus. Irgendwo innerhalb der pentatonischen Dur-Tonleiter, innerhalb von drei Oktaven der Note, die ich gespielt habe. Nun ist es ein gutes Beispiel, um Ihnen zeigen zu können , dass wir vielleicht mit Code einige nützliche Dinge erreichen können. Aber schauen wir uns vielleicht ein immer nützlicheres Beispiel an . Lass uns das einfach entfernen. Spiel nochmal. Dieses Mal verwenden wir einen Synth, also verwenden wir die Flussmittel. Wir behalten diesen Code. Dieser Code ist absolut gut. Das heißt nur, okay, das ist nur das Erstellen einer Live-Schleife, das heißt, wir sollen Echtzeit verwenden und die Noten und die Geschwindigkeit des Note-on-Events von unserer Tastatur aus erfassen . Aber dieses Mal machen wir etwas Interessanteres. Nehmen wir also an, jedes Mal, wenn ich eine Note drücke, möchte ich ein zeitgesteuertes Muster abspielen. Anstatt also nur eine Note zu spielen wird eine Reihe von Noten abgespielt. Holen wir uns also noch einmal die Skala aus der Notiz. Aus den Notizen, die wir von der Tastatur erhalten haben. Und wir werden wieder die Moll-Pentatonik verwenden. Aber dieses Mal werden wir darüber nachdenken. Also spielen wir die gesamte Tonleiter hoch und runter. Und weil wir im Spiel getimte Muster verwenden, müssen wir ihm sagen, wie lange wir zwischen den Noten pausieren wollen . Also werden wir das auf sehr kurz setzen. Und dann setzen wir die Amplitude wieder auf die Geschwindigkeit geteilt durch einhundertsiebenundzwanzig. Siebenundzwanzig. Lassen Sie mich das ein bisschen übergehen , damit wir die ganze Linie sehen können. ich also eine Note auf meinem Midi-Keyboard spiele, Wenn ich also eine Note auf meinem Midi-Keyboard spiele, spielt sie mir die pentatonische Moll-Tonleiter, basierend auf der Note, die ich gedrückt habe. Und es wird es sehr schnell den ganzen Weg hoch und dann wieder runter mit der Geschwindigkeit spielen schnell den ganzen Weg hoch und dann , mit der ich eingehe. Also lasst uns hören, wie das klingt. Sie können also sehen, dass ich nur OneNote drücke. Wir spielen in dieser ganzen pentatonischen Tonleiter ganz hoch und wieder runter. Und natürlich kann ich noch ein Objekt hinzufügen, damit ich Oktaven sagen kann. Sehr gut. Sie können also sehen, dass wir wirklich Code schreiben können , der ausgelöst wird, wenn wir eine Note auf unserem Midi-Keyboard drücken , um eine ganze Reihe verschiedener Dinge zu tun . Und die Leute haben dies für einen wirklich großartigen Effekt genutzt , verbunden mit Auftritten, insbesondere mit verschiedenen Arten von Midi-Controllern, um verschiedene Funktionen basierend auf der gespielten Note auslösen zu können . in. Wenn Sie also einen Midi-Controller haben, egal ob es sich um ein Keyboard oder ein PAD handelt, ist es ziemlich einfach, ein Herumspielen einzurichten, wie wir es in Sonic Pi gesehen haben . Und wieder gibt es im Hilfebereich weitere Hilfe zum Einrichten. Aber das ist wirklich ganz einfach. Und es ist ein wirklich, wirklich leistungsstarkes Live-Performance-Gerät. Sie haben also nicht nur die Möglichkeit, den Code live in Live-Schleifen zu ändern, während Sie auftreten. Sie können aber auch einen Midi-Controller verwenden, um Ihrer Live-Performance eine andere Dynamik zu verleihen . 49. MIDI aus: Okay, das deckt also ab, wie wir zu Sonic Pi kommen. Sonic Pi kann aber auch schlammig emittieren. So können wir andere Midi-Geräte steuern oder Midi aus unserem Code an unsere DAW senden. Um das zu demonstrieren, werde ich einen synthetisierten als fantastischen freien Synthesizer namens vital verwenden . Es ist ein Synthesizer, den ich in meinem kompletten Anfängerleitfaden für Synthese und Sounddesign verwende . Wenn Sie also mehr über vital erfahren möchten, schauen Sie sich bitte diesen Kurs an. Ich werde nur ein Preset laden, das ich neulich erstellt habe und Skynet quiet heißt . So klingt das also. Okay, das ist synthetisiertes Laufen und ich kann mit meinem Midi-Keyboard spielen, aber ich kann es auch mit Code spielen. So kann ich in den Einstellungen sehen , dass ich einen verbundenen Ausgang habe, was mein Bogenschießen ist, ein wichtiger Schritt 37. Das kann ich nicht herausfinden. Dies ist etwas, das Sonic Pi beim Öffnen anhand der Geräte, die ich an meinen Computer angeschlossen hatte, aufnehmen konnte beim Öffnen anhand der Geräte, die ich an meinen Computer angeschlossen hatte, aufnehmen . So kann ich meinen Standard-Midi-Ausgangskanal einstellen. Ich überlasse das einfach allen und wir können steuern, welchen Kanal wir kodieren können. Und das kann nützlich sein, wenn Sie etwas wie Kontakt verwenden , bei dem Sie mehrere Instrumente gleichzeitig laufen lassen und verschiedene Befehle an verschiedene Midi-Kanäle senden können, um dies zu können steuern zum Beispiel verschiedene Kontaktinstrumente. Aber wir werden es nett und einfach halten. Wir verwenden Vital. Schreiben wir also ein bisschen Code. Alles was wir tun müssen, ist den Befehl midi, midi note on zu verwenden, um das Spielen der Midi-Note zu starten, oder um eine Midi-Note auf Befehl an das Midi-Ausgabegerät zu senden , in diesem Fall unser Keyboard. Und dann sagen Sie: Okay, jetzt wirklich subtil. Lassen Sie uns also ein bisschen Code ausführen, damit wir Midi Note on sagen können. Da haben wir's. Wir können also sagen, dass Licht an ist. Spielen wir ein E-Drei. Es spielt eigentlich keine Rolle, ob Sie hier Klein- oder Großbuchstaben verwenden . Aber ich verwende nur Anwendungen, um es durchweg konsistent zu halten. Wir können sagen, dann spielen wir E3 und wir werden es mit einer Geschwindigkeit von 50 spielen. Und wir werden das an Midi Channel One senden. Wir schlafen dann vier Schläge lang. Und dann senden wir den Midi-Note-Off-Befehl , Midi-Note aus. Und wieder müssen wir sagen, welche Note wir abschalten sollen. Also schalten wir die E3 aus, die wir gerade gesendet haben. Und das wird wieder ein Befehl sein, den wir auf Kanal Nummer eins senden werden. Lass uns das durchgehen. Und das hört man im Synthesizer. Wenn ich das noch einmal durchführe, kannst du tatsächlich den unteren Teil des Zentrums sehen , in dem ich mein Vital gekauft habe. Sie können auf dem Keyboard sehen, dass die Midi-Note tatsächlich gesendet wurde. Also wurde es über meinen Midi-Controller gesendet. Und Backups sind lebenswichtig. Wie gesagt, mit verschiedenen virtuellen Instrumenten könnte man und ich habe den Kontakt direkt von Sonic Pi aus gesteuert von Sonic Pi aus gesteuert basierend auf den Midi-Kanälen, die ich ihm sende. Ich habe mich jedoch einfach dafür entschieden, vital in diesem Fall zu verwenden , weil es ein fantastischer und kostenloser Synthesizer jeder mitmachen kann. Fügen wir also noch eine weitere Notiz hinzu. Also lass uns eine Midi-Note schicken. Auf. Dieses Mal schicken wir ihm eine A4. Und wieder verwenden wir eine Geschwindigkeit von 50 und senden sie auf Kanal eins. Werde schlafen für. Und dann wissen wir plötzlich richtig Bescheid. Und wir sagen ihm, dass er auf Kanal eins nein, a4 abschalten soll . Und lassen Sie uns Play und dann oder Rum drücken und dann zu vital wechseln. Da haben wir's. Also ein ziemlich einfaches Beispiel, aber es zeigt, wie Sie Midi aus Sonic Pi in jedes Instrument oder in jedes virtuelle Instrument senden können Midi aus Sonic Pi in jedes Instrument oder in jedes virtuelle Instrument senden in jedes Instrument oder in jedes virtuelle Instrument , mit dem Sie eine Verbindung herstellen möchten. Und es ist sicherlich eine großartige Verwendung dafür, die Steuerung und ein externer analoger Synth zu sein . Vielleicht möchten Sie dies mit externen Synthesizern verbinden , die Sie über ein Midi-Kabel von Ihrem Computer bekommen haben über ein Midi-Kabel von Ihrem Computer bekommen , und dann Midi-Befehle aus Sonic Pi senden , um alles zu steuern. Seitdem hast du vielleicht. 50. Live-Audio: Okay, und es gibt noch eine Möglichkeit, unsere Live-Auftritte mit Sonic Pi zu verbessern, und zwar durch die Verwendung von Audio. Wir können also tatsächlich Audio von einem Mikrofon oder einem externen Instrument wie einer Gitarre aufnehmen Mikrofon oder einem externen Instrument wie einer Gitarre und tatsächlich über Sonic Pi darauf zugreifen. Und wir können eine Reihe von Effekten anwenden und Code um die Eingabe schreiben, die wir erhalten. Um das einzurichten, müssen Sie zu Einstellungen gehen. Gehen Sie zum Audiobereich und stellen Sie sicher, dass Sie hier die Audioeingänge aktiviert haben. es in diesem Panel unten deaktiviert ist, Wenn es in diesem Panel unten deaktiviert ist, klicken Sie einfach darauf, um die Audioeingänge zu aktivieren. Sonic Pi kann also Audioeingaben von verschiedenen Orten aufnehmen . Es könnte also standardmäßig vom Mikrofon Ihres Computers übernommen werden. Es kann von einer externen Soundkarte oder einem Audio-Interface übernommen werden. Und wenn Sie wie ich ein Audio-Interface mit mehreren Kanälen haben , wird Sonic Pi den Audioeingang vom ersten Kanal Ihres Audio-Interfaces in den ersten Kanal übertragen auf dem Audio-Interface, das ich habe, habe ich meine Gitarre angeschlossen um das über Sonic Pi zu spielen, ich muss einfach die Live-Audio-Befehle verwenden. Also kann ich einfach Live-Unterstrich-Audio sagen und muss diesem Live-Audio und Namen geben. Also nenne ich es eine Gitarre. Und jetzt mit diesem Befehl, wenn ich Run drücke, sollten Sie jetzt in der Lage sein, die Gitarre durch Sonic Pi durchkommen zu hören . Dann sind wir, wir können im Bereich sehen und oben rechts können wir die Spektrumanalyse des Audioeingangs sehen. Drücken wir also vorerst auf „Stopp“. Und wie gesagt, das muss keine Gitarre sein, es könnte eine Basis sein, könnte ein Keyboard sein, es könnte ein Mikrofon sein usw. Das Spannende ist, dass wir damit zum Beispiel Effekte hinzufügen können. Wir können das also einfach mit einer Effektschleife umschließen. Nehmen wir also mit Unterstrich-Effekten an, fügen wir einen Hall hinzu. Wenn ich das jetzt starte, sollte ich meinen Gitarrensound wie zuvor haben, aber mit etwas Hall kann ich etwas Verzerrung hinzufügen, drücken Sie Run. Und natürlich kann ich diese Effekte wie zuvor weiter verfolgen, aber wie ich bereits sagte, seien Sie vorsichtig damit. Wenn Sie anfangen, zu viele Effekte hinzuzufügen werden Sie feststellen, dass Sie unter einigen Leistungsproblemen leiden . Also, aber wir können zum Beispiel außerhalb von hier einen Hall hinzufügen , und wir brauchen eine weitere Endschleife. Formatieren wir das und führen es aus. Und jetzt sollte ich eine verzerrte Gitarre mit Revert haben. Okay, lassen Sie uns einige wirklich interessante nach Performance-Möglichkeit bekommen . Streichen Sie in diesen Puffer anstatt das alles einzugeben. Ich habe, ich habe das in einem anderen Puffer gespeichert und ich führe Sie durch den Code. Also oben hier habe ich genau das gleiche wie im letzten Abschnitt. Also nur das Live-Audio, das von der Gitarre über mein Audio-Interface kommt und nur etwas Verzerrung und etwas Hall anwenden , sodass wir dann die BPM auf 96 setzen. Nur für dieses Beispiel. Wir haben dann einen Live-Loop, der eine Drumsequenz auf sehr ähnliche Weise abspielt eine Drumsequenz , wie wir sie zuvor in den vorherigen Abschnitten gesehen haben. Also benutze einfach dieses Drum-Pattern , das wir in diesen Saiten beschrieben haben , um unsere drei Drum-Samples abzuspielen. Wir haben dann einen Loop bekommen, weiterer Live-Loop läuft , der gerade einen Bass-Part spielt. wird also ein zynisches Grundfundament verwendet, und es wird nur 16-mal geloopt und eine Note aus der pentatonischen Moll-Tonleiter oder der pentatonischen E-Moll-Tonleiter ausgewählt, dafür eine zufällige Zeile ausgewählt und es ist jeden halben Takt eine Note spielen. Und dann haben wir eine weitere Bibliothek, die Schlüssel heißt. Und das benutzt den Piano-Synth. Und wieder wählt man aus der pentatonischen Tonleiter e-moll, aber drei Oktaven über dieser Mutter von einem oder zwei Autoren, und es spielt jedes Viertel eines Beats eine Note und das geht Runde 16-Noten-Loop. Darüber hinaus kann ich, da wir das Live-Audio haben, Eingaben über mein Audio-Interface abspielen. Darüber hinaus wird der Sound mit Sonic Pi produziert. Und ich kann das tatsächlich in einer Audiodatei aufnehmen , wobei Sonic Pi meinen Code im Hintergrund abspielt. Und dann sind die Lipide oben, indem Sie hier die Aufnahmetaste drücken. Und dann drücken Sie Run. Und dann hör auf mit der Aufnahme. Und es bleibt mir auch, wo ich diese Datei speichern möchte. So kann ich das auf meinem Desktop speichern, zum Beispiel Audio. Klicken Sie auf Speichern. Und dann auf meinem Desktop wurde die Datei als WAV-Datei ausgegeben. Und das kann ich mir über den Mac-Audioplayer anhören. 51. Wir kommen zum Ende.: Okay, das war's für diesen Kurs. Wir haben gesehen, dass sich einige der fantastischen Möglichkeiten eröffnen, wenn Sie Sonic Pi verwenden, um Code zum Erstellen von Musik zu schreiben. Aber es gibt ungefähr 250 verschiedene separate Befehle in Sonic Pi me, wir haben gerade erst an der Oberfläche gekratzt. Schauen Sie also in den Lungenbereich des, des Gesundheitspanels und graben Sie sich dort wirklich um. Alle Befehle haben eine wirklich gute Dokumentation. In diesem Sinne. Ich möchte Sie ermutigen, sich die Beispiel-Panels anzusehen. Wenn Sie also im Gesundheitsbereich nachschauen, schauen Sie unter Beispiele nach und Sie werden einige wirklich großartige Beispiele sehen , die mit Sonic Pi bereitgestellt wurden. Ich würde Sie auf jeden Fall ermutigen sich einige davon anzusehen und diesen Code durchzugehen und ihn wirklich durchzulesen und zu verstehen. Ich kann einen guten empfehlen. Ein guter Anfang könnte so etwas wie Tilburg Two sein, was eines der Beispiele darin ist. Sie klicken einfach auf das Beispiel im Health Panel und dann können Sie den Code kopieren und in einen der Puffer im Codefenster in Sonic Pi einfügen, Sie können ihn abspielen und erstellen ändert sich daran und experimentiert wirklich. Denke daran, es gibt keine Fehler. Du kannst nichts kaputt machen, indem du in Sonic Pi experimentierst. Und wer weiß, dass einige dieser Experimente zu Ihrer nächsten großartigen musikalischen Idee werden könnten , Ihrem nächsten großartigen musikalischen Output. Es ist also eine großartige Möglichkeit, einfach zu experimentieren und neue Musik zu entdecken. Vergessen Sie aber nicht, Ihre Arbeit regelmäßig zu speichern. Wie gesagt, Sonic Pi, wir speichern es im Puffer, wenn du es neu lädst. Aber, nur um sicher zu gehen, ich mache immer gerne, wenn ich wirklich besonders glücklich mit etwas bin , eine separate Kopie und speichere auf separate Datei. Und es gibt immer den Rückgängig-Button. Wenn Sie dies tun, wenn Sie experimentieren und den Weg gehen , den Sie nicht besonders mögen, können Sie Ihren Weg nach draußen jederzeit rückgängig machen oder zu einem früheren sicheren Zustand zurückkehren. Aber das ist es wirklich. Also viel Spaß und ich ermutige dich wirklich, ein paar Live-Auftritte auszuprobieren, auch wenn du nur in deinem Zimmer ein Protokoll aufführst, vielleicht vor ein paar Familien und Freunden, oder wenn du wirklich gut darin, mach weiter, stage, geh und zeig, was du hast. Schauen Sie nach Algo Rave. Nur ein paar Google-Algorithmen werden Sie zur Algorithmus-Website schicken und Sie können sehen, wo sich einige andere Leute in Ihrer Nähe befinden oder Live-Auftritte machen. Es braucht nur ein bisschen Übung. Dies ist dasselbe wie bei jedem anderen Instrument. ermutige ich Sie wirklich, Ihre Zeit jeden Tag so zu verbringen , wie Sie es tun würden, wenn Sie Gitarre oder Klavier, Harfe oder andere Instrumente lernen Harfe oder andere Instrumente Verbringen Sie einfach Ihre Zeit, Jeden Tag ein bisschen Zeit zum Üben von Sonic Pi, Üben einer Live-Performance, Ausprobieren verschiedener Code-Bits und verschiedener Experimente , dieses bisschen Übung bekommen wir jeden Tag im Handumdrehen kompetent. Ich bin mir sicher. Seien Sie kürzer, um Ihren Code und Ihre Musik mit dem Rest der Welt zu teilen , entweder über die Community auf der Sonic Pi-Website oder wie auch immer Sie sich frei fühlen, Sie fühlen sich wohl dabei. Ich freue mich, wieder von Ihnen zu hören, also teilen Sie mir bitte Ihren Code mit. Teile es auf dieser Website. Wenn Sie mehr über einige der anderen Kurse und die anderen Dinge erfahren möchten , die ich gerade habe. Dann geh bitte live mit music.com zu Steve und du wirst alles herausfinden , was du wissen musst, dass es fantastisch war, dich zu haben . Vielen Dank fürs Zuschauen und wir sehen uns bald wieder.