Hot answers tagged

14

That is a very complex question. If you are just looking for simplicity, you could follow some fairly straight-forward guidelines though. Choose some "candidate" chords. I would think I, ii (minor), iii (minor), IV, V, and vi (minor) are all very good candidates for a nice sounding progression. vii° could be a used very sparingly (it would be a ...


9

Besides Haskore which is already mentioned in the paper you refer to and the ones mentioned by others, there is SuperCollider and Pure Data. I absolutely understand your 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 ready-made ...


9

Use the chord ladder to determine your chord progression. There's a thorough explanation of it here, but basically, you want to move down the ladder. So the iii goes to the vi, which can go to either the ii or the IV. Note that in the last measure, you can either resolve to the I, ending your progression or you can go back to the second rung and play the ...


8

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 ...


7

well, what I've done so far (I'm prototyping in perl and if it's useful, moving it to c++) is make chord progressions following this: http://mugglinworks.com/chordmaps/part5.htm Giving the chords a certain number of beats, And putting the chords into certain rhythm arrangements that'll still fit a real pair of hands. As in http://www.scribd.com/doc/...


7

Sounds to me like exactly the same principle. The first rhythm gets faster and faster until it becomes a blur of noise and is removed from the sound, but over the top of that is superimposed the same rhythm at half speed. While you're listening to the first rhythm get faster, the second does the same, and eventually becomes the main focus of attention. By ...


5

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).


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 ...


5

You may be interested in the CHucK programming language. https://www.coursera.org/course/chuck101


5

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. ...


4

I also recommend looking into Supercollider SuperCollider is an environment and programming language for real time audio synthesis and algorithmic composition. It provides an interpreted object-oriented language which functions as a network client to a state of the art, realtime sound synthesis server. It is open-source, with good community support ...


4

I'm not 100% sure what your goals are since I see a conflict between using the tone net, which just goes off in all directions with more and more sharps/flats, and your goal of limiting/manipulating the number of sharps and flats. In conventional music the key signatures are (usually) selected so as to avoid double-flats/sharps and the use of chromatic ...


4

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

Give a try to OpenMusic, a visual programming language for symbolic music. It’s a bit frightening at first, but the tutorial should get you going pretty quick.


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.


3

William Sethares, creator of "xenotality" and "exotonality," wrote a book called Tuning, Timbre, Spectrum, Scale. According to Dave Benson in Music: A Mathematical Offering p. 490: The basic thesis of this book is the idea, first put forward by John Pierce, that the harmonic spectrum or timbre of an instrument determines the most appropriate scales ...


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


2

As noted, the term "Pitch Class" (PC) assumes enharmonic equivalence, and there are only 12 of them. Rather than calling them "note names" I have also seen the term "Tonal Pitch Class" (TPC) used to represent the non-enharmonic version of this concept. IOW, F# and Gb have the same PC, but a different TPC. This terminology, for example, is used by the open ...


2

"So, the real way to figure out an interval name, given 2 pitch classes" I think this is the wrong starting point. Pitch class is just the collection of sounds (tones) that are 1 octave apart. In a well-tempered 12 tone system, 0, 1, 2, ... 11 are pitch classes. "First, count the distance between the letters of the pitch classes, then add one." Going ...


2

Here's one possibility, MySong by Dan Morris and others. The technical paper there is worth a read, and its introduction has further references which will probably be worth hunting down. This system doesn't actually play along - it requires a vocal/lead line to be input first, runs an analysis to determine key and fits chords etc. then plays back. Though ...


2

The short answer is: it depends upon what you mean by making the notes in the melody "fit the new chord progression". You could put any chords with a melody; but it might sound very dissonant some or all of the time! And this would: no longer produce an effect similar to the original relationship between melody and harmony (if you have already composed ...


2

There is no solution that does audio and video and light. It's very, very expensive and time-consuming to pre-produce an entire show. Aside from preparation cost, you also have to factor in that all the needed equipment should be brought on tour as well. Most touring DJs cannot afford this and also cannot permit to lock down their playlist. There are a few ...


2

Anything can inspire creation of mathematical systems expressed in music. However, whether the connection is actually less tenuous than any kind of voodoo is a different question. In the manner you pose the question, I don't think that it can be answered positively with an approach reasonably called justifiable. One obvious problem here is that Fourier ...


1

Yes! What I find fascinating is you can find mathematical thinking is many different music styles. Two books that examine 'classical' style: The Math Behind the Music (Outlooks) by Leon Harkleroad Link: http://amzn.com/0521009359 A Geometry of Music: Harmony and Counterpoint in the Extended Common Practice (Oxford Studies in Music Theory) by Dmitri ...


1

I am not certain how your {x,y} pairs map to notes; treating them as chords: echo '{1,2} {1,3} ...' | tr '{},' '<> ' | perl -ple '%p2n=qw/1 c 2 d 3 e 4 f 5 g 6 a 7 b 8 c'\'' 9 d'\''/; s/(\d)/$p2n{$1}'\''/g' | ly-fu --absolute --open --silent - produces which appears unsatisfactory, so perhaps instead the {x,y} blocks are subsequent notes over ...


1

Well, it seems like the answer to the question is that my assumptions are wrong. (Note to self for the future: I should've just looked up intervals on wikipedia as a starting point and I could've easily answered my question.) My first assumption was that you cannot determine the name of an interval without knowing the key it exists in. That seems to be ...


1

Years ago I played around with a language called KeyKit. It represents music as phrase objects and has concepts of notes, chords plus a ton of functions for manipulating and generating music both via coding and by using built-in, simplified graphical controllers. I think that the language is fairly simple to learn. I think the guy that created it still ...


1

Sounds like you want to do something similar to Andrew Sorensen, which is amazing. He uses a language called Extempore, similar to Lisp with a bit of C in it, which allows you to define and play stuff in real time. You can see this in action in this video, where he performs a piece doing live coding.



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