Egyéb zeneelméleti skálák
Továbbra is keressük a "Zenei Mindenség Elméletét", azt a képletet, amelyik képes egyetlen formulában leírni Beethoven 5. szimfóniáját ☺. A jelen fejezetben Fonyó Ádám építőmérnök siet segítségemre; az alább olvasható rendkívül magas szintű értekezés az ő munkája.
Az alapskálák leírása a matematika segítségével
A probléma, amire ebben a részben megoldást keresek, hogy miként lehet az alapskálákat egy olyan matematikai szerkezettel leírni, melynek segítségével kirajzolhatóak egy skálának a hangjai például egy grafikonon.
Először foglalkozzunk az alapskálákkal. Itt könnyebb dolgunk van, mint mondjuk egy harmonikus moll skálaszerkezettel, de azért nem olyan könnyű, mint egy szűkített skálaszerkezettel.
Első dolgunk, hogy a skála hangjait egyszerűsítsük, ezért a hangok elnevezésétől el kell tekintenünk, helyettük a temperált hangrendszer hangjait számokkal jelöljük:
-
C
-
Cisz
-
D
-
Disz
-
E
-
F
-
Fisz
-
G
-
Gisz
-
A
-
Aisz
-
H
Lássuk a C-dúr hangjait:
C - D - E - F - G - A - H
Ez a fenti jelölés szerint számokkal leírva:
1 - 3 - 5 - 6 - 8 - 10 - 12
Az már ismeretes a kezdő gitáros számára is, hogy a dúr skála belső szerkezete:
egész - egész - fél - egész - egész - egész
Ezt lefordítva a matematika nyelvére a hangköztávolságok:
2 - 2 - 1 - 2 - 2 - 2
...ahol:
-
egészhang távolság 2,
-
félhangnyi távolság 1.
A skála hangjai különálló hangok, ezért az egyszerűség kedvéért nem függvényt írok a skálaszerkezetre, hanem a skálaszerkezet egyes pontjai egy sorozat egymást követő pontjai lesznek.
Tehát az egész egy számtani sorozat lesz, melynek a képlete:
an=an-1+d
Láthatjuk, hogy ez nem tisztán egy számtani sorozat, mert a d differencia sajnos nem állandó.
Most jön a nehézség: miképpen csináljunk egy olyan függvényt, melynek értékei:
...2 - 2 - 1 - 2 - 2 - 2 - 2 - 2 - 1 - 2 - 2 - 2...
Látható, hogy ezek a számok valamilyen periodicitást követnek. A legegyszerűbb periodikus függvények a szögfüggvények, például a sin és a cos. Mivel a 2 függvény egymásnak 90°-os eltoltja, ezért mindegy, hogy melyiket választjuk. Én számításaimhoz a cos függvényt használtam.
Lássuk is a cos függvény képét:
Láthatjuk, hogy periodikus k*2*π szerint. De ezzel a függvénnyel, hogy érjük el a kívánt ugrásokat?
Az az ötletem támadt, hogy mi volna, ha egységnyi ugrásokat jelentene minden olyan hely, ahol a függvény metszi az x tengelyt és minden további pont kettes egységet jelentene. Tehát eme függvény esetében, hogy is nézne ki a dolog, ha mondjuk az x tengely pontjait besűrítem?
Láthatjuk, hogy így egy számsort kapunk, amelynek periodicitása van:
1, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 1, stb.
Ezután nem nehéz belátni, hogy ha sűrítjük az x tengelyen ábrázolt pontokat, valamint le-, és feltoljuk a függvényt, akkor aszimmetriát tudunk elérni. Olyan aszimmetriára van szükségünk, melynél az egyesek között először 2, majd 3 darab kettes helyezkedik el.
Egy ilyen függvény megalkotásának menete, hogy először kijelöljük a metszéspontokat az x tengelyen. Tudjuk, hogy a maximum helyeknek az adott beosztások felénél kell elhelyezkedniük, így már könnyedén kiszámolható a keresett függvény egyenlete. Lássuk a vázlatot:
Most pedig ki kell számolnunk az osztások mértékét, a feltolás értékét és az egyes alapskálák kezdésének helyét.
A vázlaton látható hogy 3,5 osztás van 2 maximum pont között, tehát π-t legelőnyösebb, ha 7-edekre osztjuk fel. Az látható a vázlaton, hogy a függvény középtengelye fel van tolva. Akkor most lássuk a számolást!
Az alapfüggvény a fenti levezetés alapján:
Ez az a cos függvény, aminek a maximális amplitúdói x=0+k*2π-nél és x=3,5 x=0+k*2π-nél vannak.
Most számoljuk ki, hogy mennyivel van a függvény feljebb tolva. Azt tudjuk, hogy x=2-nél kell egyenlőnek lennie 0-val. Az x=2 helyen a függvény értéke:
Ennyivel kell feltolni a függvényt, tehát a feltolás mértéke:
Meghatároztuk a függvényt és a felfelé tolás mértékét. A következő lépés, hogy leellenőrizzük a függvények értékét, mondjuk x12=12-ig. Hogy kiküszöböljük a negatív értékeket, a függvény abszolút értékével számolhatunk:
Láthatjuk, hogy a számunkra megfelelő periódusosság x3 értéktől kezdődik. Tehát ha a 0 értékeket 1-nek vesszük, a 0-nál nagyobb értékeket 2-nek, akkor megkapjuk a szükséges periódusosságot.
A következő lépésekben a függvényt el kell tolni balra, hogy a megfelelő helyről induljon és be kell ágyazni egy felső-egészrész függvénybe, amely függvénynek jellemzője, hogy az értékkészlet elemeit felfelé kerekíti. Láthatjuk azonban, hogy a legnagyobb értékünk 1.223, de ezt például a függvény elején egy 0.5-ös szorzással könnyedén kiküszöbölhetjük.
Most lássuk ezt a gondolatmenetet sorban (megint vizsgáljuk az első 12 tagot):
Láthatjuk, hogy az első 2 értéktől jön a számunkra szükséges érték. Akkor folytassuk a transzformációt a 0.5-ös szorzással és a felső-egészrész függvénybe történő beágyazással. A matematikai program, amivel a számolást végzem angol nyelvű, ezért a felső-egészrész függvényt a ceil paranccsal tudom elérni, valamint kibővítem az értelmezési tartományt 2 oktáv távolságra:
Nézzük a sorozat kiszámolt értékeit. Ez a sorozat ilyen formán kicsit hasonlatos például a Fibonacci-sorozathoz, abból a szempontból, hogy ahhoz, hogy tudjuk a következő tagot, ismernünk kell az előzőt.
Tehát a sorozat kiszámítása automatizálható és ábrázolható, de sajnos teljes futtatás nélkül nem tudjuk megmondani mondjuk a 23. tagját.
A sorozat:
Itt természetesen figyelni kell az indexelésre. A fenti jelölésrendszerben a 0. elem a hangsor első eleme, ha ezt ki akarjuk küszöbölni, akkor arrébb kell tolnunk a fenti függvényt a megfelelő helyre, vagy egyszerűen csak az n helyére n-1 értéket írunk. Az egyes indexű tag, az a1=1 lesz minden esetben.
Végezetül nézzük meg a sorozatunk eredményét "2 oktávban”:
Megjegyzem, hogy az általam használt matematikai program nem adott teljesen pontos eredményeket, ugyanis a π érték pontossága, valamint a függvény által számolt pontosság eltért, ezért a 2π-nél nagyobb értékek után a 17. tizedesjegyben eltért a számolt érték a 0-tól, így a felső egészrész függvény már nem jó értéket adott.
Több megoldás is van a „hiba” kiküszöbölésére, ha esetleg valakinek a számításban nem megfelelő értékek jönnének ki:
-
a felső-egészrész függvény pontosságát csökkentse (például csak 4 tizedesig vizsgálja az értékeket),
-
a függvényt el kell tolni úgy, hogy a keresett érték –π és π közé essen,
-
a belső függvényértékeket kerekítjük pár tizedesjegy pontosságig.
Ezzel tehát leírtuk a mindenkori dúr skálát. De hogyan írhatjuk le az összes alapskálát? A megoldás rendkívül egyszerű. A fent leírt függvényt kell csak a megfelelő helyre tolni. Az eltolás mértékét az „k” érték határozza meg. (Minden egyes skálához rendelhető, természetesen több ilyen érték is a függvény periódusossága miatt!)
Íme a képlet most már általánosítva:
Egy példa az k értékek meghatározásához:
-
Dúr - k = 4
-
Dór - k = 6
-
Fríg - k = 8
-
Líd - k = 10
-
Mixolíd - k = 12
-
Moll - k = 0
-
Lokriszi - k = 2
Szándékosan más értékeket adtam a mollnak és a lokriszi skálának, szemléltetve a periódusosságot.
Ez természetesen csak egy példa arra, hogyan lehet leírni a matematika segítségével egy skálát. Én egy sorozatot választottam, lehetne függvénnyel, lehetne talán egyszerűbben, vagy komplikáltabban, de amint írtam, ez csak egy megoldás a sok lehetséges közül.