Jump to content

opmo

Administrators
  • Posts

    2,903
  • Joined

  • Last visited

Everything posted by opmo

  1. 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)
  2. '(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 :-)
  3. 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)
  4. 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.
  5. 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)
  6. 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.
  7. (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.
  8. 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
  9. Thank you Stephane for the moving composition.
  10. NEW: DO-TIMELINE The function DO-TIMELINE distributes an operation over a number of bars, if x. If - the bar is unchanged.
  11. 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.
  12. PARTIAL-DIVIDE document fix.
  13. We are excited to announce new functions in Opusmodus and we hope you will find them helpful in your work. NEW: Spectral Composition Tools ;;; Spectral Tools (import-spectral-spear "Imports spectral data from the SPEAR application.") (highest-partial "Returns the highest partial value of a given collection of partials data.") (lowest-partial "Returns the lowest partial value of a given collection of partials data.") (normalize-partials "Returns a float-vector with the amplitudes normalized so that their magnitudes add to 1.0.") (partial-divide "Divide a list of partials into sublists of a given length.") (partial-row "Converts frequency data of partials into a unique pitch row (each pitch becoming a root).") (partial "Returns partials of a given type of data.") (partial-remove "Removes partials from a given type of data with its value (min, max).") (partial-sort "Sorts partials of a given data type.") PITCH-ROW This function allows a pitch series to be altered into a unique pitch row (each pitch is quasi a root). (setf mat (vector-to-pitch 'piano (mod-sine-waves 4 64 4 0.6 :modulation (gen-sine 64 1 '(0.5 0.2 0.1) :phase 60)))) => (f4 cs6 gs7 b7 f7 c7 bb3 g3 e2 a0 bb0 a0 fs4 fs2 fs2 d6 bb6 c7 a0 b0 bb0 a0 b7 gs7 c7 bb7 bb4 b2 b4 a0 a0 d1 eb6 bb2 d2 e3 b6 eb4 d3 c2 bb0 cs7 a0 a2 cs3 f7 c7 e6 d7 eb7 f2 a0 g7 gs7 a7 c5 cs1 c5 bb7 c8 e6 b2 bb3 fs6) (pitch-row mat) => (f4 cs6 gs7 b7 c7 bb3 g3 e2 a0 fs4 d6 eb6) More options have been added to: CREATE-LIBRARY Another option we have is to save the library output as a file directly into the DEF-LIBRARY directory. To do that we use the :file keyword. The :file name must be a string "name-of-the-file". (create-library 'Binary-Rhythmics '4-bit-binary 'bin (combination2 4 '(1 0 1 0)) :file "4-bit-library") We also can add an annotation (e.g. explanation or comment) by using the :note keyword: (create-library 'Binary-Rhythmics '4-bit-binary 'bin (combination2 4 '(1 0 1 0)) :file "4-bit-library" :note "Library explanation or comment") The next time we open the application the file will load at the start and will be ready for use. LIBRARY (library 'binary-rhythmics '4-bit-binary 'bin15) => (1 1 1 1) (library 'binary-rhythmics '4-bit-binary nil :random 10) => ((1 1 0 1) (1 0 1 1) (0 1 0 1) (0 1 0 1) (1 1 0 1) (0 1 0 0) (0 0 1 0) (1 0 0 0) (0 1 1 0) (0 1 1 0)) (library 'binary-rhythmics '4-bit-binary nil :collect '(1 2 3 2 1)) => ((0 0 0 1) (0 0 1 0) (0 0 1 1) (0 0 1 0) (0 0 0 1)) (library 'binary-rhythmics '4-bit-binary nil :collect :all) Above there is an example of a defined library file followed by four possible output options. The first is to output a single library entry. The second picks 10 entries at random. The third allows an integer list to determine which entries in the library list can be collected together in a set order. The fourth :all will collect the entire library.
  14. At the moment I am busy with programming and testing the spectral functions and FUNCALL-SHEET function. At the end of the week I should have something very exiting for all of us. As for the tempoThe DEF-SCORE marco works only with one tempo line. I don't think the midi can't deal with multi tempo events - separate tempo events for each instrument. The best way to do that would be to import the musicxml Opusmodus files into Sibelius or Finale and then there assemble the two or more scores into one.
  15. (integer-to-pitch '(1 2 3 4 5)) => (cs4 d4 eb4 e4 f4) Do check the Conversions 'System Library' section.
  16. Instruments can't use the own tempo values and changes. You need to do that with modification to the length of each instrument.
  17. To import various tables would need number of functions for each table. Mapping any data to pitches or any other parameter can be done with DEF-CASE or CREATE-LIBRARY function. At the moment I am working on spectral composition functions with data files as a source. Data example: par-text-partials-format point-type time frequency amplitude partials-count 5188 partials-data 0 14 0.000000 0.187415 0.000000 12057.894531 0.000101 0.012494 12063.160156 0.000068 0.037483 12090.256836 0.000050 0.049977 12089.161133 0.000072 0.062472 12088.927734 0.000090 0.074966 12089.553711 0.000092 0.087460 12090.407227 0.000074 0.099955 12090.043945 0.000054 0.112449 12088.445312 0.000055 0.137438 12052.342773 0.000091 0.149932 12025.845703 0.000064 0.162426 12027.272461 0.000042 0.174921 12049.388672 0.000037 0.187415 12049.388672 0.000000 1 14 0.000000 0.187415 0.000000 11805.857422 0.000155 0.012494 11809.532227 0.000107 0.024989 11815.603516 0.000094 0.037483 11816.318359 0.000098 0.049977 11812.620117 0.000099 0.062472 11809.903320 0.000105 0.074966 11810.748047 0.000094 0.087460 11810.438477 0.000065 0.099955 11805.530273 0.000057 0.112449 11822.302734 0.000090 0.149932 11796.957031 0.000115 0.162426 11829.777344 0.000072 0.174921 11835.147461 0.000053 0.187415 11835.147461 0.000000 2 43 0.000000 0.562245 ... The data file then is converted to library format: (def-library spec-tbn (:section frames p0 '(0.0 2549.2737 3.3E-5 0.012494 2558.6868 8.6E-5 0.024989 2560.725 1.55E-4 0.037483 2563.198 2.2E-4 0.049977 2565.248 2.65E-4 0.049977 2565.248 2.65E-4 0.062472 2565.5603 2.54E-4 0.074966 2557.2236 1.97E-4 0.08746 2553.4763 1.61E-4 0.099955 2556.5354 1.16E-4 0.112449 2560.5886 9.7E-5 0.124943 2559.0767 7.4E-5 ...) p1 '(0.0 2460.5183 3.3E-5 0.012494 2457.8718 7.3E-5 0.024989 2467.1047 8.6E-5 0.037483 2475.6711 8.5E-5 0.049977 2483.0276 8.7E-5 0.049977 2483.0276 8.7E-5 0.062472 2487.2944 9.0E-5 0.074966 2489.3833 8.3E-5 0.08746 2485.5657 6.4E-5 0.099955 2505.8418 3.4E-5 0.112449 2483.4546 9.7E-5 0.124943 2461.0674 1.6E-4 0.124943 2461.0674 1.6E-4 0.137438 .... And with LIBRARY function we retrieve the desired frame: (library 'spec-tbn 'frames 'p273) => (2.011587 1575.7258 2.89E-4 2.024082 1573.7743 2.95E-4 2.036576 1569.0957 2.63E-4 2.04907 1569.0957 0.0)
  18. Opusmodus Version 1.1.17409 has addressed the problem. Any snippet selection should play and display.
  19. Check the function LENGTH-FIT. Try this: (length-fit longlist)
  20. You will need to find your own way to do the conversion. There are few functions with should help you with the mapping of the data. Do you have an example of the source you would like to transform to OPMO?
  21. New: OSX 10.11 Change the way we do pane titlebar highlighting. In the LCI, explicitly request monospaced numbers in the system font. Fix to MIDI and LCI panes. One Note Dynamic NIENTE: 0<ppppp 0<pppp 0<ppp 0<pp 0<p 0<mp 0<mf 0<f 0<ff 0<fff 0<ffff 0<fffff ppppp>0 pppp>0 ppp>0 pp>0 p>0 mp>0 mf>0 f>0 ff>0 fff>0 ffff>0 fffff>0 0<ppppp>0 0<pppp>0 0<ppp>0 0<pp>0 0<p>0 0<mp>0 0<mf>0 0<f>0 0<ff>0 0<fff>0 0<ffff>0 0<fffff>0 0<ppppp> 0<pppp> 0<ppp> 0<pp> 0<p> 0<mp> 0<mf> 0<f> 0<ff> 0<fff> 0<ffff> 0<fffff> <ppppp>0 <pppp>0 <ppp>0 <pp>0 <p>0 <mp>0 <mf>0 <f>0 <ff>0 <fff>0 <ffff>0 <fffff>0
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy