Jump to content

opmo

Administrators
  • Posts

    2,903
  • Joined

  • Last visited

Reputation Activity

  1. Like
    opmo reacted to Rangarajan in Reaktor interface   
    Hi SB,
    Thanks a lot. When I was waiting for your reply, I spent a few hours trying to understand this myself. In the process, I wrote up the details so that others can learn a little bit quicker. I have posted the details in my blog. Here it is: http://rangakrish.com/index.php/2016/01/08/how-to-use-reaktor-with-opusmodus/
     
    Hope it is of use to others.
     
    Regards,
    Rangarajan
  2. Like
    opmo reacted to Stephane Boussuge in Happy New Year   
    Happy new Opusmodus year to all of you !
     
    S.
  3. Like
    opmo reacted to lviklund in Happy New Year   
    Hi all
    Just want to wish you all on this forum
     
    Happy New Year
     
    Lasse
  4. Like
    opmo reacted to Stephane Boussuge in Fibonacci's Meditation   
    An ambient piece based on a Fibonacci series.

     
    SB.
    FibonacciMeditation.opmo
  5. Like
    opmo got a reaction from RST in Spectral - Marangona   
  6. Like
    opmo got a reaction from erka in Spectral - Marangona   
  7. Like
    opmo got a reaction from Stephane Boussuge in Spectral - Marangona   
  8. Like
    opmo got a reaction from Stephane Boussuge in replace pitch/rhy-val -> acciaccatura - in OMN   
    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)  
  9. Like
    opmo got a reaction from lviklund in replace pitch/rhy-val -> acciaccatura - in OMN   
    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)
  10. Like
    opmo got a reaction from Stephane Boussuge in how to write a "polytempo score"   
    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)   
  11. Like
    opmo got a reaction from lviklund in Opusmodus 1.1.7708   
    NEW:
    DO-TIMELINE
     
    The function DO-TIMELINE distributes an operation over a number of bars, if x. If - the bar is unchanged.
     
  12. Like
    opmo reacted to Stephane Boussuge in November 13th Strings Trio   
    Hi,
     
    Here's a Strings Trio composed in memory of the victims of Paris attack.
    Attached Part-a  and part-d opmo scores for study purpose.
    S.B
     

     
     
     
    st-a.opmo
    st-d.opmo
  13. Like
    opmo got a reaction from Stephane Boussuge in Opusmodus 1.1.7708   
    NEW:
    DO-TIMELINE
     
    The function DO-TIMELINE distributes an operation over a number of bars, if x. If - the bar is unchanged.
     
  14. Like
    opmo reacted to Stephane Boussuge in Etude 1 from 3 études sur un spectre de Trombone   
    Here's the first study from 3 études sur un spectre de Trombone for piano, a work using some of the new spectral function of Opusmodus.
     

     
    S.B
    Etude1.opmo
  15. Like
    opmo got a reaction from BrianCope in Opusmodus 1.1.17676   
    PARTIAL-DIVIDE document fix.
  16. Like
    opmo got a reaction from BrianCope in Opusmodus 1.1.17640   
    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.  
  17. Like
    opmo got a reaction from lviklund in how to write a "polytempo score"   
    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.
  18. Like
    opmo got a reaction from lviklund in Tips on large data import/usage?   
    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)  
  19. Like
    opmo got a reaction from hujairi in Tips on large data import/usage?   
    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)  
  20. Like
    opmo got a reaction from Stephane Boussuge in Orchestral media Music Production test   
    Par excellence!
  21. Like
    opmo reacted to Stephane Boussuge in Orchestral media Music Production test   
    A quick and dirty test of Opusmodus possibility and capability for Media Music Production.
    Test successful.
     
    Setup is Opmo driving EastWest Hollywood orchestra in Vienna ensemble Pro.
    Output is the direct output from Opusmodus/EastWest.
     
    Naturally this output is just a prototyping and need much more attention (it would be good someday to redo the clarinet part etc..)
    but it was just a test of a personal Orchestral setup.
     

     
    SB.
  22. Like
    opmo got a reaction from ajf- in Trio Atonal   
    Score example from the Opusmodus home page 'Made in Opusmodus'.
    Focus: PITCH-FIGURATE
     
    Theme
    (setf theme '((-e eb4 stacc s gb3 d3 -e) (e eb4 stacc s gb3 q d3 stacc -s) (-s e eb4 stacc s gb3 d3 -e s eb4 tie+stacc) (s eb4 gb3 d3 stacc gb3 eb4 a3 -e) (-e eb4 stacc s gb3 d3 -e) (e eb4 stacc s gb3 q d3 tie s tie+stacc) (s d3 -e eb4 stacc s gb3 d3 -) (-s e eb4 stacc s gb3 d3 stacc gb3 eb4 a3)))  
    Baritone
    (setf barsax1 (length-span 8/4 '(s - s s e e - s s t t t t e -q))) (setf barsax2 (ambitus '(c2 gs4) (pitch-figurate '(3 2) (make-omn :pitch (randomize-octaves 'baritone-sax (rnd-order (gen-loop 16 (rnd-row :type :pitch)))) :length (rnd-order (gen-repeat 16 (list barsax1))) :velocity '(f) :articulation (rnd-order (gen-loop 16 '(- - stacc - stacc - - - - stacc stacc)))) :interval '((1 -1) (1 13 -13)) :variant '?))) (setf baritone (assemble-seq theme (sort-asc (subseq barsax2 0 4) :section 0) theme (sort-desc (subseq barsax2 4 12) :section 0) theme))  
    Contrabass
    (setf bass1 (length-span 8/4 '(e - s s e e - s s e))) (setf bass2 (ambitus 'bass (pitch-figurate '(1 2) (make-omn :pitch (pitch-transpose -24 (rnd-order (gen-loop 16 (rnd-row :type :pitch)))) :length (rnd-order (gen-repeat 16 (list bass1))) :velocity '(f)) :interval '((1 -1) (1 6 -6)) :variant '?))) (setf contrabass (assemble-seq (pitch-transpose -12 theme) (subseq bass2 0 4) (pitch-transpose -12 theme) (subseq bass2 4 12) (pitch-transpose -12 theme)))  
    Drums
    (setf hh1 (length-span 8/4 '(-s gs2 ff))) (setf oh1 (length-span 8/4 '(-s - bb2 ff -))) (setf ch1 (length-span 8/4 '(s fs2 ff -))) (setf sn1 (length-span 8/4 '(-e d2 - - a2 - - s = q f2 e))) (setf bd1 (length-span 8/4 '(-s b1 ff e c2 = -e. e = -e. -s))) (setf hh (rnd-order (gen-repeat 18 (list hh1)))) (setf oh (rnd-order (gen-repeat 18 (list oh1)))) (setf ch (rnd-order (gen-repeat 18 (list ch1)))) (setf sn (pitch-figurate '(3 2) (rnd-order (gen-repeat 18 (list sn1))) :interval '(-1 -2 14))) (setf bd (rnd-order (gen-repeat 18 (list bd1))))  
    Def-Score
    (def-score trio-atonal (:title "Trio Atonal" :composer "Opmo" :copyright "Copyright © 2015 Opusmodus" :key-signature 'atonal :time-signature '(4 8) :tempo 100 :layout (list (baritone-sax-layout 'baritone) (contrabass-layout 'contrabass :name "Bass" :abbr "Bass"))) (baritone :omn baritone :channel 1 :sound 'gm :program 'Baritone-Sax :volume 100) (contrabass :omn contrabass :channel 2 :sound 'gm :program 'Acoustic-Bass :volume 70) (hh :omn hh :channel 10 :sound 'gm :program 0 :volume 100) (oh :omn oh) (ch :omn oh) (sn :omn sn) (bd :omn bd) )    
     
    Trio Atonal.opmo
     
  23. Like
    opmo reacted to hujairi in laughing about what we lost / 우리가 잃어버린 것들에 대한 조소(嘲笑)   

     
    I just completed working on a new piece for two 25-string Kayageums (Korean zither-like instrument somewhat similar to the Japanese Koto). All the composition was done within Opusmodus but the coding is a little messy. I hope in my next project to clean up the code a little.
     
    During process of composition, I especially liked how Opusmodus can translate text material into different data. For this piece, I used two of the earliest examples of avant-garde poetry from Korea written by Yi Sang (1910 - 1937) that are included in his "Crow's Eye View" 15-poem series. I created the pitches through extrapolations from the texts and by setting the tonalities to the Nando-Kyemyonjo mode and one of the Tcherepnin Nine-Note Scale modes (both of which are in the Opusmodus modes library). The lengths of pitches and rests were partially extrapolated from the text and then developed subtly through use of the gen-length function.
     
    Aside from the tonalities, I also must admit that the ambitus features made it easy to ensure that the notes I played were within the range of the instrument I am working with, which allowed me to play with the limits of the sounds (especially the low register notes). 
     
    The sounds used in this recording is a midi realization using Madrona Lab's Kaivo plug-in running through Ableton Live 9.     
  24. Like
    opmo got a reaction from hujairi in Tips to preserve memory/RAM while running OM?   
    My development workspace has a round 500 files.
    It is possible that to many files are open in the Composer and in the Assistant panel.
    To found out how many files are open click the top left corner icon.
    I suggest you close some of them if more then 20 are open.
    To close a file click on the the top right cross x icon.
    To close all Assistant files and panels with one click press alt+click in the x.
     
  25. Like
    opmo got a reaction from ajf- in Klangreihen Study   
    Impressive study and great score!
    I see you have found your own way to create the score dynamically.
    I am sure many OPMO users will love to study the score and the technique.
     
    This score would be great with annotation.
    I like how you use the Schillinger interference functions to generate the length series.
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy