M12 Anwendungen
Prüfung der Geschwindigkeit mit "Freude schöner Götterfunken"
IMETER- Musik?
Mus(I)METER -- Wie man relative Geschwindigkeiten erhöhren kann --
Die Geschwindigkeit, mit der die Plattform der IMETER-Hardware bewegt wird, erzeugt frequenzbedingt Geräusche. Bewegt man die Plattform mit der Geschwindigkeit 1,7696 mm/s, kommt es zu vernehmlichen Schwingungen von 440Hz. Das ist der Kammerton A.
Der Quellcode des IMPros ist unten abgedruckt. In Zeile 4 wird die Beweggeschwindigkeit für "A" als Variable gesetzt. Die Töne aus der sich die Strophe der Ode „An die Freude“ (aus dem letzten Satz der 9. Sinfonie von Ludwig van Beethoven) zusammensetzt, werden in wohltemperierter Stimmung (Intervallfrequenz 2i/12) synthetisiert und ebenso als Variable berechnet. Die Tonhöhe kann transponiert werden (Zeile 8) und folgt aus der Geschwindigkeit, die Tondauer als Wegstrecke.
Dieses Beispiel ist durchaus nicht als reiner Spass gedacht, sonst würden ja die anderen fünf Motorsteuerungen und die klackenden Relais auch noch eingesetzt, um mit Mehrstimmigkeit und Perkussion eine elektro-mechanische Musik auszugestalten (...). Nein, der Hintergrund ist ernsthaft, Geschwindigkeiten prüfen zu können ist wichtig, da z.B. bei der Viskositätsmessung gemäß IMETER-Methode N°5 (DiVA) die Beweggeschwindigkeit unmittelbar mit der Viskosität verknüpft wird. Geschwindigkeiten relativ zueinander zu überprüfen, ist anders keine eigentlich triviale Aufgabe. So, als Melodie - und das Ohr ist für Tonhöhenunterschiede sehr empfindlich - wird diese Aufgabe menschenmaßstäblich gelöst.
Download IMPro:
Freude schöner Götterfunken.zip (in das Verzeichnis "..\imeter\MessPrgs" zu entpacken. Das IMPro ist in der Testumgebung auszuführen.
![AnDieFreude Noten]()
1. ——— 'Beschleunigung (accel) groß setzen - sonst sind Töne mit 'legato' (und glissando), Lautstärke maximal (curr% ⇒ 100% Antriebsleistung)' —
2. Z-Axis SET PROPERTIES cur%100 accel95
3. ——— 'Über die Spindelsteigung hängt die Frequenz mit der Geschwindigkeit zusammen ....' ———————
4. Kammerton_A [mm/s] = 1,7696 ... der Beweggeschwindigkeit "1,7696" kommen 440Hz zu (=Kammerton A)
5. ——— 'Kammerton A - - - einfach zu überprüfen mit einer Stimmgabel:' ————————————————
6. Z-MOVE: 5,000 mm UP v= "Kammerton_A" mm/s
7. Wait: 1 s
8. Transponierung = 3 Die Tonlage kann mit diesem Faktor entsprechend angepasst werden
9. ——— 'Relativ-Definition der Töne' ————————————————————————————————
10. x`C__ [mm/s] = (2^(3/12)) * Kammerton_A * Transponierung
11. x`D__ [mm/s] = (2^(5/12)) * Kammerton_A * Transponierung
12. x`E__ [mm/s] = (2^(7/12))* Kammerton_A * Transponierung
13. x`F__ [mm/s] = (2^(8/12))* Kammerton_A * Transponierung
14. x`G__ [mm/s] = (2^(10/12)) * Kammerton_A * Transponierung
15. ——— 'Tonhaltedauer und Pausen zwischen den Tönen' ——————————————————————
16. einViertel = 0,25 Dauer für einen Vierteltakt
17. pause [s] = 0,5 Pause zwischen den Strophen
18. ——— 'Die Bewegungsrichtung (hier über Vorzeichen der Pausenzeit) einstellen, dass 'room to move' ' ——
19. IF "Z <30 [mm]" DEFINE: 'einViertel = -1 * einViertel [n]'
20. ———————————————————————————————————————————————————
21. -a- einViertel = - einViertel <Richtungsumkehr der Ton-Bewegung nach jeder Strophe>
22. -|- vC___ [mm-rel] = einViertel * x`C__ Definition der Töne: Ton= Beweggeschwindigkeit, Dauer= Strecke
23. -|- vD___ [mm-rel] = einViertel * x`D__
24. -|- vE___ [mm-rel] = einViertel * x`E__
25. -|- vF___ [mm-rel] = einViertel * x`F__
26. -|- vG___ [mm-rel] = einViertel * x`G__
27. -|- —(M)—— '"Freude schöner Götterfunke, Tochter aus Elysium ...' —————————————————
28. -|- Z-MOVE: ⇳ "vE___" v= "x`E__" mm/s
29. -|- LOOP: one comand back, 1× repetition • • • • • • • • • • • • • • • • • • • • • •
30. -|- Z-MOVE: ⇳ "vF___" v= "x`F__" mm/s
31. -|- Z-MOVE: ⇳ "vG___" v= "x`G__" mm/s
32. -|- LOOP: one comand back, 1× repetition • • • • • • • • • • • • • • • • • • • • • •
33. -|- Z-MOVE: ⇳ "vE___" v= "x`E__" mm/s
34. -|- Z-MOVE: ⇳ "vF___" v= "x`F__" mm/s
35. -|- Z-MOVE: ⇳ "vD___" v= "x`D__" mm/s
36. -|- Z-MOVE: ⇳ "vC___" v= "x`C__" mm/s
37. -|- LOOP: one comand back, 1× repetition • • • • • • • • • • • • • • • • • • • • • •
38. -|- Z-MOVE: ⇳ "vD___" v= "x`D__" mm/s
39. -|- Z-MOVE: ⇳ "vE___" v= "x`E__" mm/s
40. -|- IF "einViertel >0 [s]" THEN: 5 Lines forward
41. -|- Z-MOVE: ⇳ "vE___" v= "x`E__" mm/s
42. -|- Z-MOVE: ⇳ "vD___" v= "x`D__" mm/s
43. -|- LOOP: one comand back, 2× repetition • • • • • • • • • • • • • • • • • • • • • •
44. -|- JUMP 6 Lines forward
45. -|-[40] —(M)—— '... wir betreten feuertrunken Himmlische dein Heiligtum' ———————————————
46. -|- Z-MOVE: ⇳ "vD___" v= "x`D__" mm/s
47. -|- Z-MOVE: ⇳ "vC___" v= "x`C__" mm/s
48. -|- LOOP: one comand back, 2× repetition • • • • • • • • • • • • • • • • • • • • • •
49. -|- Wait: ⌚ "pause"
50. -|-[44]
51. -a- LOOP: to row 21 back, 3× repetition • • • • • • • • • • • • • • • • • • • • • •
52. ———————————————————————————————————————————————————
53. ƒ On User ends IMPro: Jump here _ - (without query!)
54. ——— 'Beschleunigung auf normalen Wert setzen: ' ————————————————————————
55. Z-Axis SET PROPERTIES cur%85 accel70
(Quelltext über automatischen Dokumentierer... Farbcodierung: Variablendefinitionen, Meldungsfenster)
<Falls IMETER tatsächlich für die Herstellung höherer, komplexer Musik verwendet werden sollte, wäre das eine interessante Sache. Man kann die Transponierung z.B. aus dem Luftdruck/Temperatur etc. stimmungsabhängig machen, die dynamischen Möglichkeiten der Motorsteuerungen einsetzen und die I/O-Kanäle für weitere akustische Effekte verwenden. - Das wäre 'mal eine andere elektronische Musik ;-) >