Scala Home Page

Scala is a powerful software tool for experimentation with musical tunings, such as 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 Features Examples 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. Download Help Index

Distribution Related Links

References

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 or external MIDI instrument.

Command line interface that recognises 800 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 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:

Alphakanal Automat BeepStreet Sunrizer Big Tick Angelina, Rainbow and Rhino softsynths 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 crusherX-Mac! DashSignature EVE one (not two) DaTuner Dave Smith Instruments 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 Fluidsynth and Qsynth softsynths Hauptwerk virtual organ HERCs series, Abakos Pro softsynths H-Pi Instruments microsynth and Xentone Humdrum hum2mid program Image-Line Harmor Kemper Digital Virus M1, M1R 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 Manytone ManyStation, ManyGuitar, ManyOne softsynths Marion Systems MSR-2 Mark Henning AnaMark softsynth Max/MSP Max Magic for Max/MSP and Pluggo softsynths 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, 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 MOTU Ethno 2 and Digital Performer Mutagene Mukoco, Macomate 88 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 file, frequency file or NTF file) Oberheim OB-Mx Plaka Physical Modeling softsynth Pure Data 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 Smart Electronix Foorius Spectrasonics Omnisphere softsynth Synapse Audio Orion Pro softsynth Synthesis Technology MOTM-650 Synthogy Ivory ThumbJam Timidity MIDI to audio renderer Tobybear Helios softsynth and MicroTuner VST plugin TuneLab U-He Zebra2, ACE, DIVA and Bazille VAZ Plus, 2001 and Modular softsynths VirSyn Cube, Poseidon and TERA 2 softsynths Wusik Station, Wusik 8000 and Ravernator Xponaut Voice Tweaker Yamaha DX7II/TX802 Yamaha SY77/TG77/SY99/VL-1/VL-7 Yamaha TX81Z/DX11/DX27/DX100/V50 (both octave and full keyboard bulk data) Yamaha XG family Yamaha VL70m Wallander Instruments WIVI Standard and Professional WayOutWare TimewARP 2600 Wusik Wusikstation v2 Xen-Arts IVOR, XenFont and Xenharmonic FMTS Xenharmonic FMTS VSTi Xponaut Voice Tweaker 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 2200 musical modes. You can check any scale to see if it approximates an existing mode.

More than 550 note naming systems built in. Notes can be named and shown in a consistent way with microtonal accidentals.

Recognises more than 700 chords. You can check the occurrence of these chords in any scale.

Recognises more than 450 rational intervals.

Recognises more than 4000 regular temperaments. You can check the name by giving a generator and period.

More than 4500 scales available. Download these for free from this website, see the Download page.

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: [email protected]

Suggestions for improvements are always welcome. Contact the author in the event of questions or problems.

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 Bibliography of tuning literature ChucK Csound DX7 home page Gervill Get Ada Now Huygens-Fokker foundation List of regular temperaments in Scala on CD Microtonal Synthesis: tuning capabilities of synthesizers MIDI Tuning Standard MIDI Yoke (Windows) loopMIDI (Windows) 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 Tuning List (For discussions and questions about Scala features) 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 Glade GtkAda Gtk+ Zip-Ada

31 Mar 2016