back to list

New microtonal implementation.

🔗AMiltonF@aol.com

1/10/2001 8:32:36 PM

Since the topic of computers and music has come up again I thought it would
be a good time to lay out what I've been working on. A while back I was told
I shouldn't discuss it with anybody in case it could be patented and I've
been paralyzed by that thought for a while, but after talking to patent
lawyers and doing research on my own it looks pretty hopeless for a lone
individual to get a software patent that will hold up in court anyway. So
I've decided to "go public" on the list as a way of contributing to something
that has been instrumental in its conception. I'm also looking for some
feedback on the design as I'm at a critical stage in it's development.

After struggling to get microtones out of software that wasn't designed for
them and then trying to annotate the scores afterwards, in a notation system
that wasn't designed for them either, I said to myself "There's got to be a
better way." Drawing on some misguided attempts to get me into the
financially fulfilling field of engineering I started exploring the
customization capabilities of a popular drafting program called AutoCAD and
discovered that if I put a little time into it, the program had enormous
potential as a music composition tool. That was a year ago.

To date I've got a functioning (but extremely slow) Visual Basic version of
it running and I'm now going to be recoding it in C++ so this is a prime time
to make design changes.

Jumping right into the details, here's a brief description of how I've got it
set up in the Visual Basic implementation:

In three dimensional space I'm using the X-axis to represent time,
the Y-axis to represent frequency and the Z-axis to represent everything else
(amplitude, pan, other controllers, the list goes on....). On the X-axis
time is measured in MIDI ticks with one AutoCAD unit equaling one tick and
the origin representing the start of time (384 ticks per quarter is assumed).
On the Y-axis pitch is represented linearly with one AutoCAD unit equaling
one cent and the origin representing note zero of the MIDI standard's 128
possible notes (microtonality is achieved through pitch-bends and the
assumption is made that all of the 128 notes are tuned to 12et). On the
Z-axis articulations are measured in MIDI controller units with four AutoCAD
units equaling one MIDI controller unit (range 0 to 127).
For example:
In the AutoCAD environment a line from point (0, 10, 0) to point (384, 1210,
0) would represent the lowest note in the MIDI standard + 10 cents being bent
up an 8va starting on beat one and ending on beat two. For a volume change
to that note another line would be drawn from point (0, 10, 0) to point (384,
10, 511) and would represent a change from it's minimum volume to its maximum
volume.
I've set the track system up using AutoCAD's layers. (Think of layers
as clear plastic sheets that are layed on top of each other). I designated
15 layers for MIDI channels 1-9 and 11-16. So if you wanted to put the
example note on channel one then you would make AutoCAD "Layer One" the
current input layer before drawing the note.

A few pros + cons of the VB implementation:
- It is very slow. (Five minutes of complex music takes roughly an hour to
generate)
- It is very expensive. (AutoCAD 2000i goes for around $3k)
+ There is a free viewer that lets you view the CAD files.
+ Precise annotation is as easy as drawing dimensions and can be automated.
- Musicians don't read music the way I've represented it.
+ Layerability lets you view tracks superimposed on each other without
clutter.
- Due to the fact that I'm using pitch bends to tune the notes, 15 channels
is limiting.
- Pitch bends aren't always accurate.
+ Continuous control messages can be created with precision and large amounts
of data can be created with a small number of input points.
+ It is fully microtonal. (You can draw a note line anywhere in the MIDI
note range).
- The layer/channel scheme sucks for input. (If you want to draw a four note
non-12et chord you have to change layers four times).
+ Untrained musicians dig it. (They love just drawing lines and hearing
music come out of it, no notation to deal with.)

So that's the gist of it. Keep in mind that this is a prototype. There is
alot more that can be done and since I'm going to rewrite the whole thing
anyway I thought I'd run it by y'all and see what comes of it.

....and my parents thought I was going to move to Hollywood and become a
film-composer,

Andy

🔗Dave Keenan <D.KEENAN@UQ.NET.AU>

2/4/2001 3:56:21 PM

/tuning/topicId_17364.html#17364

Hey Andy!

This is a great idea. Thanks for sharing it with us.

No wonder you were so able to help me get the sound from the rotating
dekany.

Is this what you used to write the pieces at
/tuning/files/AMiltonF/

Doesn't AutoCAD have Lisp lurking behind it somewhere? Can you use
that instead of Visual Basic?

What about using a single layer and having pitch correspond to angle
in the YZ plane, so you can have multiple pitches?

Regards,
-- Dave Keenan

🔗andrewfillebrown <AMiltonF@aol.com>

8/8/2004 10:46:24 AM

From message /tuning/topicId_17364.html#17364

> After struggling to get microtones out of software that wasn't
designed for
> them and then trying to annotate the scores afterwards, in a
notation system
> that wasn't designed for them either, I said to myself "There's got
to be a
> better way." Drawing on some misguided attempts to get me into the
> financially fulfilling field of engineering I started exploring the
> customization capabilities of a popular drafting program called
AutoCAD and
> discovered that if I put a little time into it, the program had
enormous
> potential as a music composition tool.

...It's been a long 3-and-a-half years, but it's working.
There is now a digital ANS synthesizer in my basement!

More to come,
Andy F.

🔗Carl Lumma <ekin@lumma.org>

8/8/2004 11:00:52 AM

>>From message /tuning/topicId_17364.html#17364
>
>> After struggling to get microtones out of software that wasn't
>> designed for them and then trying to annotate the scores
>> afterwards, in a notation system that wasn't designed for them
>> either, I said to myself "There's got to be a better way."
>> Drawing on some misguided attempts to get me into the financially
>> fulfilling field of engineering I started exploring the
>> customization capabilities of a popular drafting program called
>> AutoCAD and discovered that if I put a little time into it, the
>> program had enormous potential as a music composition tool.
>
>...It's been a long 3-and-a-half years, but it's working.
>There is now a digital ANS synthesizer in my basement!

Freaking AMAZING!! Did you use AutoLISP? Are you willing to
share your code?

-Carl

🔗andrewfillebrown <AMiltonF@aol.com>

8/8/2004 1:50:09 PM

--- In tuning@yahoogroups.com, Carl Lumma <ekin@l...> wrote:
> >>From message /tuning/topicId_17364.html#17364
> >
> >> After struggling to get microtones out of software that wasn't
> >> designed for them and then trying to annotate the scores
> >> afterwards, in a notation system that wasn't designed for them
> >> either, I said to myself "There's got to be a better way."
> >> Drawing on some misguided attempts to get me into the financially
> >> fulfilling field of engineering I started exploring the
> >> customization capabilities of a popular drafting program called
> >> AutoCAD and discovered that if I put a little time into it, the
> >> program had enormous potential as a music composition tool.
> >
> >...It's been a long 3-and-a-half years, but it's working.
> >There is now a digital ANS synthesizer in my basement!
>
> Freaking AMAZING!! Did you use AutoLISP? Are you willing to
> share your code?
>
> -Carl

I would love for others to use it but getting it running on another
machine will be difficult for most as it's all in C++ and there's no
installation program. I will not share the source code at this time
but I will give out the compiled libraries so that others can play
with it.

You'll need Windows 95 or later, AutoCAD 2000, 2000i or 2002
(although 2002 I'm not sure about since I only use Acad 2000), and
DirectX 9 or later (which is a free download). AutoCAD 2004 and 2005
are available but I don't have a new enough compiler to support them
yet.

Again, there's no installation program so it'll have to be setup
manually, which I'm pretty sure I can walk you through. Also keep in
mind that this thing is worse than beta as far as dealing with errors
right now. If used a certain way it works great but as soon as it
encounters something it can't deal with it just crashes. Eventually
I'll get it stable but it's not a high priority right now. It works
here and I'm anxious to explore it's possibilities.

Let me know if you've got a system that meets the requirements and
I'll show you how to set it up.

Regards,
Andy F.

🔗Carl Lumma <ekin@lumma.org>

8/8/2004 2:18:12 PM

>I would love for others to use it but getting it running on another
>machine will be difficult for most as it's all in C++ and there's no
>installation program. I will not share the source code at this time
>but I will give out the compiled libraries so that others can play
>with it.
>
>You'll need Windows 95 or later, AutoCAD 2000, 2000i or 2002
>(although 2002 I'm not sure about since I only use Acad 2000), and
>DirectX 9 or later (which is a free download). AutoCAD 2004 and 2005
>are available but I don't have a new enough compiler to support them
>yet.

All I've got is AutoCAD 2004. :(

-Carl

🔗andrewfillebrown <AMiltonF@aol.com>

8/8/2004 4:36:38 PM

--- In tuning@yahoogroups.com, Carl Lumma <ekin@l...> wrote:
> >I would love for others to use it but getting it running on
another
> >machine will be difficult for most as it's all in C++ and there's
no
> >installation program. I will not share the source code at this
time
> >but I will give out the compiled libraries so that others can play
> >with it.
> >
> >You'll need Windows 95 or later, AutoCAD 2000, 2000i or 2002
> >(although 2002 I'm not sure about since I only use Acad 2000), and
> >DirectX 9 or later (which is a free download). AutoCAD 2004 and
2005
> >are available but I don't have a new enough compiler to support
them
> >yet.
>
> All I've got is AutoCAD 2004. :(
>
> -Carl

I'm sorry to hear that. If I ever scrape the cash to upgrade I'll
let you know.

Andy F.