back to list

Re: Compositional methods

🔗Robert Walker <robertwalker@...>

8/7/2001 8:02:48 PM

Hi Carl,

> > I thought I'd invented the idea of a fractal tune when I first
> > started on FTS actually, then discovered this whole active field
> > of algorithimic composition.

> Wow!

Well, actually with hindsight, quite a natural idea as I'd been doing some
work on fractional dimensions in fractals, so applying fractals to
music was a natural thing to do. But somehow was surprised to find
it had been done already. It was well after the first release
of the program that I found out.

> > Right. This is far easier than my first thoughts about what
> > you were sayiang. Just a matter of assigning a scale / mode
> > to one of the channels as the root channel, working out the
> > position relative to 1/1 in usual way, then multiply all the
> > notes played by the resulting value. That would do the
> > tonality diamond just as it is - play the control note
> > and note on the main keyboard, and you'll hear the product.

> Right.

> > Then for e.g. mean-tone modulation of j.i. scale, I suppose
> > one will want e.g. the A of the main keyboard to still sound
> > an A whatever the root of the j.i. scale is, e.g. if root
> > key pressed is the F, you play the A as a 5/4 above the meantone F.
> > That would require all of another couple of lines of code or
> > something!

> I don't think so -- it's still just mulitplication.

Extra lines are so that it is played as an A as 5/4 above the F when
F key is pressed in the root channel and A in the main channel.

If you had the same scheme as for the tonality diamond,
you'd press an F in the root channel and an E in the main
channel to get an A at 5/4 above the F (this assumes one did it
so that C played sim. in both channels sounds a C,
then C + E = E, C# + E = F 5/4 above C#, D + E = F# 5/4 above D,
and so on).

....

> There's more than too many good ideas out there to code...
> anyone beats me to it, and I'll send him flowers.

That's true. If we had 20 programmers coding microtonal code
full time we'd still just be scratching the surface. Anyone
fancy writing a fully featured microtonal score editor?
One that supports playback respecting all dynamics, tempi
and notations, including pitch glissandi (extendable so that you
can add new microtonal notations to it, and it will respect those too).

That's top of my wish list if we had such a team.

> I realized that it may be time to write up a precise spec
> of what I have in mind. Would you like me to send you a
> copy (1-2 weeks)?

Yes, okay fine.

> Yes, I've thought about that too, it may work best if the manuals
> are very shallow; sometimes you see ones that are. Would be nice
> if one could play chords one handed. Only the top manual needs to
> be shallow of course.

> Carry this one step further, and you have the stuff of a
> generalized keyboard.

Well, I have been thinking that when I code this, may be an idea
to make sure one can have add three or more manuals too, each
with it's own scale, so best not want to hard code the number 2 into it.

Come to think of it, that also fits in with multiple scales ideas
assigned to channels - because one could just comma shift the
keyboards, but more generally, one would do it so that one can
have any scale / mode mapping to each. E.g. spread the notes of any
scale of > 12 notes across both keyboards in any order
one likes.

Robert

🔗carl@...

8/7/2001 10:55:56 PM

Heya Robert,

>Well, actually with hindsight, quite a natural idea as I'd been
>doing some work on fractional dimensions in fractals, so applying
>fractals to music was a natural thing to do. But somehow was
>surprised to find it had been done already. It was well after the
>first release of the program that I found out.

Jeepers!

I was first exposed to fractal music when I found a MIDI output
feature in Fractint, when I was in high school. I went through a
phase in 1998, when I checked out Gingerbread, and four or five
other proggies. I didn't really get much out of 'em. Atlantis,
from the author of Gingerbread (organised-chaos.org, I think),
promised great things, but I don't think it was ever released.

I have sooo little time to do anything right now, it boggles
my mind. I have:

() Learn C... in the context of writing drivers (yuck!), for work.
() Finish my web page (now 175 megs, 3 yrs. in dev.).
() Write three canons as part of a bet with a friend.
() Learn some piano music I've xeroxed.
() Read about 50 books (Beckett, Nabakov, David Deutsch...)

Somewhere in there, I promise to download the latest version of
FTS and check it out. (I looked at it briefly around the end
of last year.)

> Extra lines are so that it is played as an A as 5/4 above the F
> when F key is pressed in the root channel and A in the main
> channel.
>
> If you had the same scheme as for the tonality diamond,
> you'd press an F in the root channel and an E in the main
> channel to get an A at 5/4 above the F (this assumes one did it
> so that C played sim. in both channels sounds a C,
> then C + E = E, C# + E = F 5/4 above C#, D + E = F# 5/4 above D,
> and so on).

Sorry, I can't figure out your notation here! You seem to want to
make E a 5/4 above whatever is played in the control channel...
Please elaborate -- you may have thought of something I haven't!
I'll leave my stuff for the spec.

>> There's more than too many good ideas out there to code...
>> anyone beats me to it, and I'll send him flowers.
>
> That's true. If we had 20 programmers coding microtonal code
> full time we'd still just be scratching the surface. Anyone
> fancy writing a fully featured microtonal score editor?
> One that supports playback respecting all dynamics, tempi
> and notations, including pitch glissandi (extendable so that you
> can add new microtonal notations to it, and it will respect
> those too).
>
> That's top of my wish list if we had such a team.

Me too!!!!! There are three score entry packages that claim
to support microtones, that I know of:

() Finale
() Sibelius
() Igor

The first two I have, and don't like very well. I don't really
know what they can do for microtones (I suspect they are both
extensible enough that with a little work, one could create
custom accidental sets, and maybe even assign pitch bends to
them).

Igor has the strongest press statement on microtonal support,
and is still in pre-release for windows. It also has very strong
statements on its other features, and it's written in LISP, my
language of choice! I downloaded their windows alpha, and the
Mac version, and gave them a cursory look. I'm going to have to
check 'em out again in a bit, but what I saw was the about the
poorest excuse for software I've ever seen. What a let-down.

In addition to supporting microtonal accidentals, as you
mention, the ideal score entry package would have to support
the kind of control-channel(staff) stuff we're talking about.

But most importantly, such a package would support custom staff
design... so you could map, for example, something like Paul
Erlich's decatonic scale to successive staff positions, and use
it like a diatonic scale! No score entry software I know of even
claims to support this behavior.

>> Carry this one step further, and you have the stuff of a
>> generalized keyboard.
>
> Well, I have been thinking that when I code this, may be an idea
> to make sure one can have add three or more manuals too, each
> with it's own scale, so best not want to hard code the number 2
> into it.

Yes, absolutely. Especially if it is to be extended to score
entry, where control staffs may abound!

I should say that the idea of multiple, nested control staffs
is due to Denny Genovese, circa 1997.

> Come to think of it, that also fits in with multiple scales ideas
> assigned to channels - because one could just comma shift the
> keyboards, but more generally, one would do it so that one can
> have any scale / mode mapping to each. E.g. spread the notes of any
> scale of > 12 notes across both keyboards in any order
> one likes.

Yep. Are you familiar with the notion of the generalzed keyboard?

-Carl

🔗Robert Walker <robertwalker@...>

8/8/2001 5:41:17 AM

Hi Carl,

> I was first exposed to fractal music when I found a MIDI output
> feature in Fractint, when I was in high school. I went through a
> phase in 1998, when I checked out Gingerbread, and four or five
> other proggies. I didn't really get much out of 'em. Atlantis,
> from the author of Gingerbread (organised-chaos.org, I think),
> promised great things, but I don't think it was ever released.

Interesting. I was prob. absorbed in maths research at the
time. Obviously been around for a while I wonder when algo-comp
first began?

> () Learn C... in the context of writing drivers (yuck!), for work.

Oh well, there you are using it where it is really in its element,
near assembly level. Do you know the obfuscated c competitions?
found out about them recently - if you want some mind boggling
& almost toally unreadable c to look at, including the worlds
tiniest and most obscure world map program:

http://jtull.rutgers.edu/~rhoads/Obfuscated_C/obfuscate.html

(Hope it doesn't put you off! I find it a lot of fun and with
all the care one puts into making c code readable, would
be nice to try making an obfuscated program just for fun).

Check out the adder program - consisting of multiple
copies of the word Main with various combinations of lower
and upper case for the letters, and nothing else much
except #defines.

....
> Somewhere in there, I promise to download the latest version of
> FTS and check it out. (I looked at it briefly around the end
> of last year.)

Quite a lot happened since then, but I notice the last beta upload
proper is in january or something - i've been doing extensive
changes and just had "beta previews" since then, new look for
main window, & I think easier to navigate + multiple output
ports and a few other goodies like FFT. Hope to do new beta
proper soon, and then release soon after that, once help is ready.

> Extra lines are so that it is played as an A as 5/4 above the F
> when F key is pressed in the root channel and A in the main
> channel.
>
> If you had the same scheme as for the tonality diamond,
> you'd press an F in the root channel and an E in the main
> channel to get an A at 5/4 above the F (this assumes one did it
> so that C played sim. in both channels sounds a C,
> then C + E = E, C# + E = F 5/4 above C#, D + E = F# 5/4 above D,
> and so on).

> Sorry, I can't figure out your notation here! You seem to want to
> make E a 5/4 above whatever is played in the control channel...
> Please elaborate -- you may have thought of something I haven't!
> I'll leave my stuff for the spec.

Suppose in main channel c is 1/1 of your j.i. scale. (where 1/1 is arbitrarily
set to some absolute pitch, say, concert pitch C). Then E is the
5/4 above this.

That has to correspond to some root in the root channel, and suppose
for definiteness that your c = 1/1 as default when no key has yet
been pressed, and the same when key C is pressed.

Now when you change the root to, say, F in the root channel, i.e.
the F of the mean-tone scale, or whatever, question is, what happens
to the E. Is it still 5/4 above something?

If one did it same way as the tonaility diamond, just multiplying
the value in the root channel by value in the main channel,
then you'll get it E -> 5/4 * (value for F), and so 5/4 above the F.

I.e. when you press the F for the root, then the just intonation
12 tone scale from c to c' is still the ji. 12-tone, but this
time the c playes an f, because you have shifted everything up by
the interval c - f in the root channel.

However, more natural idea might be to make it the 8/9 (or whatever)
below the F of the root channel, so that it still sounds as a note
somewhere in the vicinity of concert pitch E.

If one does it this way, the just intonation 12 tone scale is now running
from f to f' in the main channel, with the f set in pitch to the note in the
root channel, which I think is what one would want.

However, with tonality diamond, with no note names to want to preserve,
I think one would find it easier to navigate if the two keyboards
were just the two axes of the diamond, and the note played was
the product of the two.

Obviously use most of the same code for both, but would need a couple
of extra lines (maybe more) for one of them.

Is that any clearer yet?

>> There's more than too many good ideas out there to code...
>> anyone beats me to it, and I'll send him flowers.
>
> That's true. If we had 20 programmers coding microtonal code
> full time we'd still just be scratching the surface. Anyone
> fancy writing a fully featured microtonal score editor?
> One that supports playback respecting all dynamics, tempi
> and notations, including pitch glissandi (extendable so that you
> can add new microtonal notations to it, and it will respect
> those too).
>
> That's top of my wish list if we had such a team.

> Me too!!!!! There are three score entry packages that claim
> to support microtones, that I know of:

> () Finale
> () Sibelius
> () Igor

> Igor has the strongest press statement on microtonal support,
> and is still in pre-release for windows. It also has very strong
> statements on its other features, and it's written in LISP, my
> language of choice! I downloaded their windows alpha, and the
> Mac version, and gave them a cursory look. I'm going to have to
> check 'em out again in a bit, but what I saw was the about the
> poorest excuse for software I've ever seen. What a let-down.

Oh dear. Hope they get it fixed up better in time.

.....

> In addition to supporting microtonal accidentals, as you
> mention, the ideal score entry package would have to support
> the kind of control-channel(staff) stuff we're talking about.

> But most importantly, such a package would support custom staff
> design... so you could map, for example, something like Paul
> Erlich's decatonic scale to successive staff positions, and use
> it like a diatonic scale! No score entry software I know of even
> claims to support this behavior.

Ah, this last you can do with midi relaying, to reasonable first
approx. I use it all the time, using NoteworthyComposer (which
happens to be the score editor I use), but it will work with any.

Just add a note to the score saying what mapping you use, which
can be any mapping of midi notes of the stave to pitches that
you like. That's for oneself, so that you will know what mapping to use in
future, by reading the score.

Then relay it with that mapping. I use Hubi's loopback, a free software
driver that relays midi out of one prog. to midi in of another. I think
there is another driver that does the same thing. Or one could just add
cable round from midi out to midi in of soundcard; I expect that would
work too, but less convenient. (The FTS Midi In help page gives url for
Hubi's loopback and says how it is installed, if anyone wants to know,
or I could repeat it here; come to think of it, maybe I'll add note about
all this to the tunes web page).

If you look at the scores for most of the pieces on my tunes page, then you'll
see that they are done this way.

http://robertinventor.tripod.com/tunes/tunes.htm
Tunes page is moving here as I found netfirms don't allow zips / .exe
/ files over 1 Mb for banner supported sites.

You'll see they are just 12-tet ordinary type scores. I made them in NWC,
just as one would for any score, and added the midi relay note to the score
(I put them in a lyric line), then I relay them using the mapping
shown.

So I can play them any time just by setting up the mapping
in FTS and playing them in NWC. In fact one could also save them
as 12-tet midi files and relay them with the mapping from those too.

I'm surprised how few seem to use this technique. Mats Oljare does,
using Graham Breed's program for midi relaying in his case.

In use, it is just like a normal score editor. After editing to add
a note or phrase, or changes etc, you click the play button and hear
it played in the usual way, and because of the midi relaying,
you hear it with the correct re-mapped pitches for the lines of the stave.

I often do it so that repeats of the scale are shown as octaves in the score,
so if it is say, 6 notes pad the scale out with one extra note to make it
a 7 note scale, and relay it from successive white notes.

If say 11 notes, then do it as a 12 note scale with last note duplicated,
and relay it from successive midi notes. If more than 12, then one can
use two octaves for each repeat.

If non octave scale, may do it so that the non octave repeat is shown
as "octaves" on the score.

Or sometimes, I just do it so successive white notes map to notes of the
scale - so that playing white notes on keyboard is like playing it
on a harp. That could be useful if the score is going to be read by
a harpist with a retuned harp.

It is only a first approx because a proper microtonal score editor
would let one vary the number of lines in the stave and things like
that, and use microtonal accidentals and so forth. However,
not too bad, because you can hitch into all the facilities of
the existing score editor for everything else except the pitches,
such as respecting dynamics / tempi / flow direction on playback.

> > Well, I have been thinking that when I code this, may be an idea
> > to make sure one can have add three or more manuals too, each
> > with it's own scale, so best not want to hard code the number 2
> > into it.

> Yes, absolutely. Especially if it is to be extended to score
> entry, where control staffs may abound!

> I should say that the idea of multiple, nested control staffs
> is due to Denny Genovese, circa 1997.

Well, I suppose it could be useful if someone was using root control staffs
in a score editor, which one could do if it was set up like this
by midi relaying through FTS as in the way described. Just
add note to the score to say which of the staffs are the root control staffs,
and which scales they are moving the root by, and set up the midi
relaying accordingly.

> > Come to think of it, that also fits in with multiple scales ideas
> > assigned to channels - because one could just comma shift the
> > keyboards, but more generally, one would do it so that one can
> > have any scale / mode mapping to each. E.g. spread the notes of any
> > scale of > 12 notes across both keyboards in any order
> > one likes.

> Yep. Are you familiar with the notion of the generalzed keyboard?

No, didn't realise it was a specific concept. Can you say more,
or give ref?

Robert

🔗jpehrson@...

8/8/2001 8:31:50 AM

--- In crazy_music@y..., "Robert Walker" <robertwalker@n...> wrote:

/crazy_music/topicId_965.html#974

> Hi Carl,
>
> > I was first exposed to fractal music when I found a MIDI output
> > feature in Fractint, when I was in high school. I went through a
> > phase in 1998, when I checked out Gingerbread, and four or five
> > other proggies. I didn't really get much out of 'em. Atlantis,
> > from the author of Gingerbread (organised-chaos.org, I think),
> > promised great things, but I don't think it was ever released.
>
> Interesting. I was prob. absorbed in maths research at the
> time. Obviously been around for a while I wonder when algo-comp
> first began?
>

Hello Robert....

This has been around awhile. Salvatore Martirano at the University
of Illinois was doing this in the early 1960's, and I believe Lejaren
Hiller was involved in it in the 1950's...

____________ __________ ____
Joseph Pehrson