Jump to content

opmo

Administrators
  • Posts

    2,889
  • Joined

  • Last visited

Everything posted by opmo

  1. (Opusmodus 1.1.17866) The new added option :resolution into TONALITY-MAP and HARMONIC-PATH functions solves the problem for variabile harmonic progression.
  2. We are proud to announce 7 new functions and great additions to tonality tools. New: GET-HARMONIC-PATH (sequence &key resolution loop unique sort remove row chord seed) Returns a pitch sequence (tonality, scale) made up of an omn sequence or any number of voices (instruments). DO-SECTION (section function sequence) Distributes an operation over a range of lists. Binary list section returns a processed list if 1. If 0 the list is unchanged. A list section with symbols '- and 'x returns a processed list if 'x. If '- the list is unchanged. DO-TIMELINE (list function &key (resolution :time-signature) loop) (Please examine the function if have used before - changes and additions). Distributes an operation over a number of bars, if 'x. If '- the bar is unchanged. Optionally you can use binary numbers: 1 equal x and 0 equal -. GET-TUNING (frequency) Returns the difference of a frequency value to the closest tempered pitch. POSITION-TO-BINARY (numbers) Returns a binary list where each of the position numbers is 1. BINARY-TO-DECIMAL (binary-list) Converts a binary list to a decimal number. DECIMAL-TO-BINARY (number) Converts a decimal number to a binary list. Revisions: TONALITY-MAP (scale sequence &key resolution loop section) HARMONIC-PATH (path sequence &key type resolution loop octave section seed) Functions removed from the system: BINARY-DO-SECTION BINARY-TIMELINE Both functions can be easily replaced with DO-TIMELINE or DO-SECTION (both work with binary list input). The DO-SECTION is made for user’s own defined functions where section option is not applied. Best wishes, JP
  3. No need for it, they are part of the final function GEN-ROTATE: (gen-rotate 2 '(c4 d4 e4 g4 a4)) => (g4 a4 c4 d4 e4) (gen-rotate -2 '(c4 d4 e4 g4 a4)) => (e4 g4 a4 c4 d4) The keywords :left and :right are equivalents of the integer values -1 and 1. We can also use :type :seq to generate multiple lists for an entire rotation of the items in list: (gen-rotate :left '(1 2 3 4) :type :seq) => ((1 2 3 4) (4 1 2 3) (3 4 1 2) (2 3 4 1)) Generate a sequence based on a rotation of 2 places right: (gen-rotate 2 '(1 2 3 4 5) :type :seq) => ((1 2 3 4 5) (5 1 2 3 4) (4 5 1 2 3))
  4. I think you had some typo in your path. I am glad is working now. :-)
  5. Good article and instruction :-) how-to-use-reaktor-with-opusmodus best wishes, JP
  6. Just uploading new version which should fix the notation display.
  7. Channel needs to be define. The sound set and the program is optional. The minimum setup for a instrument: (def-score appoggiatura2 (:key-signature '(c maj) :time-signature '(3 4) :tempo 60) (theme :omn '((q c5 d5 (-app e c5) (app e d5 c5 b4) q c5) (q d5 e5 (-acc e d5) (acc e e5 d5 c5) q d5) ((leg q e5 (-app e f5) q e5 (app e f5 e5 d5) q e5)) (q c5 d5 c5)) :channel 1) )
  8. Thank you Lasse. Happy New Year to all of us.
  9. Other solution: (setf omn '(s. fs5 mf s p s. ff t f4 p fs5 s. mf t f -s)) (make-omn :length (omn :length omn) :pitch (omn :pitch omn) :velocity (omn :velocity omn) :articulation (substitute-motif '(3/32) '(acc) (omn :length omn) :otherwise '-)) => (s. fs5 acc s p s. ff acc t f4 p fs5 s. mf acc t f -s)
  10. '(e c6 acc q. ab5 3e g5 f5 e5 q f5 -) equal ((acc e c6) q. ab5 3e g5 f5 e5 q f5 -) Maybe this fact helps :-)
  11. Is this what you are looking for: (substitute-motif '((e c6)) '(((acc c6))) '(e c6 q. ab5 3e g5 f5 e5 q f5 -)) => ((acc c6) q. ab5 3e g5 f5 e5 q f5 -) The SUBSTITUTE-MOTIF function is not documented but it is in the system. I will document the function in the next few days. Here are few more examples: (substitute-motif '((a b c) (d b)) '((1 2 3) (8 9)) '(d b s a b c e j g)) => (8 9 S 1 2 3 E J G) (substitute-motif '((a b c) (d b)) '((1 2 3) (8 9)) '(d b s a b c e j g) :otherwise 'x) => (8 9 x 1 2 3 x x x) (substitute-motif '(q) '(1 2 3) '(d b s a b c e j g a b c q q q)) => (D B S A B C E J G A B C 1 2 3 1 2 3 1 2 3) substitute-motif (old new list &key (test #'equal) otherwise)
  12. all this will work of course: omn: (q c4.0456) midi: 60.0456 integer: 0.0456 interval: 0.0456 and the conversions. As for notation, we only can display what the musicXML can do - for sure quarter and possibly 8th tone.
  13. I will see what we can do. Maybe we could add the SMPTE to the DEF-SCORE to each of the instrument instance. This could be part of version 2.0 as well as microtonality etc... Example of microtonal notation: (q c4 h d4.5 g5.3) 1/10 of a semitone: (q c4.1 mp) or (q c4.0456)
  14. Without the score I can't help. You can send me the score directly to my email address then I will have a look. Please note: The Announcements forum is for announcements only. For questions or support please use 'Support & Troubleshooting' forum.
  15. (string-quartet-a :start 1 :end 2 :instrument 'violin1) This will produce an error. The :instruments is for extracting an instrument/s only. Each score need to have the same count of instrument and the same instrument names.
  16. Where did you get the f4 from or is this just a global example. We could add this to the MAKE-OMN function. For now you need to do all this outside -> SETF
  17. Thank you Stephane for the moving composition.
  18. NEW: DO-TIMELINE The function DO-TIMELINE distributes an operation over a number of bars, if x. If - the bar is unchanged.
  19. Thank you for finding the error. The correct keyword is VOICE and not CHORD. (gen-trope my-trope :voice nil) This is only a doc error and will be fixed.
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy