Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by torstenanders

  1. Yes, I can specify that the attribute sends some MIDI messages like key switches or CC messages at the moment when the event with the attribute starts. However, for defining an attribute like ped1 I need to additionally specify a MIDI message to be send at the end of the note in question. And for defining an attribute ped I would need to be able to specify the following behaviour. ;; Pedal depressed for exactly two notes '(q c4 ped e4 g4 c5) ;; Pedal depressed for the whole phrase '((ped q c4 e4 g4 c5)) > You can define any attributes with DEF-SOUND-SET
  2. Thanks a lot! Brief question just to clarify: the MIDI output of the existing ped and ped1 attributes cannot be defined with def-sound-set? Confirmation: The MIDI output of sost-ped and una-corda is working as well. For completeness, harm-ped (available for Pianoteq) is not. One of the reasons is that at least with Pianoteq 6 it should use CC 69 instead of CC 68 as specified in the pianoteq sound set, but that is not the only reason (seemingly the relevant text attribute is not even existing. Anyway, that is an only rarely used technique and available on
  3. I am trying to add a new text attribute for half pedalling (later in my scoring application Dorico I can translate that into the proper pedalling notation) and then specify for playback the MIDI CC messages it would need to send (e.g., the new attribute half-pedal sets the damper-pedal CC set to 64). Naively, a simple solution seems to be to complement this half pedalling with a text attribute for releasing the pedal (rel-pedal sets damper-pedal to 0) as shown below. So, I added the following to my pianoteq sound set (besides defining these text attributes). :group omn full-pedal (Pe
  4. Is it safe to completely delete the folders fr.lproj and it.lproj in /Applications/Opusmodus.app/Contents/Resources when I only need the English version? HD space is somewhat limited on my laptop and this amounts to half a GB which I seemingly do not need. The tricky bit is that I would need to delete these folders with every update, but hey Thanks! Best, Torsten
  5. Yes, I understood that, and for a mere preview this is good enough (e.g., no nested layouts needed).
  6. Just for context: my function preview-score (link to doc) in the tot library -- which was perhaps the inspiration for the later function ps -- expands in the background simply into a call to def-score. In def-score, we can specify a layout of nested brackets, braces etc. separately of the actual music, which is expressed by individual single-nested OMN sequences. The function preview-score retained this separation: individual single-nested OMN sequences on the one hand, and the specification of the nested layout separately. By contrast, in the function ps this separation of concer
  7. Apologies. Found the reason for problem 1 in my own setup and fixed it. I had defined a custom articulation ped (expressing a coupler for the organ), which interfered. I renamed that coupler articulation. Anyway, I still would be grateful for a response to the following: Is it correct that the attributes ending in 1 (e.g., ped1) denote a pedalling that is always released (or re-pedalled) at the end of a note, while the other attributes (e.g., ped) can continue to the following note? Can I perhaps somehow change a def-sound-set definition so that the damper peda
  8. Thanks! Yes, as I said I know that I can write the following, where rh and lh etc. are standard single-nested OMN sequences. (ps 'my-instrument-set :p (list rh lh)) (ps 'gm :sq (list vl1 vl2 va vc)) Perhaps I just need to define some custom function that automatically translates my preferred representation -- where all parts (including rh and lh) are represented individually for simplifying further processing -- into the representation above
  9. Apologies, this is a lengthy message, but I want to provide all the relevant technical details to demonstrate the problem. I would like to control piano pedalling (e.g., with Pianoteq). Many things seemingly work out of the box once the predefined pianoteq sound set is specified (nice!), but some things I would like to refine. The PDF document 4th Element Attributes lists the attributes related to pedalling: ped1 ped half-ped1 half-ped sost-ped1 sost-ped una-corda1 una-corda First a question (could not find the in the docs): the attributes en
  10. The functions ps and def-instrument-set allow some control over the resulting layout of the score (grouping of instruments by brackets etc.), e.g., by using some predefined ensemble "instruments" like :sq for string quartet. Is it perhaps also possible to somehow set the layout options supported by def-score in this context? For example, would it be possible to specify the music for the left and right hand of a piano separately (i.e. not together in a triple-nested list), but then have both parts notated on a grand staff? Here is an example (not working) -- amended from the ps docu
  11. I provided a variant for unfold that has some advantages (support for arbitrary function arguments instead of a custom symbol for each argument combination set up with def-unfold-set), but I did not say that it would replace it In addition to what you said, the unfold function is also baked into your counterpoint function, while this alternative is not. > apply the the unfold method to a specific bar Sure. That also works with this variant, as shown above by using the argument section supported by most OPMO functions. (fn-unfold '((tr 12) (ld (2 3)
  12. Common Lisp does usually not distinguish between lower and upper case in its symbols. Standard Common Lisp compilers always return symbols with only upper case therefore by default, but Opusmodus seemingly does internally some trickery to change that to always lower case. It is possible with Common Lisp to specify symbols that distinguish between cases by wrapping the symbol names within bars (|) like so. ? '|TesT| |TesT| ? '(|TesT|) (|TesT|) Unfortunately, this does not to work fully in Opusmodus for all cases, possibly because of the internal sy
  13. Copied from doc: The 'arp-adlib' arpeggiation needs special mention because it responds to the ordering of pitches in the chord. Look at the third list (bar), third chord. (-e - a5d5fs4 f c6f5fs4 d5b5g4 arp-adlib g5d5a4 gs5ds5gs4 gs5e5gs4) Audition this with Cmd-1 (d5b5g4 arp-adlib)
  14. > can we ... a file with our customized methods with your function? You can put this function fn-unfold wherever you want, as long as that file is loaded at startup, and likewise also any other function including functions like tr above > we can call the specific sets in the unfold function without having to evaluate the complete procedure of each method ? Questions concerning the original unfold function are better answered by Janusz, I guess... Good night (its 23:00 over here...), Torsten
  15. I like how the function unfold allows for rather concisely expressed transformations. I also like that with this function, methods can easily by commented out or added without changing the nesting structure of the overall Lisp program. However, what I do not like is that the unfold methods don't support any further arguments, and as a result the required preliminary work with def-unfold-set is rather cumbersome. So, I rolled by own version of unfold that addresses this shortcoming. This new function works as follows: you can use the names of arbitrary Opusmodus functions, as long
  16. > I don't think that modes and scales are archaic systems I also agree that while the distinction between flats and sharps is old it is not outdated. In my view, (eb4 bb4) is a fifth, while e.g. (ds4 bb4) is not, regardless of the tuning system. > the system translate integers 0 1 2 3 4 5 6 7 8 9 10 11 = c, cs d eb, e, f, fs, g gs, a, bb b. That is one way to map tone names to integers. There exist other ways that preserve the enharmonic notation and still allow for the pitch class arithmetic that those 12 pitch class integers allow for. One approach is to transl
  17. Thanks a lot, this really helps!
  18. I can confirm that audition and notation of snippets unfortunately does not work for me either with the builtin Slime in Opusmodus. E.g., I am trying to place the cursor behind an Opusmodus function call an execute the relevant short cut (e.g., C-c o a), but nothing happens. C-c o ? seems to work, though. Anyway, my own Slime interface works, at least for me...
  19. I cannot answer for the builtin Opusmodus Slime functionality, but I developed something similar some time ago on my own, which works in Aquamacs for me. Try copying the Emacs Lisp code below into your Emacs initialisation file (e.g., ~/.emacs), start Aquamacs again and open a Lisp file. The code below adds to Emacs buffers in Lisp mode an Opusmodus menu with some standard commands like for previewing a snippet, stopping the playback etc. together with shortcuts shown in the menu. It is all a bit hacky, but works for me and perhaps also for others It should also be
  20. Brilliant, this is exactly the missing function I described And such a lightening-fast response too! Thank you very much indeed! Torsten
  21. Hi, Is there perhaps a way to adjust the overall duration of a nested (barred) OMN sequence? In particular, is there a function to cut notes etc. at the beginning/end of a sequence, so that the result has a specified overall duration? The first example just demonstrates what I would like to have. (setf phrase '((1/2 c4 1/4 d4) (1/4 e4 1/2 c4))) ;; Edit phrase such that the result is exactly 5/4 long by preserving the nesting structure (function-I-am-looking-for 5/4 phrase) ; => ((h c4 q d4) (q e4 c4)) ; cut material at end ; => ((q c4 q d4) (q e4 h c4)) ; c
  22. If your goal is for you as a teacher to create documents for your students to read containing Common Lisp and Opusmodus code, and where you want to evaluate the code directly from within that document, then Org mode with embedded Common Lisp + Slime is your friend. This is a very powerful combination, that can automatically create nice slides (with the LaTeX beamer interface), embed music notation (Lilypond) etc. I used this combination for years for teaching, had then all sessions of a course in a single document for easily moving content around etc. Nevertheless, you likely do no
  23. Are these sessions somehow recorded for a record perhaps?
  • Create New...

Important Information

Terms of Use Privacy Policy