Scala Home Page
Scala Home Page
Scala is a powerful software tool for experimentation with musical tunings, such as just intonation scales, equal and historical temperaments, microtonal and macrotonal scales, and non-Western scales. It supports scale creation, editing, comparison, analysis, storage, tuning of electronic instruments, and MIDI file generation and tuning conversion. All this is integrated into a single application with a wide variety of mathematical routines and scale creation methods. Scala is ideal for the exploration of tunings and becoming familiar with the concepts involved. In addition, a very large library of scales is freely available for Scala and can be used for analysis or music creation.
Great care has been taken to make Scala's functions and operations very general. The range of parameter values that commands accept is made as general as possible. Often various forms of input are allowed. No arbitrary restrictions are made. Scales are stored in a flexible format. Intervals can be entered and saved as either ratios or cents values and be intermixed within a scale.
Constructing scales from scratch is one of Scala's strengths. Kinds of scales that can be made with Scala include: equal temperaments, well-temperaments, Pythagorean (meantone) scales, Euler-Fokker genera, Fokker periodicity blocks, harmonic scales, Partch diamonds, Polychordal scales, Dwarf scales and Wilson Combination Product Sets. In addition, a set of command files is included to build other kinds of scales such as triadic scales, circular mirrorings, circulating temperaments, etc., and to serve as examples.
Features Download Distribution References
Examples Help Index Related Links
Features
Graphical user interface. It incorporates the command line interface of the old console version but also provides dialogs for almost all functions. The remaining functions can be used by typing Scala commands.
Plays scale tones via the soundcard. Several screens allow different playing with tones of a scale via the soundcard's MIDI synthesizer or external MIDI instrument.
Command line interface that recognises more than 850 commands for scale analysis and manipulation. They are case insensitive and most can be abbreviated. In addition, the command syntax includes powerful features similar to those of a programming language.
Extensive on-line help. The built-in help function describes every command in detail and also includes useful information on other related topics. The help text is in HTML so you can view it with a browser and print it. In addition, the "tip of the day" function provides many useful hints and introduces features.
Extensible functionality through command scripts. You can create a script file containing Scala commands with any text editor, and then execute it inside Scala.
Can capture screen output to text files. Exporting scale data to other music software, such as Csound, is straightforward. A set of lexical functions is provided to convert program data to text.
Exports tuning data to a variety of synthesizers with an internal tuning table. You can save tuning data in a MIDI file or send it directly to your instrument or sound card. Supported tuning dump formats include among others:
AccSone crusherX, crusherX-Mac! Alphakanal Automat Aodyo Instruments Anyma Phi Arturia Pigments Ashun Sound Machines Hydrasynth Audio Damage Quanta, Phosphor BeepStreet Sunrizer Big Tick Angelina, Rainbow and Rhino softsynths Biptunia Synths Microtone 5000, Simple Microtonal Sampler, Freakbone 9000 Bitheadz Unity softsynth Cakewalk Dimension Pro Cakewalk Rapture Cakewalk Z3ta+ softsynth Camel Audio Alchemy and Cameleon5000 softsynths Casio AT-3, AT-5, CTK-6000, CTK-6200, CTK-6250, CTK-6300, CTK-7000, CTK-7200, CTK-7300, WK-6500, WK-6600, WK-7500, WK-7600 Celemony Melodyne 2 ChucK DashSignature EVE one (not two) DaTuner Dave Smith Instruments OB-6, Prophet 6, Prophet 12 and Pro 2 Devine Machine OTR88 E-mu Morpheus E-mu Proteus series Ensoniq EPS/EPS16/ASR10 Ensoniq TS-10/TS-12 EplayOrgan virtual organ Fluidsynth and Qsynth softsynths FXpansion Strobe2 Hauptwerk virtual organ HERCs series, Abakos Pro softsynths H-Pi Instruments microsynth and Xentone Humdrum hum2mid program Image-Line Harmor Kemper Digital Virus Korg M1, M1R octave tuning dump Korg X5DR octave tuning dump Korg OASYS PCI soundcard (and softsynths supporting its .tun tuning textfile) LinPlug Albino 2, Alpha 2, CronoX, MorphoX, Octopus, Organ 3, SaxLab and Spectral softsynths Macomate 88 VST Manytone ManyStation, ManyGuitar, ManyOne softsynths Marion Systems MSR-2 Mark Henning AnaMark softsynth Max/MSP Max Magic Microtuner for Max/MSP and Pluggo softsynths MICROTONE 5000 MIDI Tuning Standard (both bulk tuning dump and single-note tuning change, 3 byte), supported in Timidity and Audio Compositor, E-mu: Proteus 3, UltraProteus, Audity/Proteus 1000 and 2000 series, Virtuoso 2000, Proteus FX, Hydrasynth, Biptunia Synths, FabFilter Twin 3, Orbit, Planet Phatt, B3, Carnaval, Ensoniq: ASR-X, MR Rack, MR-61, MR-76, ZR-76, Turtle Beach: Multisound, Monterey, Maui, Tropez, Rio MIDI Tuning Standard 2-byte octave tuning dump MIDI Tuning Standard 1-byte octave tuning dump MIDI to CSound Modartt Pianoteq 4 Modor NF-1, NF-1m MOTU Ethno 2 and Digital Performer Mutagene Mukoco, Macomate 88 Novation Bass Station II, Peak, Summit Omringen Oblivion OpenMPT ModPlug Tracker Native Instruments Absynth 2 (via .gly file) Native Instruments FM7 and Pro-52, Pro-53 Native Instruments Kontakt 2 (via script file) Native Instruments Reaktor (via semitones file, frequency file or NTF file) Oberheim OB-Mx Plaka Physical Modeling softsynth Plugin Boutique VirtualCZ Pure Data Rob Papen Predator 3, Quad, Vecto, RoCoder Robin Schmidt's Straightliner softsynth Roland GS & JV/XP families Roland Fantom-X6/X7/X8 Roland V-Synth Version 2.0 Roland Virtual Sound Canvas, SC-8850 Scale Workshop Simple Microtonal Sampler Simple Microtonal Synth Smart Electronix Foorius Sobanth Spectrasonics Omnisphere softsynth Stone Voices PolyGAS Synapse Audio Orion Pro softsynth Synthesis Technology MOTM-650 Synthogy Ivory TAL BassLine-101, J-8, Mod, Sampler, U-NO-LX ThumbJam Timidity MIDI to audio renderer Tobybear Helios softsynth and MicroTuner VST plugin Togu Audio Line TAL-Sampler, TAL-BassLine-101, TAL-U-NO-LX TransFormSynth Tubbutec 1oh1 µTune TuneLab U-He Zebra2, ACE, DIVA and Bazille UVI Falcon VAZ Plus, 2001 and Modular softsynths VirSyn Cube, Poseidon and TERA 2 softsynths Waldorf Wave, Microwave and Quantum Wallander Instruments WIVI Standard and Professional WayOutWare TimewARP 2600 Wusik Station, Wusik 8000 and Ravernator Xen-Arts IVOR2, XenFont2 and Xenharmonic FMTS Xenharmonic FMTS VSTi Xfer Records Serum Xponaut Voice Tweaker Yamaha DX7II/TX802 Yamaha SY77/TG77/SY99/VL-1/VL-7 Yamaha TX81Z/DX11/V50 (both octave and full keyboard bulk data) Yamaha XG family Yamaha VL70m Zebra 2.0 softsynth Zefer Serum
Nowadays many software synthesizers like AlsaModularSynth, Tobybear Helios, MAZ Sound VSampler, Orion Pro, VirSyn Cube, Cantor, TERA 2, rgc:audio z3ta+, Cakewalk Rapture, and Yoshimi have adopted the Scala scale file format (see for a complete list) as a means to tune them instead of with a native tuning dump file. There's also a do-it-yourself hardware synth: PreenFM2 frequency modulation sound generator Other instruments can be supported through modification of an external data file, if the system exclusive data format is straightforward. Not all synthesizers have microtuning support in the form of a tuning table, or one with sufficient resolution, and therefore cannot be directly tuned by Scala. Hopefully more future synthesizers will be equipped with a full keyboard variable tuning capability. Be careful to check this before you buy.
Flexible keyboard mapping. For scales containing more or less than 12 tones per octave, you can easily assign scale degrees to the standard piano keyboard by using a keyboard mapping. Scala supplies an example set of keyboard mappings for scales of various sizes that you can quickly adapt to your needs.
Can retune existing MIDI files. You can convert a standard MIDI file to be in any tuning via pitch bend commands or a MIDI Tuning Standard tuning specification.
Can relay real-time MIDI. You play on a MIDI keyboard to a soundcard or external MIDI instrument and have the tuning changed via pitch bend commands. This way you don't need an instrument with microtuning support in order to play in a given tuning.
Can create MIDI files from a microtonal score. The score is a text file which can be created with an editor or generated from a MIDI file by Scala. The format is described in Scala sequence file format. The tuning is done either with pitch bend commands or MIDI Tuning Standard real-time single-note changes.
Recognises more than 3300 musical modes. You can check any scale to see if it approximates an existing mode.
More than 800 note naming systems built in. Notes can be named and shown in a consistent way with microtonal accidentals.
Recognises more than 900 chords. You can check the occurrence of these chords in any scale.
Recognises more than 650 rational intervals.
Recognises more than 6600 regular temperaments. You can check the name by giving a generator and period.
More than 5200 scales available. Download these for free from this website, see the Download page.
Can create WAVE files with sinewave chords with arbitrary partials which can decay independently.
Reliable. Scala is written in the programming language Ada.
Available on multiple platforms: Windows, GNU Linux, MacOS X (10.4 or higher) and Unix, see the Download page.
Free. Please read the distribution section below.
See examples of some of Scala's features.
Screenshots
Click on the pictures to get a larger image.
Distribution Scala was created by Manuel Op de Coul in the Netherlands. E-mail: coul@huygens-fokker.org Suggestions for improvements are always welcome. Contact the author in the event of questions or problems.
User interface languages available: English and Dutch. Help to create more translations is welcome.
Scala is freeware without warranty and may not be sold, modified, or distributed for sale in combination with commercial products. It may only be distributed as one package containing all the files mentioned here and for free. Go to the Download page.
Related Links
Ada programming Ada programming language Bibliography of tuning literature ChucK Csound Gervill software synthesizer Get Ada Now Huygens-Fokker foundation Learning Ada List of microtonal software plugins List of regular temperaments in Scala loopMIDI (Windows) Microtonal music on CD Microtonal Synthesis: tuning capabilities of synthesizers Pocket Gamelan (about Scala and Pd) Scala for dummies Scala home page in Chinese Scala scale file format Scala sequence file format Timidity MIDI to sound converter Tutorial for creating TUN files with Scala (AnaMark, VAZ Plus, 2001, Modular; Big Tick Angelina, Rainbow, Rhino; LinPlug Albino2, Alpha2, CronoX, Octopus; Cameleon5000; VirSyn Cube, Tobybear Helios, TERA 2, Wusik WusikStation, Zebra 2.0, etc. softsynths) Using Scala to retune common practice music in meantone Xenharmonic (microtonal wiki) page about Scala
Development software Scala was developed in Ada with the following excellent free tools:
Excel Writer GNAT: Gnu Ada Translator GtkAda Gtk+ Zip-Ada
27 Nov 2026 |
Scala is a powerful software tool designed for experimentation with musical tunings, offering a comprehensive suite of features for scale creation, analysis, and manipulation. Created by Manuel Op de Coul in the Netherlands, it supports a wide range of tunings, including just intonation, equal and historical temperaments, and microtonal scales—spanning Western and non-Western musical traditions. The application’s strength lies in its ability to construct scales from scratch, providing users with the flexibility to explore diverse musical systems.
The software incorporates a graphical user interface alongside a command-line interface, enabling both novice and experienced users to effectively utilize its capabilities. It possesses an extensive library of over 5200 scales accessible for free download, categorized by temperament, mode, and period. Scala’s interface allows for real-time scale changes using pitch bend commands or MIDI Tuning Standard specifications, facilitating experimentation with various tunings in real-time through a MIDI keyboard or soundcard.
Key features include the generation of WAVE files with sinewave chords containing arbitrary partials—capable of independent decay—and the capability to convert standard MIDI files into any desired tuning. Scala supports over 3300 musical modes, allowing you to check any scale to see if it approximates an existing mode. The application recognizes more than 800 note naming systems, displaying notes with microtonal accidentals in a consistent manner, and supports more than 900 chords. Scala’s core is written in the Ada programming language, utilizing tools such as Excel Writer, GNAT, GTKAda, and GTK+. It is available for Windows, GNU Linux, MacOS X, and Unix operating systems.
The software's architecture facilitates modularity and extensibility, offering the ability to create scripts for customized scale generation and manipulation using Scala sequence files and adapting to external data files for synthesizers. Scala caters to a diverse range of synthesizer types, including those with microtuning support (such as AlsaModularSynth, Tobybear Helios, VirSyn Cube, and others) along with traditional sound synthesis instruments supporting its scale file format. Scala’s capabilities extend to real-time MIDI relaying through a MIDI keyboard, allowing for instantaneous adjustments in tone using pitch bend commands. The development relies heavily on a strong community and ongoing user support. |