Scala logo

Computerprogramma Scala voor toonschalen

Scala is een programma dat een groot aantal mogelijkheden biedt voor het experimenteren met toonschalen en stemmingen. Alle soorten stemmingen zoals reine stemmingen, evenredig zwevende en ongelijkzwevende temperaturen, microtonale toonschalen, cultuurgebonden toonschalen, enz. kunnen ermee berekend, geanalyseerd en beluisterd worden. Men kan bestaande toonschalen veranderen of nieuwe construeren volgens verschillende methoden, ze opslaan, vergelijken en combineren. Van een willekeurige toonschaal kunnen een groot aantal karakteriserende eigenschappen worden vastgesteld. Van een reine stemming kan het tonenrooster zichtbaar worden gemaakt. Een aantal gangbare typen synthesizers (Yamaha, Ensoniq, E-mu, Roland) kan ermee gestemd worden via een MIDI-verbinding. Ook kunnen geluidskaarten en software-synthesizers gebruikt worden om mee te experimenteren. Een interessante mogelijkheid is verder dat bestaande MIDI-files in een andere stemming omgezet kunnen worden door middel van pitch-bend commando's. Of men kan vanuit een (microtonale) partituur in een tekstbestand een klinkende MIDI-file produceren of andersom. Verder kan real-time met een MIDI-toetsenbord via Scala muziek in iedere stemming worden gespeeld.

Het aantal functies beloopt in de honderden. Scala is daarmee het meest uitgebreide programma op dit gebied. Er is verder een archief van meer dan 4700 toonschalen voor beschikbaar. Het programma is door mij in de loop van vele jaren geschreven. De verzameling toonschalen is met hulp van anderen gegroeid.

De ingebouwde Engelstalige help-functie biedt uitleg over alle mogelijkheden. Er is ook een lijst met korte tips bij over het gebruik, en waarin kort uitleg wordt gegeven over een aantal begrippen. Voor uitgebreidere achtergrondinformatie wordt naar de literatuur verwezen.

De vorm waarin toonschalen worden opgeslagen is flexibel. Ze staan in leesbare tekstbestanden, een per bestand, en er is geen beperking aan het aantal tonen. Het bestandsformaat is als volgt: regels beginnend met een uitroepteken worden genegeerd. De eerste regel bevat een korte beschrijving. De tweede regel bevat het aantal tonen. Daarna komen de toonhoogten, een per regel, geschreven als breuk ofwel als cents-waarde. Als het getal een punt bevat is het in cents. De nulde toon met waarde 1/1 of 0.0 cents is impliciet aanwezig geacht en staat niet vermeld. Zie ook Scala scale file format. Een voorbeeld:

! meanquar.scl
!
1/4-comma meantone scale. Pietro Aaron's temperament (1523).
 12
!
 76.04900
 193.15686
 310.26471
 5/4
 503.42157
 579.47057
 696.57843
 25/16
 889.73529
 1006.84314
 1082.89214
 2/1

Er is ingebouwde kennis van intervalnamen, modi, notatiesystemen en akkoorden. Hiermee kunnen automatisch modi en akkoorden herkend worden, en bij toonhoogten worden notennamen of intervalnamen aangegeven. De gebruiker kan zelf namen van modi en intervallen aanvullen of veranderen. Het aantal notatiesystemen bedraagt meer dan 400.

Bij het stemmen van synthesizers is het mogelijk om bij het toewijzen van tonen aan toetsen een willekeurig al dan niet repeterend patroon van toetsen op te geven per octaaf (of ander repetitie-interval). Zo kan per toonschaal een optimale toetsenbord-afbeelding gemaakt worden, hoewel het natuurlijk bij meer dan 12 tonen per octaaf met een standaard klavier behelpen blijft. Zo'n afbeelding (mapping) kan in een bestand worden bewaard. Er zitten verschillende als voorbeeld bij het programma.

Gevorderde gebruikers kunnen met de commandotaal van Scala zelf eenvoudig programma's schrijven om nieuwe functies te creëren. Er zitten daartoe voorbeeldprogramma's bij. Bijvoorbeeld voor het maken van toonschalen gebaseerd op drieklanken, Fokkers kringspiegelingen, enz. Maar er zijn ook diverse ingebouwde functies voor het maken van toonschalen zoals evenredig zwevende stemmingen, Euler-Fokker toongeslachten, Pythagoreïsche-, middentoon- en harmonische stemmingen, en Partch "diamonds".

Vanaf versie 2.0 heeft het een grafische interface die beschikbaar is voor Windows, Mac OSX en Linux en het is gratis te downloaden. De versie daarvoor, 1.86, draait onder Windows 95 of hoger (in een console-venster), Mac OSX of Linux en kan ook worden gedownload.

Scala is geschreven in de programmeertaal Ada.

Schermplaatjes, klik er op voor een groter plaatje:

Downloaden

Meer informatie

Scala is geschreven door Manuel Op de Coul. E-mail: coul@huygens-fokker.org voor vragen of verbetersuggesties.