Tag Info

Hot answers tagged

6

To answer your main question, yes you can do this by applying counterpoint to the melody tones. If you pick up a small book called "The Study of Counterpoint" by Johann Fux, it basically provides you with an algorithm for harmonizing any melody tone. The guy in the video isn't doing anything special;his left hand is just cycling through a standard and ...


5

The infinity of the series isn't much of a problem: any Turing-complete language can deal with infinities. In procedural languages this tends to require rather ugly loop constructs. It's much nicer in lazy functional languages, the most prominent being Haskell. As for the algorithm itself – you can do something usable (if somewhat boring; the solution you ...


4

See this SO question. I'm not sure if this is exactly what you need, but it might help. Because I'm just linking another question, I'd normally put this as a comment. However I don't have commenting permissions on this site (yet).


4

Getting into tracker software might another approach. You could consider the tracker score notation the programming language, and the tracker player the complier/interpreter. There are plenty of music modules (songs) you can load and play with. These are shared all the time. You can use tracker software out of the box to edit your 'input music' (E.g. ...


3

Besides Haskore which is already mentioned in the paper you refer to and the ones mentioned by other, there is "supercollider" and "pure data". I absolutely understand you question. I've been looking for such a high-level thing myself. Here are my personal thoughts on this: I haven't found anything good and came to the conclusion, that there are no ...


3

One can consider Lilypond to fit in this mold: although it is more focused on typesetting music, it can output a MIDI representation of the score. However, I find that, in terms of basic usage, it is not easy to achieve expressive effects in the midi output. In addition, it has no real-time capabilities. I mention it primarily since it may provide ideas ...


3

I am not sure if they include all of the features you require. But the java jmusic library is quite extensive, I think that would be your best shot. Otherwise other options would be JFugue, music21 (python) or the visual programming language CSound, from ircam, also very extensive.


2

I think Overtone has what you're looking for and more. It's a Clojure library that acts as a powerful front-end to SuperCollider. It may take a while to learn how to use it (especially if you're new to Clojure), but once you do, it's quite powerful and flexible. You can do things like define a melody as a sequence of scale intervals, and then combine that ...


2

Édouard mentions OpenMusic, somewhat similar, and descendant of PatchWork is PWGL (http://www2.siba.fi/PWGL/). Looking at what you need from a language it might be useful especially 'constrains' part of PWGL. Learning curve is steep (LISP) but well worth your time. Some great external libraries for rhythm manipulation too. good luck


1

I think the reason this works is that all of the digits are assigned to notes within a scale, A harmonic minor. This in itself is a set of rules and reduces the complexity of the harmonic language. Similarly, rules can be created to accompany the melody in a consonant way. The easiest way to start would be to have a rule that the melodic note on each ...



Only top voted, non community-wiki answers of a minimum length are eligible