Jump to content

All Activity

This stream auto-updates

  1. Yesterday
  2. Hey there! Absolutely, the e-book version of "Fundamentals of Composition with Opusmodus" is such a handy resource! It’s great for anyone diving into music composition.
  3. Thanks for your encouragement, Stephane! In case you want to use this and run into difficulties, just let me know. If I am not responding to any messages on the forum (apologies in advance), feel free to send me an email. You'll find my email address in the impression on my website linked in my profile.
  4. Dear Janusz, > I need to check if we can use Emacs with the new Opusmodus (LispWorks). Any updates on the Emacs/Slime interface for Opusmodus 3? I understand/assume that in order to simplify the Opusmodus interface for most of its users, Opusmodus provides its own IDE with convenient features for things like snippet playback. Indeed, Emacs would be unnecessarily confusing for most of Opusmodus' users. However, for actual Lisp/Opusmodus library development, I personally feel the Opusmodus IDE is currently far less suited than Slime. While there is a debugger already integrated in the Opusmodus IDE (thanks), it is basically only the command line version of the 80s. Also, I have not found any cross referencing support in the Opusmodus IDE (e.g., for jumping to the definition of a function call with a single shortcut). Not sure whether the Opusmodus listener has some short cuts to go back in its history etc. Perhaps I am missing some things, but Slime is a completely different cattle of fish for developers in contrast of users (of course, only after its learning curve). Anyway, I understand if you do not have the resources (or if LW does not allow) for Emacs/Slime integration into Opusmodus 3. I just keep using mainly Opusmodus 2 with working Slime in the meantime. Thanks for all your work on Opusmodus!
  5. Update: My tot library can now in principle be loaded into Opusmodus 3. However, note the current disclaimer (link) in the Readme on some still existing issues with its Opusmodus 3 support. Myself, I will for now continue using mainly Opusmodus 2, because there the Emacs/Slime interface still works. For my workflow, that interface makes a huge difference in terms of work speed etc. (I cannot really develop Lisp libraries without access to an interactive debugger, the convenient cross references between different definitions and so on).
  6. Last week
  7. Thanks very much, Stephane! I have been looking at ways to get Opusmodus to control Kyma and this looks like a good option. I got it working but had to work around the missing function vector-scale. Is that something you wrote? I also have communication with Kyma working over OSC but I'll have to reinvent some wheels to make that a complete solution. Being able to use Opusmodus Live Coding instead is very neat.
  8. Perfect, absolutely brilliant, I just hadn't gotten that out, thank you very much, now I can sleep peacefully again
  9. (setf pattern '(q. c4 e e4 q g4 b4)) (setf dictum '((1 - 1) :extend (- - s) :span 8/4 :methods (la2 - (la2 ra t-12)))) (counterpoint (list pattern) dictum)
  10. thank you very much for your passion, this will really be the last question on this issue: With the pattern (setf pattern '(q. c4 e e4 q g4 b4)) is there a code for this: (pitch and rhythm are retrograde)
  11. (setf pattern '(q c4 e4 g4 b4)) (setf dictum '((1 - 1) :span 6/4 :methods (la2 - (la2 t-12 r)))) (counterpoint (list pattern) dictum)
  12. what would be the code with your pattern: (setf pattern '(q c4 e4 g4 b4)) For this
  13. :extend s means adding rest at the beginning if the span is lager then the given pattern. The la2 will double the rests. Nothing wrong with your code and with the result. To see how all this is work I suggest to make a very simple pattern and see how all this is working. (setf pattern '(q c4 e4 g4 b4)) (setf dictum1 '((1 - 1) :extend s :span 6/4 :methods (la2 - (la2 ra t-12)))) (setf dictum2 '((1 - 1) :extend e :span 6/4 :methods (la2 - (la2 ra t-12)))) (setf dictum3 '((1 - 1) :extend s :span 6/4 :methods (la2 - t-12))) (setf dictum4 '((1 - 1) :span 6/4 :methods (la2 - t-12))) (counterpoint (list pattern) dictum1) => (((-q - - - h c4 mf)) ((-q - - - - -)) ((h b3 mf g3 e3))) (counterpoint (list pattern) dictum2) => (((h c4 mf e4 g4)) ((-q - - - - -)) ((-q - - - h b3 mf))) (counterpoint (list pattern) dictum3) => (((-q - - - h c4 mf)) ((-q - - - - -)) ((-q - q c3 mf e3 g3 b3))) (counterpoint (list pattern) dictum4) => (((h c4 mf e4 g4)) ((-q - - - - -)) ((q c3 mf e3 g3 b3 -q -)))
  14. I understand that ra is gen-retrograde and that if I use :extend s it starts as wanted and is displayed correctly, that is the solution for the example: #|31|# ((2 - 2) :extend s :span 6/4 :methods ((la2 ra) - (la2 ra t-12)) :tempo 112) perfect, violin and violoncello are displayed! but, different example: with :extend s this example #|31|# ((2 - 2) :extend s :span 6/4 :methods (la2 - (la2 ra t-12)) ) shows the Violin in the score and with :extend e #|31|# ((2 - 2) :extend e :span 6/4 :methods (la2 - (la2 ra t-12)) ) the score shows the violoncello I could make a new seq (problem that it is a 6/4?): (setf seq4 '(he b4 p def q bb4 mp> leg q. g4 p def q f4 leg)) #|31|# ((2 - 4) :extend s :span 6/4 :methods (la2 - t-12) ) but that does not work either?
  15. The example of your previous score is correct. Let's check the expression here: #|31|# ((2 - 2) :span 6/4 :methods ((la2 ra) - (la2 ra t-12)) :tempo 112) (setf pat2 '(e f4 p leg e. g4 def e bb4 mp> leg qs b4 def)) (setf 1-step (fit-to-span 6/4 pat2)) => (e f4 p leg e. g4 def e bb4 mp> leg qs b4 p def -h.) (setf 2-step (unfold 'om '(la2 ra) 1-step)) => (-w. he b4 p def q bb4 mp> leg q. g4 p def q f4 leg) (length-span 6/4 2-step) => (-w.) As you can see you need to understand the process of your structure. The (ra) is gen-retrograde, this is why you get (-w) in the first and third voice.
  16. thank you, yes, works like this, the ra function throws the notes out of sync, I understand, how to solve: ((2 - 2) :extend s :span 6/4 :methods ((la2 r ) - (la2 ra t-12)) :tempo 112) ?
  17. #|31|# ((2 - 2) :extend s :span 6/4 :methods ((la2 ra) - (la2 ra t-12)) :tempo 112) #|32|# ((3 3 3) :extend s :span 3/4 :methods (- - - )) #|33|# ((- 2 - ) :extend s :span 6/4 :methods ((ra la2) (ra la2 ) (ra la2 t-12 )):tempo 112))) Just doing this without testing, but I think this is what you need to do.
  18. (Progn (setf seq1 '((s c4 p leg e. cs4 mp ten+def e e4 p leg q. fs4 pp def ))) (setf seq2 '((e f4 p leg e. g4 def e bb4 mp> leg qs b4 def))) (setf seq3 '((e. eb4 p leg qs d4 def s gs4 mf leg e. a4 def))) (setf dictum-d '( #|31|# ((2 - 2) :span 6/4 :methods ((la2 ra ) - (la2 ra t-12)) :tempo 112) #|32|# ((3 3 3) :span 3/4 :methods (- - - )) #|33|# ((- 2 - ) :span 6/4 :methods ((ra la2) (ra la2 ) (ra la2 t-12 )):tempo 112))) (setf globals-d '(- - -)) (counterpoint (list seq1 seq2 seq3) dictum-d :global-methods globals-d :index 'sec-d) (ps 'VSL_ss :vslv1 (list sec-d1) :vslvla (list sec-d2) :vslvlc (list sec-d3) :tempo tempo-sec-d ) ) With this code I would expect: but I get this? Think you for any hint, best wishes Version 3.0.29235 (3.0.29235)
  19. Just drop your functions source file into the ~/Opusmodus/ User Source/ Extensions folder. You might have more than one Opusmodus directory on your system.
  20. If I make the adjustment to the (*) we get: The SPAN is the master and if not given the longest voice is the master, what ever the augmentation is. If you want true expansion of the augmentation then you need to change (if given) or add a span value (times 2) - this is why there is a span in the counterpoint function. You cound create a patterns before with the augmentation this way you would get what you are looking for without playing with the span.
  21. Looks like the problem here is the pedal notation (*). Will check.
  22. thank you for the correction! your score with changed global-method: if I use (setf globals-d '(- - -)(line 53) instead I get nearly the same as your score example(see picture). The fact that the viola is an eighth left (the * in bar 3) makes it more difficult to understand what is happening, and I do not understand the different pitches compared with your score. ===== global augmentation should double the length of a bar in my understanding (of course I could half the tempo instead, but than it affects all voices at the same time, so I find it interesting using (la2 la3 -) at the same time) Anyway, this all is very easy in any score editor and not a real problem, same with moving the material left or right in time. I really appreciate the software, it has played a role in my work in recent years, but never actually as a complete algorithm... best wishes
  23. You use in the global methods augmentation, therefore you are changing the size of the bars. The global methods are not design for augmentation, with other words you should not use aug in globals. The good news is I can make the globals work the way you expect and preserve the original or the given span. Note: 1) Not correct: (setf seq1 '(s c4 mf stacc e. cs4 mp ten+def e e4 p leg q. fs4 pp def)) (setf seq2 '(e f4 p leg e. g4 def e bb4 mp> leg qs b4 def)) (setf seq3 '(e. eb4 p leg qs d4 def s gs4 mf leg e. a4 def)) should be: (setf seq1 '((s c4 mf stacc e. cs4 mp ten+def e e4 p leg q. fs4 pp def))) (setf seq2 '((e f4 p leg e. g4 def e bb4 mp> leg qs b4 def))) (setf seq3 '((e. eb4 p leg qs d4 def s gs4 mf leg e. a4 def))) 2) Not correct, you don't have any sequence of sequences: #|11|# ((1 1 1) :sequence (1 2 3) :span nil :methods ((ra la2) (ra la2) (ra la2)):tempo 112)) should be: #|11|# ((1 1 1) :span nil :methods ((ra la2) (ra la2) (ra la2)):tempo 112)) I would advise you to take some lessons with Stephane about the counterpoint.
  24. (progn (compile-score '((<name> :start 1 :end 90))) (audition-musicxml-last-score) ) or (display-musicxml (compile-score '((<name> :start 1 :end 90)) :output :musicxml)) You don't need to use compile-score, you could add the :start 1 and :end 90 into the def-score: (def-score name (:key-signature 'chromatic :time-signature ’(4 4) :tempo 60 :start 1 :end 90 :layout (piano-layout 'rhand 'lhand)) (rhand :omn rh :port 0 :channel 1 :sound 'gm :program 'acoustic-grand-piano) (lhand :omn lh))
  1. Load more activity
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy