|
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
|
| I have some ideas to be put into the program. For example, there are
many music styles that can be implemented into the program such as Rock,
Jazz, Classics, Japanese Traditional, Hawaiian, etc. And the user-interface
has space for improvement. If you have any comments or requests, please
send me an e-mail. A new version will be released every month. |