back to list

Re: [tuning] Re: 2401:2400 (was:: Marc Jones EDOs)

🔗graham@microtonal.co.uk

2/20/2002 9:12:00 AM

In-Reply-To: <013301c1ba18$428553e0$af48620c@dsl.att.net>
monz wrote:

> thanks, Graham. i asked quite a while ago if that notation
> was correct or misleading etc., and no-one ever answered me.

I thought I replied and said it wasn't. But that was in the context of
matrices.

> so how about if i write [2 3 5 7]**[-5 -1 -2 4] ?
>
> i prefer to keep the prime series in the notation if possible.

There are programming languages that define the usual arithmetic operators
to be element-wise. Such as Fortran90, Numeric Python and I think
Matlab. So in such a context your notation would almost work. The only
thing missing is the implied product to get you from [1/32, 1/3, 1/25,
2401] to 2401/2400.

You could also write it explicitly as a matrix product

.[log(2) log(3) log(5) log(7)][-5]
. [-1]
. [-2]
. [ 4]

or a wedge product

val([log(2) log(3) log(5) log(7)]) ^ [-5 -1 -2 4]

or even

log(val([2 3 5 7])) ^ [-5 -1 -2 4]

if you decide to define the logarithm of a val. Note that these versions
all define the relative pitch rather than ratio of the interval.

The nearest I can with my Python library as it stands is

>>> (
... Wedgable(map(temper.log2, (2, 3, 5, 7))).complement()
... ^ (-5, -1, -2, 4)
... ).invariant()[0]
0.00060099773453625716

I could add shortcuts for converting ratios and wedgies to pitches if you
want them. Maybe even get

scalar(val(pitches(2, 3, 5, 7)) ^ (-5, -1, -2, 4))

to work. You could always define a magic function

Interval([2 3 5 7], [-5 -1 -2 4])

as part of your terminology.

Graham