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.