Klopt, een toonladder is niks meer dan een opeenvolging van intervallen. Per definitie kan een toon dan ook maar 1 maal voorkomen. In veel westerse muziek zijn dit 7 intervallen, maar is niet noodzakelijk.
Je voorbeelden geven incorrecte toonladders aan omdat er tussen bijvoorbeeld 3# en 4b geen interval is.
Ik wil alleen maar een lijst generen met alle toonladders die er maken kunnen zijn. Dat ze niet "human readable" zijn heeft te maken met gebrek aan kennis hoe je de ladders moet vertalen. De vertaalslag moet je zelf maken.
Ingdas noemt het hierboven ook al, maar wat is in jouw definitie een toonladder. Moeten het altijd 7 tonen bevatten, of mogen het er ook 6 of 10 zijn? Als je die vrijheid neemt zal het aantal toonladders idd enorm toenemen.
Dat met die twaalf tonen is niet echt noodzakelijk als er een manier zou zijn om te zeggen van:
je hebt een toonschaal waarvan de oorsprong op C majeur ligt.
per positie zijn er 3 mogelijkheden.
Op zeven schaalposities zijn dat er bij elkaar: 21.
Visueel gezien:
code:
1
2
3
| 1# 2# 3# 4# 5# 6# 7#
1 2 3 4 5 6 7
1b 2b 3b 4b 5b 6b 7b |
Dan ga je bepaalde combinaties uitsluiten zoals eerder gegeven:2#, 3b, 3# en 4b(die overigens in een later stadium eruit gehaald worden, want wordt opgeslagen in een temp txt file voordat het in een definitief bestand komt) Killed wel wat performance, maar dat is absoluut mijn dilemma niet.
Ik snap niet waarom je met 21 posities gaat werken als er maar 12 tonen zijn. Je kan ze er wel later uitfilteren, maar waarom niet direct in het begin, het brengt volgens mij geen voordelen. Het gaat om de intervallen, niet om de tonen zelf.
Je hebt gedeeltelijk gelijk. Bij het maken van een toonschaal is het muziektheoretisch niet mogelijk om twee schaalposities te hebben die refereren naar dezelfde toon in dezelfde ladder. Dus als er een combinatie is van 3# en 4b: moet de 4# weggehaalt worden omdat de toon al bezet is.
Er moet inderdaad altijd een interval aanwezig zijn gelijk aan of meer dan een halve toon. Jouw voorbeeld zou eigenlijk ook niet gegenereerd kunnen worden. Waar ik eigenlijk op doelde was in de muziek waarbij de componist besloten heeft tijdelijk (voor een of een handje vol maten) besloten heeft een andere toonladder te gebruiken. Als de componist 4b gebruikt ben je in principe de 4 kwijt in je toonladder voor die maten. Als de componist 3# gebruikt ben je de 3 kwijt in de toonladder. Hoewel het absoluut dezelfde toon is, is de intentie/interpretatie dus wel degelijk anders. Maar ik denk dat dit buiten het probleem valt.
Daar ben ik dus ook benieuwd naar want ik dacht aanvankelijk dat het mogelijk was om de gegenereerde schalen ergens op te slaan(in een char array bijvoorbeeld). En de grootste uitdaging: het genereren en weer opslaan ergens. Je idee zou opzich wel kunnen. Dat zou dus ook een voordeel kunnen zijn voor het maken van "human readable".
Nu ik begrijp wat je wilt bereiken zou ik het heel anders aanpakken. Ik zou een toonladders als volgt noteren (interval 1 = halve toonafstand):
code:
1
2
| {interval1} {interval2} {interval3} {interval4} bv:
2 2 1 2 2 2 1 (= majeur toonladder) |
De grondtoon is irrelevant, want de toonladder blijft altijd gelijk.
Aanvankelijk wilde ik kijken bij de nieuw gemaakte onbekende toonladders om akkoorden en arpeggio's te maken.
akkoorden en arpeggios zijn tevens gedefinieerd door vaste intervallen en eigenlijk onafhankelijk van de gebruikte toonladder. Een c-majeur akkoord in een muziekstuk geschreven in c-mineur zal nog steeds aan majeur akkoord zijn (en het zal vreemd klinken;))
Want in mijn beleving wordt er in de westerse muziek te veel gebruik gemaakt van dezelfde toonladders terwijl er gigantisch veel meer gebruikt kunnen worden. Punt alleen is dat de aantal combinaties gigantisch veel zijn. En ik had geen zin om ze op te schrijven. Het aantal schalen zullen tegen de honderden lopen denk ik. Zoniet duizenden.
Het zal in iedergeval een goeie stresstest zijn voor mijn comp.
Tja er zullen ongetwijfeld veel meer toonladders zijn die we niet vaak horen, denk bijvoorbeeld aan het typische chinese gepingel waar we onszelf weinig in kunnen vinden. Je begeeft je wel op een glad vlak want de reden dat veel toonladders niet worden gebruikt is omdat ze simpelweg niet lekker in het gehoor liggen. Dat is een biologisch verschijnsel. Eveneens is er ook een cultureel aspect waarbij wij gewend zijn aan bepaalde toonsoorten.
Wel interessant onderwerp though

Maar ik zou proberen nog wat te lezen over muziektheorieen, er is natuurlijk al heel veel bekend over het gebruik van toonladders, arpeggios en akkoorden. Ik denk dat het zal helpen bij het maken van je toonladder generator. succes ermee