Author |
Message |
ilSignorCarlo

Joined: Sep 17, 2007 Posts: 28 Location: Bologna
|
Posted: Mon Mar 03, 2008 6:44 am Post subject:
Algorithmic composition, artificial intelligence Subject description: and knowledge representation |
 |
|
Hi,
I am going to work on a project for an Artificial Intellingence course.
I want to create a software to compose music starting from some other music (possibly in a MIDI format) given in input. My idea is to use the input to reproduce music in a similar style.
I think I can use Markov Chains for this particular purpose.
My only requisite is that I have to use some form of knowledge representation (this is what the teacher asked me), but I'm not really sure what to represent, and how.
During the course we studied a bit of Lisp, so I thought to use Common Lisp Music (for example), but this is not really important, I think.
Do you have any suggestion about some kind of knowledge representation in the music programming field?
Is it possible to use ChucK with Lisp, for example? |
|
Back to top
|
|
 |
DrJustice

Joined: Sep 13, 2004 Posts: 2112 Location: Morokulien
Audio files: 4
|
Posted: Fri Mar 07, 2008 1:12 pm Post subject:
|
 |
|
ilSignorCarlo, perhaps you should head over to the ChucK programming language forum. I'm sure someone there will know about any ChucK and Lisp connections.
DJ
-- |
|
Back to top
|
|
 |
CJ Miller

Joined: Jan 07, 2007 Posts: 368 Location: 127.0.0.1
|
Posted: Thu May 08, 2008 3:45 pm Post subject:
|
 |
|
ChucK is really interesting, but I am still too busy and a little intimidated to get into it now. By far the easiest algorithmic manipulation of MIDI data I have done was with IRCAMs OpenMusic. It is written in Common LISP and interfaced with Midishare. Unlike ChucK it is not much of a real-time performance environment. For composing and trying different iterations it's a fun and powerful thing.
latest code release:
http://sourceforge.net/projects/ircam-openmusic/
main page, including documentation:
http://recherche.ircam.fr/equipes/repmus/OpenMusic/ |
|
Back to top
|
|
 |
Inventor
Stream Operator

Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Thu May 08, 2008 5:50 pm Post subject:
|
 |
|
I have experimented a little bit with neural nets and ChucK. I make the nets do processing of the music in real-time and that is computationally intensive so I've been limited to about 50 neurons. Still, that is enough to do some song learning in a very crude way.
In one example I gave each neuron a variable delay element and used a stochastic optimization algorithm for the training. In another i trained with backprop on the error of the song's FFT coefficients. Both techniques start out with the net just clicking or babbling, then gradually real sound starts to come out. Once the training is done, I degrade the input signal and see how well the output holds up.
I'm not sure how much of these programs is based on learning the song and how much is just learning to pass audio thru to the output. You'll want to set up your simulation so that simply passing the audio from input to output is not a solution to the learning problem.
Regarding your question, just what do you mean by knowledge representation? I'm not familiar with that phrase.
I don't know much about markov chains, but from what little I do know, they would be just great for this purpose. Let us know what you end up creating, I like AI music programs! _________________ "Let's make noise for peace." - Kijjaz |
|
Back to top
|
|
 |
ilSignorCarlo

Joined: Sep 17, 2007 Posts: 28 Location: Bologna
|
Posted: Thu May 22, 2008 5:21 am Post subject:
|
 |
|
Inventor wrote: |
Regarding your question, just what do you mean by knowledge representation? I'm not familiar with that phrase. |
Well, you represent a certain knowledge in a way such that a program can understand it and get conclusions. This usually is implemented with a technique called forward-chaining, or backward-chaining and they are based on inference rules.
You have some hypothesis and a conclusion.
In music I think it would be nice to represent a knowledge about notes, harmony, tonality. So, if you have a certain number of notes, the program can tell you the tonality. Something similar... _________________ Self-referential phrases, like this one, are not so funny or good for a forum signature. |
|
Back to top
|
|
 |
|