Video 2-4: Mehr zu entdecken, StdAudio
CS 210 – Algorithms and Data Structures (Summer 2026) · unit page
· YouTube
2026-04-22, 6:04
The transcript was generated automatically by YouTube's speech recognition and is offered as is. It may contain errors, in particular in concerning technical terms, names and formulas.
0:01 Äh, letzter Punkt noch. Es gibt noch mehr, z.B. können Sie auch Ton generieren. Es gibt Standard Audio, da können Sie ganz langweilig Wave Datei ausgeben. Das kann natürlich auch irgendein Player, aber sie können auch roh Zahlen, ein Array von Zahlen liefern, das dann abgespielt wird. Und ähm da kommt man dann vielleicht auf die Frage, was was ist eigentlich Ton? äh was sind Geräusche? Und im Wesentlichen ist das eine vorückschwingung von Materie, die wir irgendwie wahrnehmen und interpretieren. Das heißt, im großen und ganzen sind es einfach Werte, die sagen, ob wir man die Membran von dem Lautsprecher vor oder zurückbewegt. Also Zahlen, die irgendwie positiv negativ sind zwischen 0 und 1 in aller Regel. Und je nachdem, wie schnell die sich über die Zeit verändern, nehmen wir das als verschiedene Töne wahr. Z.B. ein reine eine Sinusschwingung mit einer bestimmten Frequenz 440 Hz ist so das äh das klassische A im in der Musik und auf Basis dessen kann man mit dem, was man aus der Musik so weiß, dann auch Frequenzen der anderen Töne ähm berechnen.
1:13 Und als letztes Spaßbeispiel ist hier ein Mini Synthesizer. Äh kann ich auch gleich noch vorführen, weil wahrscheinlich nicht hören, weil das nur hier über die ähm über den Ton ausgibt. Ich weiß nicht, ob ich das über den m Ich kann mal probieren, ob es über HDMI rauskommt. Mal schauen. Ähm, nur ganz kurz zum Code. Äh, wenn ich Töne diskret messen will, dann muss ich angeben, wie viele Beispiele, wie viele Samples pro Sekunde nehme ich? Und unsere Grafikk, unsere Soundkarten gehen in der Regel von dieser Samplingrate von 44,1 kHz aus, vielleicht auch 48 kHz. Äh, das ist die, die hier voringestellt ist. Mit der muss ich hier arbeiten. Dann ähm habe ich ein bisschen ein Ausgabe. Das heißt, das Programm ist direkt so geschrieben, dass man ihm eine Sequenz von Noten füttern kann.
2:04 Und der Hauptteil ist aber dann hier äh ich iteriere über eine gewisse Anzahl von Sampeln, nämlich solange wie der Ton sein soll mal die Sampling Rate, so viele Zahlen muss ich generieren und die Zahl selber ist dann einfach eine Sinusschwingung ausgewertet an der passenden Zeit mit der Frequenz multipliziert, weil wir die Sinusschwingung zusammenschieben. Sehen Sie hier im Bild ja auch. und durch die Sampling Rate geteilt, damit das äh mit der die Zeit skaliert. Und dann bekommt man ein langes Array von Zahlen und der eine Aufruf hier ist das, was dann tatsächlich mit der Soundkarte redet.
2:54 Gut, vor dem bin ich ein bisschen äh weniger hoffnungsvoll, dass das ohne Reibung funktioniert. Äh, also ich wollte ihn vielleicht den Code einmal zeigen noch, aber dass sie ähm na Play that tune heißt es.
3:11 N sie sehen, da passiert jetzt nichts anderes als was wir eben auf den Folien hatten. Und das Format in dem indem wir die Eingabe brauchen, sind diese Integer und dann eine Länge in Sekunden. Und das passt eben hier zu dieser Tabelle. Ja, also A ist der der Grundton hier in diesem Fall und die Indices, die ich angebe, die die Integer, das sind ganze das sind Halbtöne nach oben von A. Ähm, das passiert eben auf dieser klassischen Annahme. Ich habe ich habe 12 Halbtöne in einer Oktave und von einem Ton zu dem nächsten von einem A zum nächsten Atave höher ist die Frequenz genau verdoppelt. Das heißt, für jeden der zwölf Töne habe ich genau ein zwölfel von verdoppeln, also die zwölfte Wurzel aus zwei als Änderung der Frequenz. Das ist der Teil, über den ich hier so ein bisschen drüber gehuscht bin, weil ich nicht jetzt eine Physikveranstaltung hier draus machen wollte. Aber damit das Eingabeformat irgendwie Sinn ergibt, äh musst es vielleicht auch erklären. Na gut. Okay, dann probieren wir das einmal.
4:38 Okay, wir pipen rein. Unsere Eingabe. Aha, Klassen natürlich. Klassiker. tut. Äh was man nicht hört, tatsächlich ist das Knacksen. Das klingt nämlich eigentlich furchtbar. Ähm, okay, jetzt haben sie es alle gehört. Das Knacksen am Ende liegt daran, dass das halt ein Mistsynthesizer ist, der einfach irgendwo auf einer Schwingungshöhe aufhört und der nächste Ton fängt woanders an. Das heißt, das ist für die Lautsprecher eigentlich gar nicht möglich abzubilden. Deswegen knackt das so. Kann man nämlich alles noch rumspielen und absprechen und sonst was. Ja, sie sehen ähm da ist natürlich mehr zu tun als das bisschen Code, aber so als Spaß soll uns das mal genügen. Gut, wenn Sie mehr äh Spaßbeispiele wollen, da gibt's ganz viele schöne noch in diesen Büchern äh aus den ich auch diese diese Inspiration da geklaut habe. Ähm sind Sie natürlich dazu angehalten, aber als Teil von der Vorlesung werden wir es dann jetzt so ein bisschen ähm eingrenzen mit dem Spaß. Vielleicht kommen noch so ein paar schöne kreative Aufgaben als vor. Äh schauen Sie da mal rein, wenn Sie Interesse haben. Ab Montag machen wir dann wieder ein bisschen im engeren Sinn Algorithmen und Datenstruktur.
← Video 2-3: Malen nach Zahlen, StdDrawVideo 3-0: Motivation →