See also dissonance theory etc.
Scala (No, not the JVM language, the Ada-based musical tuning software) is a strange creature, written by another strange creature, Manuel op de Coul. He (they?) also maintains a comprehensive tuning bibliography.
A crazy-weird wonderful, painful ghetto of theoretical tuning. The author is as brilliant as he is troublesome, and you must pay for the delicious tuning knowledge in this software by navigating the labyrinth he built around it.
The software has many brilliant but abstruse features, few of which repay the time investment, because you have not time left after the lengthy battle with the installation process. However, the database of scales, and the easy conversion between different tuning formats is awesome, and pretty simple once you have got the damn thing running.
tl;dr The Scala software is a horrible mess, and maintained by one lone crazy guy with opinionated ideas about software that are unlikely to match yours. Unless your needs are particular, I’d recommend downloading the library of tunings only and using music21 or supercollider to play those tunings without wasting time on installing this peculiar and fragile setup.
Recommended: install on a linux VM.
Everything else requires too much dicking around with the author’s brazenly inconvenient, outdated and opinionated installation system, which requires you to install things in places you’d rather not, using versions you’d rather not.
The damn thing is written in Ada, which is famously used by the International Space Station and the Paris metro, but those folks are too busy to offer you any tech support. Suck it up, find a way of minimizing the nonsense.
On a gtk-friendly ubuntu VM, for example:
sudo apt-get install dkms # Virtual machine helpers sudo apt-get install aconnectgui gnuplot libgnat-4.9 playmidi timidity \ timidity-interfaces-extras wget http://www.huygens-fokker.org/software/scala-22-pc64-linux.tar.bz2 \ http://www.huygens-fokker.org/docs/scales.zip
That didn’t quite work for me; I had to install ALL of GNU Ada:
sudo apt-get install gnat
…which is 200MB of wasted disk space. There’s probably a smaller subset that is necessary, but, seriously now, snore.
MIDI might be tricky, but is worth it.
sudo apt-get install timidity timidity-interfaces-extra (printf '[Desktop Entry]\nEncoding=UTF-8\nName=Timidity MIDI Player\nComment=Play MIDI audio files\nExec=timidity -ig\nTerminal=false\nType=Application\nStartupNotif y=false\nMimeType=audio/midi;\nCategories=Application;AudioVideo;\n#Icon=? ??\n#NoDisplay=true\n') | sudo tee /usr/share/applications/timidity.desktop sudo cp /usr/share/applications/defaults.list /usr/share/applications/defaults.list.backup.midi if ! cat /usr/share/applications/defaults.list | grep “audio/midi”; then (printf 'audio/midi=timidity.desktop\n') | sudo tee -a /usr/share/applications/defaults.list; else sudo sed -i -e'[email protected]/midi.*[email protected]/[email protected]' /usr/share/applications/defaults.list; fi; wget -c -O /tmp/timidity-patches-eaw http://www.fbriere.net/debian/dists/...iere.1_all.deb sudo dpkg -i /tmp/timidity-patches-eaw.deb sudo sed -i.backup -e'[email protected] /etc/timidity/[email protected] /usr/share/doc/timidity-patches-eaw/examples/[email protected]' /etc/timidity/timidity.cfg sudo modprobe snd-seq-device sudo modprobe snd-seq-midi sudo modprobe snd-seq-oss sudo modprobe snd-seq-midi-event sudo modprobe snd-seq timidity -iA -B2,8 -Os1l -s 44100 (printf 'snd-seq-device\nsnd-seq-midi\nsnd-seq-oss\nsnd-seq-midi-event\nsnd-seq\n') | sudo tee -a /etc/modules sudo sed -i -e'[email protected]#[email protected][email protected]' /etc/default/timidity
Are you using a recent version of Ubuntu (or some other Linux distribution, but for those the instructions might need to be tweaked)? Are you using Scala but the Chromatic Clavier doesn’t work? Here’s what you need to do:
- Open up a terminal and run sudo modprobe snd-virmidi. To make this happen automatically when you boot up, add snd-virmidi as a new line to the file /etc/modules (otherwise you’ll need to run modprobe snd-virmidi every time).
- In Scala, go to Chromatic Clavier and then go to Sound Settings. Because of the first step, there should now be some choices available for MIDI Output Device. Pick the one with a 0 in the name (something like /dev/snd/midiC1D0).
- In your favorite MIDI connection manager (I use aconnectgui), the MIDI output from Scala will now be available as Virtual Raw MIDI 1-0 or VirMIDI 1-0. You can now connect that to a softsynth or hardware MIDI device of your choice.
Have fun with the Chromatic Clavier!The reason this is necessary, I think, is that Scala uses a legacy “raw” MIDI interface from the days when everyone had MIDI synthesizers (with crappy-sounding soundfonts) on their soundcards, and programs used to access those directly. The snd-virmidi kernel module creates a “virtual” MIDI-enabled soundcard that’s really just a way to get Scala’s MIDI output to appear as a normal MIDI output port.
Actually, even after doing all that I couldn’t make MIDI output work. I don’t care any more; fuck it. Download the data sets and use them how you want but don’t depend upon this.