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.