Ragas don’t all have seven tones. There are many ragas with more or fewer notes. Indian classical music usually proceeds mostly in just intonation, with some notes occasionally bent for effect.

I am unsure if that is exactly what you are looking for but it surely helped me.
http://www.plainsound.org/enter.html

here’s some lua code to generate such tables. which i guess i consider better then just the tables.

i think you could use these functions on crow (if crow has access to lua math lib which i assume it does.)

note that the output is voltage offsets from fundamental.

of course to make more octaves, just add 1v per octave.

require 'math'

function log2(x)
    -- math lib doesn't have base-2 log.
    -- so this just uses precomputed log(2) to save some cycles
    return math.log(x) / 0.69314718055995
end

function ratio_semi(ratio) 
    return 12.0 * log2(ratio)
end

function semi_voct(semi) 
    return semi / 12.0
end

--- that's all you really need, but here are some convenience functions

-- given a table of semitones from tonic, return table of voltage offsets
function semitone_scale_voct(scale)
    local n = #scale
    local volts = {}
    for i=1,n do
        volts[i] = semi_voct(scale[i])
    end
    return volts
end

-- given a table of ratios, return table of voltage offsets
function ratio_scale_voct(scale)
    local n = #scale
    local semi_scale = {}
    for i=1,n do
        semi_scale[i] = ratio_semi(scale[i])
    end
    return semitone_scale_voct(semi_scale)
end 

---- test / demo

-- 12tet ionian scale, specified in semitones
local ionian_12tet_semi = {0, 2, 4, 5, 7, 9, 11}
local ionian_12tet_voct = semitone_scale_voct(ionian_12tet_semi)
print("ionian_12tet_volts:")
for _,v in pairs(ionian_12tet_voct) do print(v) end

-- 5-limit just-intoned ionian, specified as ratios
local ionian_ji5_ratios =  {1, 9/8, 5/4, 4/3, 3/2,  5/3, 15/8}
local ionian_ji5_voct = ratio_scale_voct(ionian_ji5_ratios)
print("ionian_ji5_volts:")
for _,v in pairs(ionian_ji5_voct) do print(v) end

output

ionian_12tet_volts:
0
0.16666666666667
0.33333333333333
0.41666666666667
0.58333333333333
0.75
0.91666666666667

ionian_ji5_volts:
0
0.16992500144231
0.32192809488736
0.41503749927884
0.58496250072115
0.7369655941662
0.90689059560851
7 Likes

Besides some of the exotic scales, it’s interesting to play with historic temperaments. Some years ago I retuned 5 or so octaves of my piano to Werckmeister III, which some scholars think was what J.S. Bach used when composing the Well-Tempered Clavier.

I can only manage to play a few of the preludes, but it was a revelation!! The harmonies and (more strikingly to my ear) dissonances made much more sense. I have heard comparisons between 12TET and various historic temperaments on e.g. Youtube, but in person–playing the music and interacting with it–it made a remarkable difference.

I also had the opportunity to collaborate (I was on the modular) with guitarist Steve Flato, who plays a Stratocaster which was re-fretted to a 17 tone just intonation scale. Steve taught me a lot about how to do less. Here’s the video:

5 Likes

Is anyone using Scalia scales on ornament and crime?

I’d love to hear some tips…

Thanks!

The o_C documentation contains a list of scales in cents as well as in DAC values.

Now I’m wondering, if it’s generally possible to use those DAC values with Teletype or if they will be out of tune because of the different DACs of both modules (o_C has 16-bit DACs while those of TT seem to be 12-bit). And in the latter case, would there be an easy way to directly convert between o_C and TT values?

Correct me if I am wrong but I think you could do conversion manually by using following logic:
Teletype uses numbers 0 - 16 384 to represent values between 0 - 10V (which in V/Oct is 10 octaves).
So to use list of scales from o_C documentation I would do the following:
0 - 10V is 0 - 16 384
1V = 1638,4 (but you can’t pass fractional numbers to teletype CV outputs - or at least I am not aware of that)
1 semitone (100cents) = 136,5(3)
1 cent = 1,365(3)
By having the value of one cent you can then just multiply the cents values from o_C wiki by 1,365(3) and you will get approximated value which you can pass to teletype CV out. For convenience I would probably input those values to tracks in tracker mode so then selected variable can be used as an scale step index.

2 Likes

I found it to be a little more accurate to just use the N function to get semitone values than to compute them.

From there you can tweak to taste for alternative Western temperaments. Alternatively, it’s easier for me to just skip all the math and use a tuner. :slight_smile:

1 Like

Friendly reminder that Teletype has a Just Intonation operator: JI (x) (y)

x is the numerator of the ratio, y is the denominator. The resulting number is the ratio normalled to a 1 v/Oct interval.

5 Likes

Thanks, this looks like a pretty simple way to convert those scales, I’ll try it out. I was also thinking about writing some little conversion script (not a TT script, probably JS or Lua) and then just entering the resulting values in tracker mode.

I already played around with the JI operator and also did some reading about Just Intonation. I think I get the basic principles, however, I’m still figuring out how to actually construct Just Intonation scales (i. e. figuring out the “right” X and Y values).

I wrote such small script to parse data from: https://ornament-and-cri.me/predefined_scales/#tritaval-scales and convert semitones to teletype DAC values:
teletype-scales.txt (35.9 KB)
EDIT:
Also here is an html version for those who can’t download file ATM:
http://firmanty.com/teletype/scales.html

12 Likes

Wow, this is great and exactly what I was looking for. I had found the ornament and crime page yesterday morning and it’s interesting to see that this thread evolved a similar line of thinking (I had planned on doing the conversion).

2 Likes

I am glad you found it helpful. But it ocurred to me that teletype values for non octave scales are probably broken (sorry about that) so I will fix that late in the evening or tomorrow.
The values listed are only for one octave but adding to these values V Octave should offset these values.

1 Like

Also for Teletype and / or DX7II users, I made this chart that I’ve found to be a good jumping off point for exploring non-equal temperament tunings within a relative 12tet framework.

6 Likes

Wow this is great. Thank you for sharing!

1 Like

I just now noticed this thread; I didn’t realize it mentions me (albeit on a different forum).

I’ll start by sharing a blog post about an unequal temperament I devised: http://prairieboxes.blogspot.com/2019/08/a-cosine-derived-well-temperament.html

I’m glad this was found to be interesting or useful outside its initial context! I have some other posts on that forum that are relevant. (See below; they are in context in this reply.)

I have contributed over there a bit (in the past year), and I got that impression a bit. Also that some users are discovering this stuff on their own terms, without a formal mathematical foundation and using the site to document their investigations (using their own terms). This isn’t bad in itself, but not particularly helpful if you’re just looking for a reference.

A little number theory would go a long way in making more sense of it.

There’s a lot of good stuff on Kraig Grady’s anaphoria. He has the archives of Erv Wilson.
He’s also a main contributor to the journal Xenharmonikon.

I have made use of Grady’s “Centaur” 7-limit just tuning. Here’s something I did for the Disquiet Junto earlier this year:

Some monophonic synths use a resistor ladder to develop the voltages. The tolerance of these resistors is one source of tuning error.

Some electronic organs and synths use a “Top Octave Generator” which approximates equal temperament with rationals that can be implemented in a counter circuit.

I discussed both of these (and emulating them) on the Sequential forum here: https://forum.sequential.com/index.php/topic,3487.msg37298.html#msg37298

If anyone has interest in the Scala files for these, let me know. The files linked on the post are MTS formatted MIDI SysEx files.

In the days before Melodyne, Joe Monzo did a nice blues microtonal analysis: A Microtonal Analysis of Robert Johnson’s “Drunken Hearted Man”.

I like the term “mesotonal” (I think coined by Kraig Grady) for scales that are not traditional 12TET, just intonations, or related temperaments. He applies it for scales that still have about 12 tones per octave, reserving “microtonal” for scales with much more than 12. (By extension, “macrotonal” describes scales with much less than 12 tones per octave.)

Of course the term “Xenharmonic” is apt for scales that don’t relate closely to known scales used by Earth cultures.

3 Likes

The best and only microtonal pop song I know of. Are there others?
5 Likes

I always have trouble telling whether something is “pop” but these are at least examples of vocal music using some non-12EDO scales:

Nadah El Shazly (Arabic alternative music):

Brendan Byrnes’s Neutral Paradise (microtonal 80’s synthpop pastische):

Elaine Walker (I don’t know what genre this would be but the tuning is Bohlen-Pierce):

5 Likes

Wow, thanks for turning me on to Nadah. What a talent.

1 Like

Thanks for that! I wonder if the scale is traditional, something innovated from the traditional arabic 24-tone set, or something else.

I prefer Byrnes’ (mostly) instrumental album Micropangaea. This is my favorite track.

The “liner notes” used to be on micropangaea.com, but now you have to get them from the Wayback Machine:

This piece was written for 6 standard fretted guitars tuned to notes of 17 EDO. Since perfect 4ths and 5ths are only a few cents off the ones found in 12 EDO, the guitars could be played on frets 5, 7,12, and 17 and always remain very close to the sound and tuning of 17EDO if not perfectly accurate. Most of the guitar parts are interlocking and hocketed melodies, with most of the harmonic accompaniment and bass handled by an electronic backing track. In order to minimize confusion while composing the piece, I put colored stickers representing each guitar pair (guitar parts were mostly doubled) on a keyboard to keep track of which notes were playable by which guitar.

Even though the hocketing was a side-effect, I think it ends up being a big part of the charm of the track.

I like that her tracks on Bandcamp always state which tuning is in use:

1 Like