Musik mit Excel - Just Fun, no Profit

Musik mit Excel

Just Fun, no Profit

Marc Ruef
von Marc Ruef
Lesezeit: 5 Minuten

Die traditionelle Definition des Worts Hacking sieht den kreativen Umgang mit Technologien vor. Und dies ist zu einem hohen Grad auch unsere Einstellung. Unsere Mitarbeiter mögen die Herausforderung und das Spiel zugleich. Und so kommt zwischendurch das eine oder andere nicht ganz ernst gemeinte Projekt zustande.

Vor einiger Zeit habe ich in VBA (Visual Basic for Applications) eine Applikation namens ExcelMusix entwickelt, mit der sich in Excel Musik komponieren und abspielen lässt. Dabei benutze ich die folgende API-Funktion in kernel32.dll, um die Töne auf dem PC-Speaker ausgeben zu lassen:

Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long

In den jeweiligen Zellen des Excel-Sheets können sodann die Töne und ihre Länge angegeben werden. Diese werden dann an die Funktion Beep() übergeben, um den Ton zu erzeugen. Dabei unterstütze ich unterschiedliche Darstellungen der Tonhöhen:

Funktion Bezeichnung Skala
beep MIDI Notennummer von 0 bis 88
noteenglish Notenbezeichnung in Englisch von G#0 bis C8
notegerman Notenbezeichnung in Deutsch von Gis2 bis c'''''
tone Tonfrequenz in Hertz von ca. 1 bis ca. 15000 Hz (je nach Hardware)

Die Dauer des Tons wird in Millisekunden angegeben, wobei hier werte ab ca. 20 ms brauchbar sind, jedoch bei melodischen Liedern typischerweise mit ca. 100 ms gearbeitet wird. Ist das Lied im Sheet komponiert, kann es durch das Drücken auf den Play-Button abgespielt werden – Hierbei wird iterativ durch die einzelnen Tondefinitionen durchgegangen und diese ausgegeben. Sehr einfach lassen sich damit eigene oder bekannte Lieder umsetzen:

You are able to define your song in the columns defined on the left side. The three columns are divided into type, level and duration. The first column type defines the type of sound you would like to make. Possibilities are notenumber, noteenglish, notegerman and beep. The second column level defines the pitch level of the sound. The pitch level for beeps lies between 1 and 15000, the noteenglish and notegerman use their representation (e.g. C and E1) and the notenumber uses a note number from 1 to 88. Click play to listen to your song.

Für den experimentierfreudigen Benutzer mit Hang zu arithmetischen Beobachtungen lohnt sich das Umsetzen von Zahlenreihen. Exponentieller Wachstum in Bezug auf Tonhöhe und Tondauer haben zum Beispiel spezielle Effekte zur Folge, wie man sie von klassen Videogames her kennt. In diesem Sinne: Viel Spass am Gerät!

Über den Autor

Marc Ruef

Marc Ruef ist seit Ende der 1990er Jahre im Cybersecurity-Bereich aktiv. Er hat vor allem im deutschsprachigen Raum aufgrund der Vielzahl durch ihn veröffentlichten Fachpublikationen und Bücher – dazu gehört besonders Die Kunst des Penetration Testing – Bekanntheit erlangt. Er ist Dozent an verschiedenen Hochschulen, darunter ETH, HWZ, HSLU und IKF. (ORCID 0000-0002-1328-6357)

Links

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

×
Cyber Threat Intelligence

Cyber Threat Intelligence

Marc Ruef

3D Printing

3D Printing

Marc Ruef

Contact Tracing App DP3T

Contact Tracing App DP3T

Marc Ruef

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv