back to list

For Aaron (publicly): want list

🔗Jonathan M. Szanto <JSZANTO@...>

3/3/2005 8:46:45 AM

Aaron,

If there was a want list of stuff from you (besides more music), it would have one item on it:

1. The AKJ Humanizor! (Hell, you could black-box it so no one knows the algorithm)

When I've got time in a couple weeks I'm going to work at implementing a similar function in Sonar with their built-in scripting language CAL. Proprietary, yes, but I only need it for me... :)

Cheers,
Jon

🔗Aaron K. Johnson <akjmicro@...>

3/3/2005 9:22:04 AM

On Thursday 03 March 2005 10:46 am, Jonathan M. Szanto wrote:
> Aaron,
>
> If there was a want list of stuff from you (besides more music), it would
> have one item on it:
>
> 1. The AKJ Humanizor! (Hell, you could black-box it so no one knows the
> algorithm)

Boy, people have made such a big deal out of such a simple, and only
quasi-effective, IMO, algorithm. Sure, it works well for how simple it is,
but it'll never replace a human being (not that you are saying that).

If you download et_compose, and look at the source (it's after all, an
interpreted, open source piece of code), look for the word 'gauss'. If have
any questions, I'd be happy to answer them in private email. It's really
amazingly simple (like 3 lines of code, literally). Just a randomizer with a
Gaussian distribution function. It's not even my idea, I implemented it based
on someone else's idea (I forget who). But if anyone deserves credit, it
should be Gauss.

When I have more time, I'd like to implement this function so that it works on
an already-made MIDI file, as opposed to being called to create a MIDI file
from 'et_compose'

Best,

Aaron Krister Johnson
http://www.akjmusic.com
http://www.dividebypi.com

🔗Rich Holmes <rsholmes@...>

3/3/2005 10:51:29 AM

"Aaron K. Johnson" <akjmicro@...> writes:

> If you download et_compose, and look at the source (it's after all, an
> interpreted, open source piece of code), look for the word 'gauss'. If have
> any questions, I'd be happy to answer them in private email. It's really
> amazingly simple (like 3 lines of code, literally). Just a randomizer with a
> Gaussian distribution function. It's not even my idea, I implemented it based
> on someone else's idea (I forget who). But if anyone deserves credit, it
> should be Gauss.

I suppose it's likely someone's already worked on the inverse of this,
though it's also probably so open-ended it could be pursued by many
people for a long time: analyzing human-generated MIDI files (or
recordings) to look at the probability distributions. In real life
they may or may not be well represented by Gaussian distributions, and
I would guess their parameters would depend on lots of things:
performer, of course, but also which finger of which hand, tempo,
complexity of the music, style of the music... time of day... number
of beers consumed... well, you get the idea.

Having done that it would in principle be relatively easy to generate
new MIDI files with ersatz humanness generated by such a set of
distributions and parameters ("Landowska, 1948, slightly tipsy...")

And then you can do a Turing test on the results...

- Rich Holmes

🔗Jonathan M. Szanto <JSZANTO@...>

3/3/2005 12:19:53 PM

Aaron,

{you wrote...}
>Boy, people have made such a big deal out of such a simple, and only >quasi-effective, IMO, algorithm.

But you need to take your props when you can! :)

>If you download et_compose, and look at the source (it's after all, an >interpreted, open source piece of code), look for the word 'gauss'. If have
>any questions, I'd be happy to answer them in private email.

That looks like a promising read - it's been too long since I've written code. In any event, I'm looking at writing some tools that don't really 'humanize', but can do subtle effects and interpretations of midi data, very much like the way various plug-ins are written for Photoshop to alter digital (visual) media.

>When I have more time, I'd like to implement this function so that it >works on an already-made MIDI file, as opposed to being called to create a >MIDI file from 'et_compose'

If I get it done before you do, I'll let you know. :)

Cheers,
Jon