Tag Info

Hot answers tagged

17

Max has been around for 20 years. Max gives you the parts to create unique sounds, stunning visuals, and engaging interactive media. These parts are called ‘objects’ – visual boxes that contain tiny programs to do something specific. Each object does something different. Some make noises, some make video effects, others just do simple calculations or ...


11

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


7

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


7

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


6

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


6

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


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

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

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

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

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


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

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


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


1

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


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

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.


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


1

The answer by jadarnel27 is a good one, but there are other scenarios one would prefer when a computer program is created. For example: 1) Your computer program can be used to create abstract forms of music. Which brings other interesting questions to the table: what is random? And how to connect randomness? I would like to advise you not (only) to think ...



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