On 3/28/20, Devon McCormick <devon...@gmail.com> wrote:
> has anyone done work with generating music or musical phrases in J?  I'm
> helping someone develop a music training game that starts by generating
> sounds with a particular key, tempo, and phrase length. ...
> I've told my collaborator that I think the generation part should be
> relatively straightforward but I am not schooled in music, so I'm not sure
> how to start.
> Does anyone have any ideas about this?

You might try checking around libraries, online used book sources,
etc., for a book titled "Cybernetic Music" by Jaxitron [i.e., Jack
Citron] (TAB Books, 1985) (344 p.).  [Many of the ideas in the book
are more or less based on "The Schillinger System of Musical
Composition" by Joseph Schillinger (1946), which applies mathematics
to music, especially background music for radio, films, and such.]
The blurb on the rear cover of the paperback (the book was originally
available in both hardcover and paperback) states:

__________________________________________________

The focus here is on using the principles of artificial intelligence
modeling and expert systems to help the musician compose!  This where
you'll find out how to use your  computer to keep track of musical
decisions that you've already made . . . to project possible outcomes
of different musical combinations . . . to generate possible harmonies
for a given melody (or vice versa) . . . or to perform such
time-consuming chores as transposing and orchestrating.  And what the
computer does is all within the parameters that *you* have
established!

The basis of this computerized music generation system is the concept
that rhythmic, harmonic, and melodic elements of music--even music
idiom, style, and form--can be quantified and described in
mathematical terms as vectors, arrays, and matrices.  These elements
can then be manipulated and processed in any way the composer wishes
using the powerful functions of the APL programming language.  Because
APL has the ability to express in a single statement or operation,
ideas that would require multiples lines of code in other languages,
it lends itself particularly well to the necessities of creative
musical composition.
__________________________________________________


Since one of my master's degrees is in music (emphasizing theory and
composition), I bought the book because I was a computer programming
hobbyist (since 1975) with an interest in "marrying" music and
computers and because I owned all of Schillinger's books.  I didn't
know APL (and still don't), and it was only in 2006 that a coworker at
the library I worked for happened to tell me about J.  That interest
grew to the point where, by 3 years later (when I retired), I gave
presentations at library conferences on using J, hoping to instill
interest in others for J.  Anyway, I had hoped to "translate" the APL
code in Jaxitron's book into J, but that has been an idea that has not
yet borne fruit.  I hope I live long enough yet to make an attempt.
On the other hand, maybe somebody in our group is knowledgeable enough
in both APL and J to carry through on such a task.

Another resource for *ideas* is David Cope (see Google or Amazon), who
has written several books on musical composition by computers,
including many code examples.  Unfortunately, he uses Lisp, which
probably would be very difficult to translate to J.  His programs can
learn musical style and then create music that can sometimes be very
similar to well known classical composers (as demonstrated in
published scores by his software and musical recordings of some of
them).  Some of his (expensive!) book titles are:

Experiments in Musical Intelligence (1996)
The Algorithmic Composer (2000)
Virtual Music: Computer Synthesis of Musical Style (2004)
Computer Models of Musical Creativity (2005)
Hidden Structure: Music Analysis Using Computers (2009)

Lately, he has been publishing computer generated novels and musical
scores of various kinds generated by computer.

Hope this helps with ideas you can follow up on!

Harvey
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to