Music Soft->Windows->Automated Composing System
|
|
Explains the mechanism of the program.
|
|
|
|
Why did I develop this program? |
Although I do not remember well, I think I began
to develop this program in 1993 and completed in early 1994. At
that time, the program was developed with TURBO
C++, and run on a DOS
console. This program was done as project for a graduate course.
(I was studying computer science at the American University.) At
the end of the semester, this program was evaluated by four
professors, two from the computer science department, one from
mathematics, and one from the music department. |
|
|
|
Updates |
After graduation, I returned to Japan and got a
job with multi-media. Then I rewrote the program with Microsoft
VC++, and made it run on Windows.
This was version 1.0 and around in 1996. I started my home-page
in 1998, so I put the program on my home-page as freeware.
Then I added the function of "Okinawa
Music." I bought VC++ Version 5.0 to do this. The
program size was reduced to 43k from 124k, even though I added a
new function! This was version 1.1 and in May of 1998. |
|
|
|
Algorithm |
The program generates chords,
first. This process is done by using random
values and a knowledge-base.
The knowledge-base includes my way of composing a lot. Next, melodies
are generated. This process is also done by using random values.
However, this time, random values are not used directly. Putting
random values into a Lagrange polynomial
function, the function generates a curved
line. To see this, imagine a music staff. Draw a curve on
it. Then ,notes are plotted on the curve. After this task, notes
are fine-tuned. In the process, a knowledge-base
is used again. This knowledge-base also contains my way of
composing. Finally, rhythm is
generated. This process is done by using prepared rhythm
patterns. This process is too simple and may be updated in the
future. |
|
|
|
Comming Version Ups |
The program generates chords,
first. This process is done by using random
values and a knowledge-base.
The knowledge-base includes my way of composing a lot. Next, melodies
are generated. This process is also done by using random values.
However, this time, random values are not used directly. Putting
random values into a Lagrange polynomial
function, the function generates a curved
line. To see this, imagine a music staff. Draw a curve on
it. Then ,notes are plotted on the curve. After this task, notes
are fine-tuned. In the process, a knowledge-base
is used again. This knowledge-base also contains my way of
composing. Finally, rhythm is
generated. This process is done by using prepared rhythm
patterns. This process is too simple and may be updated in the
future. |
|
|
|