back to list

Digital ANS Synthesizer

🔗Andrew Fillebrown <AMiltonF@...>

1/8/2007 11:13:30 PM

Hello Microtuners!

<shortversion>
I went on a long trip to code-land and brought back a digital ANS
synthesizer! http://en.wikipedia.org/wiki/ANS_synthesizer

It'd be really cool if you guys could post pics of stuff you want to
hear on it.
</shortversion>

<longversion>
Hi, my name is Andy and I used to lurk around and post occasionally on
the microtonal lists until about 3 years ago. I stopped participating
in the lists because I didn't feel I had much to offer and I wasn't
interested in the mathematical details coming thru on a daily basis.
Well, I'm still not interested in the math, but this time I do have
something to offer. I have a digital ANS synthesizer!

What I'd like to do is have people start posting drawings of what
they'd like to hear on the ANS synth so I can trace them into the
program and post back the audio output. The drawings can be in any
format (jpg, bmp, gif, etc...) and don't have to be super technical
(just enough so I can trace it into the program accurately) and I'll
post the audio back in whichever format you like that I can accomodate
(return time depending on how busy I am).

The following details of how to setup the drawings assume you know
what the ANS synth is, so start with
http://en.wikipedia.org/wiki/ANS_synthesizer then read on.

Since I'm going to be, for the most part, tracing the drawings into
the program, I need to know how the drawing lines up in the frequency
and time domains. You could just scribble in MS-Paint, for example,
and write down the desired frequency and time ranges, or, on the other
extreme, you could provide as much detail as you like and make it look
like a blueprint. The more accurate the drawing, the more accurately
I'll be able to input it. In a nutshell, make the drawings look like
what you would etch onto the ANS synth's glass plates or give me
numbers to work with when inputting.

Some numbers for you...
The frequency range is measured in cents, with 6000 cents arbitrarily
designated to the same frequency as "Middle C" on the piano. The
entire frequency domain ranges from 0 to 12,700 cents. Anything
higher or lower than that will be clipped to that range (hopefully you
will be considerate and not even come close to those ranges, ouch).

While the program is similar to the ANS synth, there is a big
difference in that there is no 720 note restriction. The total number
of notes in the program (iirc) is equal to the number of unique
fractions there are in a IEEE double float between the numbers of 0
and 12,700. A.k.a. ALOT!

I'll stop here to field questions but feel free to post drawings now
if you get the gist of it. The more the merrier!
</longversion>

🔗Carl Lumma <ekin@...>

1/8/2007 11:34:09 PM

Hey Andy,

I still have an early AutoCAD-based version of yours here. What's
the new version like?

-Carl

🔗Andrew Fillebrown <AMiltonF@...>

1/9/2007 12:38:11 AM

--- In MakeMicroMusic@yahoogroups.com, Carl Lumma <ekin@...> wrote:
>
> Hey Andy,
>
> I still have an early AutoCAD-based version of yours here. What's
> the new version like?
>
> -Carl
>

It's like the house you would build if you had all the tools and
materials to build a modern day house but not the knowledge or
experience. Well, maybe the 5th or 6th house you built after you tore
the first 4 down. :)

The good news is, I've finally worked out the details of programming
C++ in AutoCAD and identified all the bugs that have been holding me
back all these years (this was far from trivial for an amateur). So,
now, I can actually start adding things to it instead of spending all
my time trying to figure out why it's randomly crashing on the basic
engine.

For real though, it's pretty much the same thing just MUCH more stable
and with more user interface features. Eventually I'll write an
installer for it, so if you get your hands on the latest AutoCAD '07
release, lemme know.

...and what was the deal with that anyway, Carl? I sent over those
files and followed up with e-mails for almost a month and never heard
back from you. Are you collecting software for posterity or
something? hehe.

Anyway, I'm just excited it's working. It's been a reeeeeallly long 7
years of dark times for me since I had the idea and started pursuing
it, and, at this point, I'm just hoping and praying that the light at
the end of the tunnel isn't a train coming the other way, as they say.

-Andy

🔗Carl Lumma <ekin@...>

1/9/2007 9:38:22 AM

>It's like the house you would build if you had all the tools and
>materials to build a modern day house but not the knowledge or
>experience. Well, maybe the 5th or 6th house you built after you tore
>the first 4 down. :)
>
>The good news is, I've finally worked out the details of programming
>C++ in AutoCAD and identified all the bugs that have been holding me
>back all these years (this was far from trivial for an amateur). So,
>now, I can actually start adding things to it instead of spending all
>my time trying to figure out why it's randomly crashing on the basic
>engine.
>
>For real though, it's pretty much the same thing just MUCH more stable
>and with more user interface features. Eventually I'll write an
>installer for it, so if you get your hands on the latest AutoCAD '07
>release, lemme know.

I have AutoCAD 2004. Will that work?

>...and what was the deal with that anyway, Carl? I sent over those
>files and followed up with e-mails for almost a month and never heard
>back from you. Are you collecting software for posterity or
>something? hehe.

Sorry about that. I got married, became a father, moved twice, and
changed careers twice. Meanwhile, a good half-dozen pieces of
microtuning software were announced on this list... which I've also
yet to try, but at least I know about them. Do you?

>Anyway, I'm just excited it's working. It's been a reeeeeallly long 7
>years of dark times for me since I had the idea and started pursuing
>it, and, at this point, I'm just hoping and praying that the light at
>the end of the tunnel isn't a train coming the other way, as they say.

Congrats!!

-Carl

🔗Andrew Fillebrown <AMiltonF@...>

1/9/2007 10:15:13 AM

--- In MakeMicroMusic@yahoogroups.com, Carl Lumma <ekin@...> wrote:
>
> >It's like the house you would build if you had all the tools and
> >materials to build a modern day house but not the knowledge or
> >experience. Well, maybe the 5th or 6th house you built after you tore
> >the first 4 down. :)
> >
> >The good news is, I've finally worked out the details of programming
> >C++ in AutoCAD and identified all the bugs that have been holding me
> >back all these years (this was far from trivial for an amateur). So,
> >now, I can actually start adding things to it instead of spending all
> >my time trying to figure out why it's randomly crashing on the basic
> >engine.
> >
> >For real though, it's pretty much the same thing just MUCH more stable
> >and with more user interface features. Eventually I'll write an
> >installer for it, so if you get your hands on the latest AutoCAD '07
> >release, lemme know.
>
> I have AutoCAD 2004. Will that work?
>

Unfortunately, no. AutoCAD '07 plugins are incompatible with earlier
versions and I don't have the time or resources at this point to work
on two different versions of it.

> >...and what was the deal with that anyway, Carl? I sent over those
> >files and followed up with e-mails for almost a month and never heard
> >back from you. Are you collecting software for posterity or
> >something? hehe.
>
> Sorry about that. I got married, became a father, moved twice, and
> changed careers twice. Meanwhile, a good half-dozen pieces of
> microtuning software were announced on this list... which I've also
> yet to try, but at least I know about them. Do you?
>

Congrats yourself! I'm slowly going thru the archives, catching up on
what I've missed, so I probably know about a couple of the pieces of
software you mention. Care to fill me in, though?

Andy F.

🔗Carl Lumma <ekin@...>

1/9/2007 10:48:29 AM

>Congrats yourself! I'm slowly going thru the archives, catching up on
>what I've missed, so I probably know about a couple of the pieces of
>software you mention. Care to fill me in, though?

Aside from the growing body of commercial software with
microtonal capabilities (Cameleon 5000, Wusikstation, rgc:audio's
stuff...), there's the Scala 2 Kontakt microtuner:

http://www.12equalboresme.com

Don't know if you know about the growing body of software
(including Logic 7) that supports Hermode tuning

http://www.hermode.com

Joe Monzo's Tonescape project is supposedly nearing completion,
and there's a beta program (but this time it isn't me who's not
returning e-mails)

http://www.tonalsoft.com

Scala has naturally seen frequent updates, as has X.J. Scott's
Little Miss Scale Oven

http://www.xs4all.nl/~huygensf/scala/
http://www.nonoctave.com

as has Max Magic Microtuner

http://www.macupdate.com/info.php/id/14421

If you've got a Mac, metasynth is something ANS-like

http://uisoftware.com/MetaSynth

...though I don't know about its microtuning capability.

I wouldn't want to forget list-member (and fantastic composer)
Hudson Lacerda's microabc

http://br.geocities.com/hfmlacerda/abc/microabc-about.html

The Java Microtuning Organ was just announced on the Tuning list

http://www.geocities.com/jeroendonkers/

Last but not least, and all this was off the top of my head,
there is Michael Sheiman's "Dot"

http://sourceforge.net/projects/tdsound/

...the description is slightly misleading. This can apparently
be used to spectrally improve the consonance of any audio file.

-Carl

🔗Aaron Krister Johnson <aaron@...>

1/9/2007 5:11:40 PM

Not to toot my own horn, but Carl forgot my own custom Python
software, now called 'micro_composer' (in a past incarnation, known as
'et_compose'.)

Basically, it's an ASCII symbolic notation (or optional deprecated
degree notation) to MIDItext to MIDI compiler (the later step of text
to MIDI done via t2mf, Piet van Oostrum's wonderful C program)

Let me know if you're interested, and I can get you (or anyone) a copy.

-Aaron.

--- In MakeMicroMusic@yahoogroups.com, Carl Lumma <ekin@...> wrote:
>
> >Congrats yourself! I'm slowly going thru the archives, catching up on
> >what I've missed, so I probably know about a couple of the pieces of
> >software you mention. Care to fill me in, though?
>
> Aside from the growing body of commercial software with
> microtonal capabilities (Cameleon 5000, Wusikstation, rgc:audio's
> stuff...), there's the Scala 2 Kontakt microtuner:
>
> http://www.12equalboresme.com
>
> Don't know if you know about the growing body of software
> (including Logic 7) that supports Hermode tuning
>
> http://www.hermode.com
>
> Joe Monzo's Tonescape project is supposedly nearing completion,
> and there's a beta program (but this time it isn't me who's not
> returning e-mails)
>
> http://www.tonalsoft.com
>
> Scala has naturally seen frequent updates, as has X.J. Scott's
> Little Miss Scale Oven
>
> http://www.xs4all.nl/~huygensf/scala/
> http://www.nonoctave.com
>
> as has Max Magic Microtuner
>
> http://www.macupdate.com/info.php/id/14421
>
> If you've got a Mac, metasynth is something ANS-like
>
> http://uisoftware.com/MetaSynth
>
> ...though I don't know about its microtuning capability.
>
> I wouldn't want to forget list-member (and fantastic composer)
> Hudson Lacerda's microabc
>
> http://br.geocities.com/hfmlacerda/abc/microabc-about.html
>
> The Java Microtuning Organ was just announced on the Tuning list
>
> http://www.geocities.com/jeroendonkers/
>
> Last but not least, and all this was off the top of my head,
> there is Michael Sheiman's "Dot"
>
> http://sourceforge.net/projects/tdsound/
>
> ...the description is slightly misleading. This can apparently
> be used to spectrally improve the consonance of any audio file.
>
> -Carl
>

🔗Carl Lumma <ekin@...>

1/9/2007 5:27:10 PM

At 05:11 PM 1/9/2007, you wrote:
>
>Not to toot my own horn, but Carl forgot my own custom Python
>software, now called 'micro_composer' (in a past incarnation, known as
>'et_compose'.)

Hey, I didn't know it'd be updated!

>Basically, it's an ASCII symbolic notation (or optional deprecated
>degree notation) to MIDItext to MIDI compiler (the later step of text
>to MIDI done via t2mf, Piet van Oostrum's wonderful C program)
>
>Let me know if you're interested, and I can get you (or anyone) a copy.

I'm interested.

-Carl

🔗Aaron Krister Johnson <aaron@...>

1/9/2007 5:55:06 PM

Ok, Carl!

You can get the script here:

http://www.akjmusic.com/software/micro_composer

You'll need Python, the later the version the better, and the
following libraries of mine:

http://www.akjmusic.com/software/midi_functions.py
http://www.akjmusic.com/software/microtonal.py
http://www.akjmusic.com/software/math_stuff.py

You'll also need mf2t/t2mf, I have the source, if you want Windows
exectuables, Google for them.

http://www.akjmusic.com/software/mf2tsrc.zip

Caveat--The documentation is at the top of the script itself. You'll
see a list of TODOs. That said, it works really well, and I've used it
lots (everything from 'Juggler' to 'Adagio for Margo'). Right now,
symbolic support is for 19, 31, 17, and 22et, you can define your own
dictionaries for others. Of course, numeric deprecated support for
any arbitrary edo is supported already, it's just the symbolic
Pythagorean standard notation layer has been added. If you need help
let me know, but the script is fairly clear; you should be able to
extrapolate what you need to do, including adding other edo
dictionaries. On the list of TODOs is Scala .scl import and arbitrary
unequal scales like JI, etc. Right now, it's pretty much pick an edo
and go. But like I said it works. And, it has a nifty feature that
microabc will never have, according to Hudson---Gaussian rhythm and
volume.

Here's and example input file, which illustrates the general usage:

http://www.akjmusic.com/software/AdagioForMargo.etc

The syntax for a note event is typically something like:

f^,3.70@96

which means f-sharp below middle-c (the comma and apostrophe determine
octave displacement) for 3 beats, 70% legato (30% silence at the end
of note), and a MIDI attack of 96. 'beats' can be defined elsewhere
with fractions, e.g. '1/4' means 'switch to quarter notes being a beat'

anyway, let me know what you don't understand---I actually would love
someone to test this out on a non-Linux platform for me, because there
are bound to be issues (hopefully not)

-A.

--- In MakeMicroMusic@yahoogroups.com, Carl Lumma <ekin@...> wrote:
>
> At 05:11 PM 1/9/2007, you wrote:
> >
> >Not to toot my own horn, but Carl forgot my own custom Python
> >software, now called 'micro_composer' (in a past incarnation, known as
> >'et_compose'.)
>
> Hey, I didn't know it'd be updated!
>
> >Basically, it's an ASCII symbolic notation (or optional deprecated
> >degree notation) to MIDItext to MIDI compiler (the later step of text
> >to MIDI done via t2mf, Piet van Oostrum's wonderful C program)
> >
> >Let me know if you're interested, and I can get you (or anyone) a copy.
>
> I'm interested.
>
> -Carl
>

🔗Gene Ward Smith <genewardsmith@...>

1/10/2007 5:24:14 PM

--- In MakeMicroMusic@yahoogroups.com, "Aaron Krister Johnson"
<aaron@...> wrote:
>
>
> Ok, Carl!
>
> You can get the script here:
>
> http://www.akjmusic.com/software/micro_composer

What does it do--take a text file and produce a midi file, like Scala,
or something else?

🔗Aaron Krister Johnson <aaron@...>

1/10/2007 7:07:25 PM

--- In MakeMicroMusic@yahoogroups.com, "Gene Ward Smith"
<genewardsmith@...> wrote:
>
> --- In MakeMicroMusic@yahoogroups.com, "Aaron Krister Johnson"
> <aaron@> wrote:
> >
> >
> > Ok, Carl!
> >
> > You can get the script here:
> >
> > http://www.akjmusic.com/software/micro_composer
>
> What does it do--take a text file and produce a midi file, like Scala,
> or something else?

Hi Gene, (hygiene?)

Correct, the principle advantage of my layout being the ability to
line up voices contrapuntally. Scala makes it hard; each event is on
it's own line, and voices are often pages apart...how would you know
what was happening in one voice when you are composing in another?

I also like the effect of having some gaussian rhythmic
variance--adding human 'swing' to an otherwise dry MIDI performance.

-A.

🔗Gene Ward Smith <genewardsmith@...>

1/11/2007 1:30:24 PM

--- In MakeMicroMusic@yahoogroups.com, "Aaron Krister Johnson"
<aaron@...> wrote:

> Correct, the principle advantage of my layout being the ability to
> line up voices contrapuntally. Scala makes it hard; each event is on
> it's own line, and voices are often pages apart...how would you know
> what was happening in one voice when you are composing in another?

I don't actually try to compose in Scala. I read files in and out of
Maple, and then write files I edit for Scala, and listen to the result.
Lather, rinse, repeat.