Jump to content

opmo

Janusz Podrazik
  • Content count

    1,098
  • Joined

  • Last visited

  • Days Won

    169

opmo last won the day on November 16

opmo had the most liked content!

3 Followers

About opmo

  • Rank
    Admin

Contact Methods

  • Website URL
    https://opusmodus.com
  • Skype
    opusmodus

Profile Information

  • Gender
    Male

Recent Profile Visitors

3,386 profile views
  1. Opusmodus 1.2.22724

    Optimisation to DO-TIMELINE. MIDI and frequency (partials) conditions. New compact timeline in DO-TIMELINE and DO-TIMELINE2 Example: (do-timeline '( piccolo (---xxxxxxx xxxxxx---- xxx------- xxxxxx---- ---------- xxxxxxx--- ---xxxxxxx xx) flute (--xxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxx---- ---------- xxxxxxxxxx xxxxxxxxxx xx) alto-flute (--xxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxx------ ---------- ---x--xxxx xxxxxxxxxx xx) oboe1 (xx----xxxx xxxxxx---- xxxxxxxxxx ---xxx---- ---------- xxxxxxxxxx xxxxxxxxxx xx) oboe2 (xxxxxxxxxx xxxxxxxxx- xxxxxxxxxx ---xx----- ---------- xxxxxxxxxx xxxxxxxxxx xx) cor-anglais (xxxxxxxxxx xxxxxx---- xxxxxxxxxx ---xx----- ---------- xxxxxxxxxx xxxxxxx-xx xx) clarinet1 (xxx------- xxxxxx---- --xxxxxxxx ---xxx---- ---------- xx-------- --------xx xx) clarinet2 (xxxxxxxxxx xxxx------ xxxxxxxxxx ---xxx---- ---------- ---------- --------xx xx) clarinet3 (xxxxxxxxxx xxxx------ xxxxxxxxxx ---------- ---------- ---------- --------x- --) bass-clarinet (xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx x--------- ---------- xxxx--xxxx xxxxxxxxxx xx) bassoon1 (xxxxxxxxxx ---------- xxxxxxxxxx ---xxx---- ---------- ---------- --------xx xx) bassoon2 (xxxxxxxxxx xx-------- xxxxxxxxxx -x-------- ---------- ---------- -------x-- --) contrabassoon (xxxxxxxxxx xxxx------ xxxxxxxxxx xx-------- ---------- ---------- ------xx-- --) horn1 (x--------- xxxxxxxx-- ---------- xxxxxxxxxx ---------- ---------- ---------- --) horn2 (xxxx------ xxxxxxxxxx xxxxxxxxxx xx-x------ ---------- ---------- -------xxx --) horn3 (xxxxxx---- xxxxxxxxxx xxxxxxxxxx xx-xxx---- ---------- ---------- -------xxx xx) horn4 (xxxxxx---- xxxxxxxxxx xxxxxxxxxx xx-x------ ---------- ---------- --------xx --) trumpet1 (xxxxxx---- ---xxxxx-- ---------- ---xxx---- ---------- xxxx----xx xxxxxx--xx xx) trumpet2 (xxx--x---- ---xxxxx-- xxxxxxxxxx ---xxx---- ---------- xxxx----xx xxxx----xx xx) trumpet3 (---------- x--xxxxxxx xxxxxxxxxx ---xxx---- ---------- xxxxxxxxxx xxxxxx--xx xx) bass-trumpet (xxxx------ x--------- ---------- x--xxx---x ---------- --------xx xxxxxxx-xx xx) trombone (------xxxx xxxxxxxxxx ---------- x-xxxxxx-x ---------- ---------- ---xxxx--- --) tenor-tuba (---------- xxxxxxxxxx ---xxxxxxx x--------- ---------- ---------- ---xxxx--- --) bass-tuba (xxxxxx---x xx---xxxxx xxxxxxxxxx x--------- ---------- ---------- ---xxxx--- --) harp-lh (xxxxxxxxx- xxxxxxxxxx xx-xxxxxxx xx-xxx-x-x ---------- xxxxxx-xxx xxxxxxxxxx xx) harp-rh (xxxxxxxxxx xxxxxxxxxx xx-xxxxxxx xx-xxx-x-x ---------- xxxxxx-xxx xxxxxxxxxx xx) violin1 (xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx -xxxxxxxxx ---------- ---------- --------xx xx) violin2 (xxxxxxxxxx xxxxxxxxxx xxx------x xxxxxxxxxx ---------- ---------- --------xx xx) viola (xxxxxxxxxx xxxxxxxxxx xxxxxx-xxx xxxx--xxxx ---------- ---------- --------xx xx) violoncello (xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xx-x--xxxx ---------- ---------- --------xx xx) contrabass (xxxxxx---x xxxxxxxxxx xxxxxxxxxx xx-x--xx-- ---------- xxxxxxx-xx -xx-xx-xxx xx) ) '(gen-pause x)) Binary example: (do-timeline '( piccolo (0001111111 1111110000 1110000000 1111110000 0000000000 1111111000 0001111111 11) flute (0011111111 1111111111 1111111111 1111110000 0000000000 1111111111 1111111111 11) alto-flute (0011111111 1111111111 1111111111 1111000000 0000000000 0001001111 1111111111 11) oboe1 (1100001111 1111110000 1111111111 0001110000 0000000000 1111111111 1111111111 11) oboe2 (1111111111 1111111110 1111111111 0001100000 0000000000 1111111111 1111111111 11) cor-anglais (1111111111 1111110000 1111111111 0001100000 0000000000 1111111111 1111111011 11) clarinet1 (1110000000 1111110000 0011111111 0001110000 0000000000 1100000000 0000000011 11) clarinet2 (1111111111 1111000000 1111111111 0001110000 0000000000 0000000000 0000000011 11) clarinet3 (1111111111 1111000000 1111111111 0000000000 0000000000 0000000000 0000000010 00) bass-clarinet (1111111111 1111111111 1111111111 1000000000 0000000000 1111001111 1111111111 11) bassoon1 (1111111111 0000000000 1111111111 0001110000 0000000000 0000000000 0000000011 11) bassoon2 (1111111111 1100000000 1111111111 0100000000 0000000000 0000000000 0000000100 00) contrabassoon (1111111111 1111000000 1111111111 1100000000 0000000000 0000000000 0000001100 00) horn1 (1000000000 1111111100 0000000000 1111111111 0000000000 0000000000 0000000000 00) horn2 (1111000000 1111111111 1111111111 1101000000 0000000000 0000000000 0000000111 00) horn3 (1111110000 1111111111 1111111111 1101110000 0000000000 0000000000 0000000111 11) horn4 (1111110000 1111111111 1111111111 1101000000 0000000000 0000000000 0000000011 00) trumpet1 (1111110000 0001111100 0000000000 0001110000 0000000000 1111000011 1111110011 11) trumpet2 (1110010000 0001111100 1111111111 0001110000 0000000000 1111000011 1111000011 11) trumpet3 (0000000000 1001111111 1111111111 0001110000 0000000000 1111111111 1111110011 11) bass-trumpet (1111000000 1000000000 0000000000 1001110001 0000000000 0000000011 1111111011 11) trombone (0000001111 1111111111 0000000000 1011111101 0000000000 0000000000 0001111000 00) tenor-tuba (0000000000 1111111111 0001111111 1000000000 0000000000 0000000000 0001111000 00) bass-tuba (1111110001 1100011111 1111111111 1000000000 0000000000 0000000000 0001111000 00) harp-lh (1111111110 1111111111 1101111111 1101110101 0000000000 1111110111 1111111111 11) harp-rh (1111111111 1111111111 1101111111 1101110101 0000000000 1111110111 1111111111 11) violin1 (1111111111 1111111111 1111111111 0111111111 0000000000 0000000000 0000000011 11) violin2 (1111111111 1111111111 1110000001 1111111111 0000000000 0000000000 0000000011 11) viola (1111111111 1111111111 1111110111 1111001111 0000000000 0000000000 0000000011 11) violoncello (1111111111 1111111111 1111111111 1101001111 0000000000 0000000000 0000000011 11) contrabass (1111110001 1111111111 1111111111 1101001100 0000000000 1111111011 0110110111 11) ) '(gen-pause x)) best wishes, JP
  2. You can find how to use the RND-SEED in the documentation. You need to explore bit more the system Function example using RND-SEED function: (defun rnd-number* (n low high &key seed) (do-verbose ("rnd-number*") (rnd-seed seed) (if (zerop n) nil (cons (round (+ low (rnd-round 0 (- high low) :seed (seed)))) (rnd-number* (decf n) low high :seed (seed)))))) Each time we evaluate the expression we get a different result. (rnd-number* 12 0 5) => (0 3 2 5 3 3 4 3 2 2 4 4) Adding seed to the expression will produce always the same result. (rnd-number* 12 0 5 :seed 45) => (2 2 5 4 5 0 5 3 5 3 1 1) If you need more help please let me know.
  3. Midi In Collect

    Just import your midi file to Opusmodus (OMN) script and start transforming :-) added 1 minute later Direct midi input (keyboard) into OMN script will be introduce in version 2.0
  4. The INFINITY-SERIES returns only the strict series: 0, 1, −1, 2, 1, 0, −2, 3, …
  5. Check the INFINITY-SERIES documentation how the function works.
  6. Opusmodus 1.2.22714

    Fix to DO-TIMELINE and DO-TIMELINE2 functions when with T or NIL plus minor bug fixes.
  7. Shuffle Elements

    (setf r1 '(s s -s) r2 '(s s -s) r3 '(-s -s e -s) r4 '(s -s s -e) r5 '(e -e -e s -s)) You need to flatten the list first: (setf seq (flatten (let ((r-lis nil)) (dotimes (i 10) (push (rnd-unique 5 '(1 2 3 4 5)) r-lis)) r-lis))) (setf r-list (assemble-section 'r seq)) You could do that: (setf r1 '(s s -s) r2 '(s s -s) r3 '(-s -s e -s) r4 '(s -s s -e) r5 '(e -e -e s -s)) (setf seq (flatten (gen-eval 10 '(rnd-unique 5 '(1 2 3 4 5))))) (setf r-list (assemble-section 'r seq))
  8. Crazy behavior

    Pleasure, Janusz
  9. Crazy behavior

    This is how lisp works Any variable you use in your score needs to be evaluated first. simple test (setf var '(1 2 3 4)) var => (1 2 3 4) (setf var '(a b c d) var => (a b c d) Now the var result is (a b c d)
  10. Crazy behavior

    Because you have evaluated the expression before. If you use the same name it should be in this score. If you quit the App and restart and evaluate the score you will see an error.
  11. (infinity-series 100 (expand-chord '(c4 ionian-augmented :row t))) Same as above: (infinity-series 100 (expand-chord-name 'ionian-augmented :type :pitch)) Mapping the output of the INFINITY-SERIES with TONALITY-MAP to the same scale: (tonality-map '(ionian-augmented :root c4) (infinity-series 100 (expand-chord '(c4 ionian-augmented :row t))))
  12. Good news and thank you the link.
  13. Constructing and deconstructing scores

    The OMN-PLIST and OMN-PROCESS function is not documented because is a not part of the release yet. (work in progress). I have created the new function in order to get all the attributes and articulations symbols into one list: :leg :ped :ped1 :half-ped :half-ped1 :sost-ped :sost-ped1 :una-corda :una-corda1 :15mb :15ma :8vb :8va :kgliss-ch :kgliss :gliss4 :gliss3 :gliss2 :gliss The OMN function will stay as it is for now. The OMN-PLIST function has 5 types: length, pitch, velocity, duration and articulation. The NIL will return all types. (setf omn '((-3h fs4 pp leg g4 leg) (h a4) (-q cs5 mp< ord) (q c5 f stacc -) (-5h - c5 pp leg e5 < leg f5 < leg) (h gs4 pp))) (omn-plist nil omn) => (:length ((-1/6 1/6 1/6) (1/2) (-1/4 1/4) (1/4 -1/4) (-1/10 -1/10 1/10 1/10 1/10) (1/2)) :pitch ((fs4 g4) (a4) (cs5) (c5) (c5 e5 f5) (gs4)) :velocity ((pp pp) (pp) (mp<) (f) (pp < <) (pp)) :articulation ((leg leg) (-) (ord) (stacc) (leg leg leg) (-))) grace-note will produce :duration parameters (setf omn2 '((-3h fs4 pp leg g4 leg) (h a4) (-q cs5 mp< ord s c4 app e cs5) (q c5 f stacc -) (-5h - c5 pp leg e5 < leg f5 < leg) (h gs4 pp))) (omn-plist nil omn2) => (:length ((-1/6 1/6 1/6) (1/2) (-1/4 1/4 0 1/8) (1/4 -1/4) (-1/10 -1/10 1/10 1/10 1/10) (1/2)) :pitch ((fs4 g4) (a4) (cs5 c4 cs5) (c5) (c5 e5 f5) (gs4)) :velocity ((pp pp) (pp) (mp< mf mf) (f) (pp < <) (pp)) :duration ((1/6 1/6) (1/2) (1/4 1/16 1/8) (1/4) (1/10 1/10 1/10) (1/2)) :articulation ((leg leg) (-) (ord app -) (stacc) (leg leg leg) (-))) Test: (setf plist (omn-plist nil omn)) (apply #'make-omn plist) => ((-3h fs4 pp leg g4 leg) (h a4 pp) (-q cs5 mp< ord) (q c5 f stacc -) (-5h - c5 pp leg e5 < leg f5 < leg) (h gs4 pp)) The OMN-PROCESS function still needs more work.
  14. 'Stages 13' Typo?

    I will open the Bug Report forum to all. Reporting a bug must come with an example how to reproduce it.
  15. 'Stages 13' Typo?

    The best way to report a bug - for now - is to use the 'Request Support' (email) from the Opusmodus Help menu.
×