Jump to content

All Activity

This stream auto-updates     

  1. Yesterday
  2. Last week
  3. The upcoming release will allow you to open display-midi, display-musicxml, graphs and snippets in a separate window. For any of you using second monitor this will be great addition to your work flow. Examples: (display-midi 'score :display :window) (display-musicxml 'score :display :window) Best, Janusz
  4. Wow that is some stellar work, I do play guitar but I mainly compose on piano will send this along to my guitar playing friends, seems like a very valuable source. I already had some new things to learn in the first few lines of your provided example so I had a productive day yesterday. I have no doubt that you're familiar with these, but for others that might be interested, I found some useful tools for PCS analysis as well as a nice explanation on the subject. https://www.fransabsil.nl/htm/toneset.htm#toneset_userguidelines https://www.mta.ca/pc-set/pc-set_new/pages/introduction/toc.html
  5. Stephane Boussuge

    HELP needed on Jazz Lines from fragments

    Great ! i will be fan of this function ! S.
  6. JulioHerrlein

    HELP needed on Jazz Lines from fragments

    Thanks, Janusz ! Best, Julio
  7. opmo

    HELP needed on Jazz Lines from fragments

    The code is not very complex but it needs to work with pitch sequence, chords (last value) and omn-form sequence. The document will explain how it all works.
  8. JulioHerrlein

    HELP needed on Jazz Lines from fragments

    Dear Janusz, EXACT !!! Looks great !! Nice touch adding the row operations inside it (p, i , r and ri). Is it too hard to code ? Best, Julio
  9. opmo

    HELP needed on Jazz Lines from fragments

    Will be added to the next release: (setf pattern '((s c4 d4 e4 g4) (s c4 d4 g4 e4) (s g4 e4 c4 d4) (s c4 d4 f4 g4) (s c4 d4 g4 f4) (s g4 f4 c4 d4) (s c4 d4 g4 f4) (s g4 gb4 f4 g4) (s g4 gb4 f4 a4) (s d4 f4 g4 a4) (s a4 g4 f4 d4) (s d4 f4 g4 c5))) (pattern-series '(1 1 2 1 2 1 2) pattern) => ((s c4 d4 e4 g4) (s gs4 bb4 eb5 c5) (s cs5 bb4 fs4 gs4) (s bb4 c5 eb5 f5) (s fs5 gs5 cs6 b5) (s cs6 b5 fs5 gs5) (s a5 b5 e6 d6) (s e6 eb6 d6 e6) (s f6 e6 eb6 g6) (s gs6 b6 cs7 eb7) (s f7 eb7 cs7 bb6) (s b6 d7 e7 a7)) (pattern-series '(1 1 2 1 2 1 2) pattern :variant '(p p i r ri p p)) => ((s c4 d4 e4 g4) (s gs4 bb4 eb5 c5) (s cs5 bb4 fs4 gs4) (s bb4 gs4 f4 eb4) (s e4 fs4 cs4 b3) (s cs4 eb4 bb3 gs3) (s a3 b3 e4 d4) (s e4 eb4 d4 e4) (s f4 e4 eb4 g4) (s gs4 b4 cs5 eb5) (s f5 g5 a5 c6) (s cs6 gs5 fs5 eb5)) (pattern-series '(1 -1 2 -1 2 -1 2) pattern) => ((s c4 d4 e4 g4) (s gs4 bb4 eb5 c5) (s b4 gs4 e4 fs4) (s gs4 bb4 cs5 eb5) (s d5 e5 a5 g5) (s a5 g5 d5 e5) (s eb5 f5 bb5 gs5) (s bb5 a5 gs5 bb5) (s b5 bb5 a5 cs6) (s c6 eb6 f6 g6) (s a6 g6 f6 d6) (s cs6 e6 fs6 b6)) (pattern-series '(1 -1 2 -1 2 -1 2) pattern :variant '(p p i r ri p p)) => ((s c4 d4 e4 g4) (s gs4 bb4 eb5 c5) (s b4 gs4 e4 fs4) (s gs4 fs4 eb4 cs4) (s c4 d4 a3 g3) (s a3 b3 fs3 e3) (s eb3 f3 bb3 gs3) (s bb3 a3 gs3 bb3) (s b3 bb3 a3 cs4) (s c4 eb4 f4 g4) (s a4 b4 cs5 e5) (s eb5 bb4 gs4 f4)) with random (1 2) (pattern-series (rnd-sample (length pattern) '(1 2)) pattern) etc... (pattern-series (rnd-sample (length pattern) '(13 -13)) pattern :variant '?) Best, Janusz
  10. JulioHerrlein

    HELP needed on Jazz Lines from fragments

    Let's take one example: Take a set of 12 melodic patterns, like this: (setf jazzpit (substitute-map '( (s c4 d4 e4 g4) (s c4 d4 g4 e4) (s g4 e4 c4 d4) (s c4 d4 f4 g4) (s c4 d4 g4 f4) (s g4 f4 c4 d4) (s c4 d4 g4 f4) (s g4 gb4 f4 g4) (s g4 gb4 f4 a4) (s d4 f4 g4 a4) (s a4 g4 f4 d4) (s d4 f4 g4 c5)) '(0 1 2 3 4 5 6 7 8 9 10 11) '(0 1 2 3 4 5 6 7 8 9 10 11))) In this way, when I evaluate the substitute map, a got exactly the justaposition of the 12 four note patters one after another, like this: If I want to have all the patterns connected by (for example) one semitone, I can MANUALLY arrange all the transpositions in a way that the connection by semitone is achieved, like this: (pitch-transpose '(0 6 2 3 11 8 9 6 5 11 10 11) jazzpit) But I have calculate this transpositions MANUALLY, one by one, figuring out, depending on the order of the patterns, wich transposition will give me the connection by semitone. Evaluating the expression above I get this: There are EXACTLY the same patterns of the example before transposed to connect to each other by semitone. THIS IS THE POINT: I can achieve it just because I know BEFOREHAND the order of the patterns. If the process of ordering the patterns is done randomly, how can I figure out the transpositions ?? I'll explain: Let's look to another example: Let's say I have exactly the same 12 patterns but with the order choosen randomly by a rnd-unique function, like this: (setf jazzpit (substitute-map '( (s c4 d4 e4 g4) (s c4 d4 g4 e4) (s g4 e4 c4 d4) (s c4 d4 f4 g4) (s c4 d4 g4 f4) (s g4 f4 c4 d4) (s c4 d4 g4 f4) (s g4 gb4 f4 g4) (s g4 gb4 f4 a4) (s d4 f4 g4 a4) (s a4 g4 f4 d4) (s d4 f4 g4 c5)) '(0 1 2 3 4 5 6 7 8 9 10 11) (rnd-unique 12 '(0 1 2 3 4 5 6 7 8 9 10 11)))) Now, each time I run this expression, I will get a different order of the same 12 patterns, like this: FIRST RUN: SECOND RUN ETC... In each case, the order of transpositions to make a connection between each four-note patterns by semitone could not been calculated manually because I don't know beforehand what will be the result of the expression. I would need a kind of buffer function that informs me what would be the first and last note of each pattern after the rnd-unique, so with this information, I could find a formula to map this information with the transposition sequence, in order to connect every pattern with a semitone between the its last and first note. I don't know how to antecipate the result of a random process, or to have it inside a loop of decicion making process inside Opusmodus. Please, let me know if I was clear in the explanation. Best, Julio
  11. opmo

    HELP needed on Jazz Lines from fragments

    What is the input (sequence) and what would be the result, Example please.
  12. JulioHerrlein

    HELP needed on Jazz Lines from fragments

    Thanks , Janusz. I was trying to find a way to implement an algorhythm to process the randomness. Depending on the random result, the transposition would be adjusted based on the last note generated. Best, Julio
  13. JulioHerrlein

    Different Voice for one note in a Chord

    Very nice, Jordv ! I'm very interested in Harmony. Let me know about your progress in this matter. I did a book about set theory and harmony. If you play guitar, you gonna like it. It have all the possible voicings with diagrams for guitarand much more, like hexatonics, voice leading, functional harmony, etc. Here's the link https://www.melbay.com/Products/30042BCD/combinatorial-harmony-concepts-and-techniques-for-composing-and-improvising.aspx And another post related to it All the Best, Julio
  14. Thanks Janusz for the very straightforward example! @Julio, looks like I'm in for an educational weekend! It seems like there's a lot of useful ideas in there. I am currently building a library of functional progressions, I think the ideas you're showing will be incredibly valuable for that, thanks a lot!
  15. JulioHerrlein

    Different Voice for one note in a Chord

    Dear Jorvd, Maybe this post can be useful. Best, Julio Or maybe this. I did it for composing a String Quartet from a piano reduction. It brings some ideas to work with harmony. Best, Julio ;;;HARMONY METHOD 2 ////////////////////////////////////////SEV CHORDS Basic Functions SETS/// ;;SETS 7-35 - Major Scale (setf Srm7 (pcs-transpose 9 (pcs '4-26) :pitch)) (setf S7M (pcs-transpose 4 (pcs '4-20) :pitch)) (setf Trm7 (pcs-transpose 4 (pcs '4-26) :pitch)) (setf T7M (pcs-transpose -1 (pcs '4-20) :pitch)) (setf Tam7 (pcs-transpose 11 (pcs '4-26) :pitch)) (setf D7 (pcs-transpose 11 (pcs '4-27b) :pitch)) (setf hd (pcs-transpose 9 (pcs '4-27) :pitch)) (setf F7M#11-5 (gen-rotate 2 (pcs-transpose -1 (pcs '4-8) :pitch))) ;;;Establishing a Progression (setf chordprog (chordize (list Srm7 S7M Trm7 T7M Tam7 S7M))) ;; Some repetitions and transpositions from Harmonic functions (setf chordtrp-rpt (pitch-transpose-repeat '((0) (1 2 3) (0 -1)) (chordize (list T7M S7M Trm7 T7M T7M T7M T7M T7M T7M T7M T7M T7M T7M T7M)))) ;;; DEFINE DROP TYPES Position of chords (setf csd '(0 0 0 0) dp2 '(0 -12 0 0) dp3 '(0 0 -12 0) dp2-4 '(0 -12 0 -12) dp2-3 '(0 -12 -12 0) ddp2-3 '(0 -24 0 -12) dp-24 '(-24 -24 -24 -24) dp-ligeti '(-24 -24 24 24)) ;;;DROP ORDER - Order of Positions (setf droplist (flatten (list dp2-4 dp2 dp2-4 dp3 dp2))) ;;;MAKING THE Actual Voicings (setf chordprogdrop (chordize-list (pitch-transpose-n droplist (sort-desc (pitch-melodize chordtrp-rpt))))) ;;;Using the voicings for the final result (setf chordprgtrp chordprogdrop) ;;; Choose how many repeats of the rhythm (setf times 1) ;;;Transform the chords into separate voices (setf voz1 (flatten (pitch-demix 1 chordprgtrp))) (setf voz2 (flatten (pitch-demix 2 chordprgtrp))) (setf voz3 (flatten (pitch-demix 3 chordprgtrp))) (setf voz4 (flatten (pitch-demix 4 chordprgtrp))) ;;; (OPTIONAL) Process AMBITUS Instrumental ou vocal//////////////////////////////////////// ;(setf vozamb1 (ambitus '(c4 c5) voz1) vozamb2 (ambitus '(f3 c5) voz2) vozamb3 (ambitus '(g3 g4) voz3) vozamb4 (ambitus '(c2 e3) voz4)) ;(setf vozamb1 (ambitus (ambitus-instrument 'flute) voz1)vozamb2 (ambitus (ambitus-instrument 'oboe) voz2) vozamb3 (ambitus (ambitus-instrument 'clarinet) voz3) vozamb4 (ambitus (ambitus-instrument 'bassoon) voz4)) (setf vozamb1 voz1 vozamb2 voz2 vozamb3 voz3 vozamb4 voz4) ;;;HOMORHYTHM (setf homorhy (gen-repeat times '(q stacc -q e stacc q e stacc h h -s s pizz s pizz s pizz)) r1 homorhy r2 homorhy r3 homorhy r4 homorhy)(setf arthomo '(stacc stacc ord stacc ord ord leg leg ord)) (setf dynhomo '(f f mf mf p< f mp< < <)) ;; THE DYNAMICS are a little crazy, but this is only to show the stuff ;;;outra possibilidade para homorritmo ;;;lista do ritmo e articulação basica (setf ritrepeat '(-s s s s s -s s s e stacc e stacc -s s ord s s -s s s s e stacc e stacc h ord -s s s s -s s s s e stacc e stacc -e q. ord e stacc e stacc e -s s ord s s -s s -h -q s s -s s h -h)) ;;;repetições (setf homorhy (gen-repeat times ritrepeat) r1 homorhy r2 homorhy r3 homorhy r4 homorhy) ;;;OMN ASSEMBLAGE da LINHA (for poliphony) (setf vozomn1 (make-omn :length r1 :pitch vozamb1 :articulation arthomo :velocity dynhomo)) (setf vozomn2 (make-omn :length r2 :pitch vozamb2 :articulation arthomo :velocity dynhomo)) (setf vozomn3 (make-omn :length r3 :pitch vozamb3 :articulation arthomo :velocity dynhomo)) (setf vozomn4 (make-omn :length r4 :pitch vozamb4 :articulation arthomo :velocity dynhomo)) ;;;--------------------------------------------------------- ;;; SCORE ;;;---------------------------------------------------------- ;;; ;;; (OPTIONAL) Time Signature Sequences (setf time-signatures '((2 4 1) (3 4 2) (4 4 1))) ;;;ONLY ONE TIME SIGNATURE ;(setf time-signatures '((4 4))) (def-score voices (:title "Piano-Red-4-Voices" :subtitle "Estudos Polifônicos" :composer "Julio-Herrlein" :key-signature 'atonal :time-signature time-signatures :tempo '("Meditativo" q 60) :layout (piano-solo-layout '(pno-rh1 pno-rh2) '(pno-lh pno-lh2))) (pno-rh1 :omn vozomn1 :channel 1 :sound 'gm :program 'Violin :volume 100) (pno-rh2 :omn vozomn2 :channel 2 :sound 'gm :program 'Violin :volume 70) (pno-lh :omn vozomn3 :channel 3 :sound 'gm :program 'Viola :volume 80) (pno-lh2 :omn vozomn4 :channel 4 :sound 'gm :program 'Cello :volume 80))
  16. JulioHerrlein

    XML Snippet "open with" context menu option

    Thanks a lot, Janusz ! Best, Julio
  17. Earlier
  18. Example: (setf v1 '(h e5 d5 b4 c5)) (setf v2 '(h g4 a4 q g4 f4 h e4)) (setf v3 '(h c4 f4 d4 c4)) (setf v4 '(h e3 f3 g3 c3)) (def-score Cade (:key-signature 'chromatic :time-signature '(4 2) :tempo 80 :ignore-time-signature t :ignore-tempo t :layout (piano-layout '(v1 v2) '(v3 v4))) (v1 :omn v1 :channel 1 :sound 'gm :program 0) (v2 :omn v2) (v3 :omn v3) (v4 :omn v4) )
  19. Hi everyone, this one should be pretty simple but I can't seem to figure it out yet. I am trying to notate this (see attachment) first bar in OM. So far I have this: (h e3c4g4e5 f3f4a4d5 z^q g4 f4 h g3d4b4 c3c4e4c5 ) Which doesn't work yet, although it's close. Additionally, I would love to use the same figured bass notation (with the brackets and everything). I know how to use the text attribute for Instruments but it seems to map everything based on white-space between the text, maybe I'm missing something? Thanks! - Jor
  20. opmo

    XML Snippet "open with" context menu option

    First, you need to create a musicxml file from your score: (compile-score 'file-name :output :musicxml :file "file-name") Next: (musicxml-to-editor "file-name") To open the file in Finale: (musicxml-to-editor "file-name" :application "Finale") If the application name is not working you can use the identifier keyword with the bundle-identifier. For example the Sibelius 7.5 version identifier is "com.avid.Sibelius75" (musicxml-to-editor "file-name" :identifier "com.avid.Sibelius75")
  21. Stephane Boussuge

    Snippet with key signatures

    As an alternative solution, You may use Torsten Anders's preview-score function for doing what you want: SB.
  22. Andy

    Snippet with key signatures

    OK understood, thanks.
  23. opmo

    Snippet with key signatures

    def-score is a score which is a finished work. For ideas I suggest to create a new file with your expressions. If you like to call some of your ideas algorithmically then you need to create a def-library. You don't need to care about a time signature or key signature, all that you do on a score level and not on a snippet level.
  24. Andy

    Snippet with key signatures

    Mmm so this relates back to my earlier question about libraries and storing ideas and multiple def-scores in a single document. To store an "idea" which can be viewed with a key signature in notation I have to save it as a def-score, but each composer document (.opmo) can effectively only have one idea in it, because each .opmo file uses only one def-score, as previously discussed. (I know it can have the code of an infinite number of def-scores, however only the last def-score will 'Evaluate and Audition and Notation" i.e it's not possible to highlight a def-score in a composer document as discovered in my last post) I'm confused to be honest..the whole structural thinking in Opusmodus is confusing me!
  25. opmo

    Snippet with key signatures

    Snippet is just a snippet not a fragment of the score.
  26. Is it possible to have a key signature with a snippet? Thanks
  27. Please drop the file "v.aiff" into the ~/Opusmodus/Media/Audio directory. This file is a part of one of the CLM examples. soundfile: v.aiff
  28. CLM Installation Common Lisp Music, by William Schottstaedt is a powerful sound synthesis language implemented in Lisp and C. CLM is essentially a toolbox for instrument building. Although it comes with a number of instruments ready to use, most composers use CLM to define their own instruments. For those of you that wish to dive into CLM sound synthesis system, I advise everyone to read this document carefully first. 1. Command Line Tools First you need to find out if "command line tools" are installed in your system. The C compiler is essential at the instrument compile and load time. Launch the Terminal, found in /Applications/Utilities/ To check if command line tools are installed run: xcode-select --version if installed you will see the below with the version found in your system, something like that: xcode-select version 1234 If command line tools are not installed run: xcode-select --install A software update popup window will appear that asks: “The xcode-select command requires the command line developer tools. Would you like to install the tools now?” choose to confirm this by clicking “Install”, then agree to the Terms of Service when requested. Wait for the Command Line Tools package download to complete, it’ll be about 130MB and installs fairly quickly depending on your connection speed. The installer goes away on its own when complete. Enjoy your new unix command line toolkit! 2. Load and Compile Instruments CLM system comes with a number of instruments which are a great starting point to see and hear CLM in action. Some of them are simple others are complex. Before you can run any of the instruments you must compile them first. To do that you need to open and evaluate a file "Load CLM Instrument.lisp", you will find the file in the CLM directory. This process will take a minute or so and it will create binary and dynamic library files for each of the instruments. The binary files will be saved in the bin directory and the library files will be saved in the libclm directory. After this process is completed you are ready to run the CLM Examples. If you wish to load your instruments at the startup of the app move the "Load CLM Instrument.lisp" file into the “~/Opusmodus/Extensions/“ directory. Thats all you need to do to make CLM system work in Opusmodus. Best wishes, Janusz
  1. Load more activity
×