Jump to content


Popular Content

Showing content with the highest reputation on 10/31/2017 in all areas

  1. 1 point
    You may have a look to the function get-harmonic-path. You can decide the harmonic rhythm analysis you use fir this function with the parameter time. You can pass after the output of this function to pcs-analysis. S.
  2. 1 point
    Hello, a new piece for ensemble after viewing an Egon Schiele exposition in Albertina museum, Vienna. SB TheSingleOrangeWasTheOnlyLight Partition complète.pdf
  3. 1 point
    > Given some UNORDERED amount of pitches, how retrive the prime form and/or Forte Number. Check out function pcs-analysis. The problem is that this function does not return, but only print that data, so it is difficult to apply such analysis on a sequence/list of interval sets etc. > How to do this from an existing midi file or XML ? Is t possible to retrive the forte number of every "n" notes of the pitch collection (melody or chord)? You can import MIDI files with function midi-to-score, but not (yet?) MusicXML file. > Can you circunscribe some notes for analysis in a large file ? What do you mean? BTW, for music analysis you may want to have a look at systems designed for that, like the free music21 (http://web.mit.edu/music21/), based on Python. music21 can import music in various formats, including MIDI and MusicXML (the latter is preferable). The kind of analysis you are after is documented in the tutorial, e.g., at http://web.mit.edu/music21/doc/usersGuide/usersGuide_25_postTonalTools1.html?highlight=forte, which shows how you can add, e.g., the Forte class analysis as text (lyrics) to the score, which in turn you could export as MusicXML. With some Python programming you could also export your analysis data in a format that Lisp and thus could in turn import. E.g., you could export it from Python to JSON format (https://docs.python.org/2/library/json.html), and then import that data into Common Lisp (e.g., https://common-lisp.net/project/cl-json/). Best, Torsten
  4. 1 point


    Here is a rather simple function that might be useful for others as well. The function rotate-omn rotates a sequence by the given number of positions, much like gen-rotate. However, you can specify which parameter you want to rotate, whether you want to rotate the flattened sequence or subsequences separately, or only certain subsequences. (setf melody '((-h q c4) (q. f4 e g4 q a4) (h. g4))) (rotate-omn :right melody) ; => ((-h q g4) (q. c4 e f4 q g4) (h. a4)) (rotate-omn :left melody :parameter :length) ; => ((q c4 q. f4 e g4) (q a4 h g4 tie) (q g4 -h)) (rotate-omn 2 melody :section '(1) :flat nil) ; => ((-h q c4) (q. g4 e a4 q f4) (h. g4)) The function is part of my tot library (http://github.com/tanders/tot). It is a generalisation of the built-in gen-rotate, again with a short definition calling my function edit-omn. Best, Torsten
  5. 1 point
    Are you collecting the data each day? Could you send me the data for each of the 4 parameters. For example the function VECTOR-TO-LENGTH could generate the lengths: (setf l-data '(87.10115 149.16446 261.51358 97.36691 349.27936 279.12173 133.68344 313.95352 324.80905 50.51986 137.61513 277.79932 142.74834 194.98927 224.3649 188.95398 114.017494 214.18486 340.42432 175.74698 350.46225 184.5418 153.89604 325.713)) (setf l-scale-data (append '(0.0) l-data '(360.0))) (setf length (butlast (rest (vector-to-length '1/16 1 16 l-scale-data)))) => (5/16 7/16 3/4 5/16 1 13/16 7/16 7/8 15/16 3/16 7/16 13/16 7/16 9/16 5/8 9/16 3/8 5/8 15/16 1/2 9/16 7/16 15/16)
  6. 1 point


    Vienne est très inspirante comme ville. J'y suis allé par deux fois lors de deux voyages en Europe et Turquie (Istanbul-Izmir). Didier
  7. 1 point
    I like it. Quelle superbe introduction. J'apprécie beaucoup le développement qui suit... Superbe. Didier