Jump to content

Stephane Boussuge

Moderators
  • Content Count

    578
  • Joined

  • Last visited


Reputation Activity

  1. Thanks
    Stephane Boussuge got a reaction from lviklund in VSL Syncron-ized Special Edition Plus Soundset   
    Hello,
     
    here's the VSL Syncron-ized Special Edition Plus Soundset.
     
    All the best !
    Stéphane
    VSL-SynchronSpecial-Edition.lisp
  2. Thanks
    Stephane Boussuge got a reaction from opmo in VSL Syncron-ized Special Edition Plus Soundset   
    Hello,
     
    here's the VSL Syncron-ized Special Edition Plus Soundset.
     
    All the best !
    Stéphane
    VSL-SynchronSpecial-Edition.lisp
  3. Like
    Stephane Boussuge reacted to opmo in polygon-rhythm   
    The forthcoming POLYGON-RHYTHM function will allow you to think and compose in a clear symmetrical structures. The great amount of keywords (OPMO stile) makes this algorithm very powerful.
     
    This is a short example using POLYGON-RHYTHM exclusively.
    Instruments: VSL Tenor Sax and Jazz Drumset
     
       
     
  4. Like
    Stephane Boussuge got a reaction from opmo in Pour et Contre 1 for 4 hands Piano   
    Hi,
     
    Here's a score for 4 hands recently finished.
    SB.
     
    PourEtContre1Edit2.opmo
    PourEtContre1-4Hands.mp3
  5. Like
    Stephane Boussuge got a reaction from AM in Pour et Contre 1 for 4 hands Piano   
    Hi,
     
    Here's a score for 4 hands recently finished.
    SB.
     
    PourEtContre1Edit2.opmo
    PourEtContre1-4Hands.mp3
  6. Like
    Stephane Boussuge reacted to AM in maxmsp and lisp?   
    yesterday we tried to implement/start maxlispj on MAX 8 
     
    http://sites.music.columbia.edu/brad/maxlispj/
     
    maxlispj is from 2011, it works more or less in MAX 8 / MOJAVE, but not stable enough. perhaps there will a be some better solutiuons in the future...
     
    greetings
    andré
     
     
     
     
  7. Like
    Stephane Boussuge reacted to opmo in Opusmodus 1.3.24844   
    – New function:
    CHORD-PROGRESSION - sorts a sequence of chords and pitches to the lowest or highest chord note.
     
    – Update:
    AMBITUS function allows range smaller than 6 semitones.

    – Fixed:
    Quick Start - Lesson 1 - OMN

    – Documentation updates.
     
     
    CHORD-PROGRESSION
    This function will sort a sequence of chords and pitches to the lowest or highest chord note.
     
    Sorting to lowest chord note:
    (chord-progression '(g2g3 a2a4 a2a3 g2d4 g2g4 a2e4)) => (g2g3 g2d4 g2g4 a2a3 a2e4 a2a4)
     
    Sorting to highest chord note:
    (chord-progression '(g2g3 a2a4 a2a3 g2d4 g2g4 a2e4) :sort 'high) => (g2g3 a2a3 g2d4 a2e4 g2g4 a2a4)
     
     
    Examples:
    (setf omn '((q d4a4g5 fs4eb5bb5 eb4fs5d5 bb4g5a5 fs4eb5d6 bb4a5g6)             (q g4d4a4 bb4fs4eb4 a4g5d6 eb5bb5fs6 bb4a5g5 eb5d5fs5)))  

    (chord-progression omn)  

     
    (chord-progression omn :sort 'high)  

     
     
    (chord-progression omn :sort '(high low) :reverse '(nil t))
     
    Best wishes,
    Janusz
  8. Like
    Stephane Boussuge reacted to opmo in sorting chords   
    Here it is:
    (chord-progression '(g2g3 a2a4 a2a3 g2d4 g2g4 a2e4)) => (g2g3 g2d4 g2g4 a2a3 a2e4 a2a4) (chord-progression '(g2g3 a2a4 a2a3 g2d4 g2g4 a2e4) :sort 'high) => (g2g3 a2a3 g2d4 a2e4 g2g4 a2a4)  
    The CHORD-PROGRESSION function will be part of the next release.
  9. Like
    Stephane Boussuge reacted to opmo in Opusmodus 1.3.24828   
    – Fixed:
    Removed AllNotesOff in Live Coding Instrument sequence-loop. 

    – Documentation updates.
     
    Finally the Live Coding Instrument is working as it should, no more notes off while waiting. 🙂

    Best wishes,
    Janusz
  10. Like
    Stephane Boussuge reacted to opmo in changing pan in every event   
    Example with time PAN:
    (def-score pan-test2            (:key-signature 'atonal                :time-signature '(4 4)              :tempo 60)   (instr    :omn '(h c4 d4 e4 f4 g4 a4 b4)    :tuning '(.5 .33 0 -.5 0 .5 0 0)    :pan (gen-controller 7/4 (gen-sine 12 7 1) :time '(1/8 1/4 1/8 1/16))    :channel 1    :program 'violin    :sound 'gm)) or
    (def-score pan-test3            (:key-signature 'atonal                :time-signature '(4 4)              :tempo 60)   (instr    :omn '(h c4 d4 e4 f4 g4 a4 b4)    :tuning '(.5 .33 0 -.5 0 .5 0 0)    :pan '((:desc-asc 127 0 1/32 2)           (:asc 34 127 1/32 2) (127 1) (0 1))    :channel 1    :program 'violin    :sound 'gm))  
    Tell Thomas Kummel to make a Kontakt player version.
  11. Like
    Stephane Boussuge got a reaction from opmo in A few sound-set related issues   
    Some SoundBanks like XSample chamber Ensemble use two Keyswitch.
     
    i attach here my soundset for EWSO, i use them every days. i never share them because they are sometimes incomplete  but could help you...
     
    SB.
     
    EWSOSoundsetSB.zip
  12. Like
    Stephane Boussuge reacted to torstenanders in Providing code examples to students   
    > While I can create a canon, counterpoint and a fugue myself with a bit of time, it would be much less time-consuming for me if I were able to use existing examples. Is there an existing library of OMN examples of these types of compositions?
     
    I cannot offer ready-made examples, but a constraint-based library with various counterpoint (and also harmony) rules ready-made.  
     
    Cluster engine implements the constraint solver, and many functions for applying user-defined rules to various score contexts in a flexible way (e.g., consecutive notes in certain voices, simultaneous notes across voices at certain metric positions etc). 
    https://github.com/tanders/cluster-engine
     
    Cluster rules provides a collection of ready-made rules for the cluster engine library.
    https://github.com/tanders/cluster-rules
     
    Both libraries were initially developed for PWGL, but we ported them to plain Common Lisp to make them usable, e.g., in Opusmodus (where I already used both) and the Max<->Lisp interface I just mentioned in other message.
     
    There are some demo/test examples that come with the library (https://github.com/tanders/cluster-rules/blob/master/tests/first-tests.lisp). More extensive documentation (tutorials) are available with the original PWGL versions of the libraries.
     
    Some code to smoothly interface the Cluster Library with Opusmodus is part of my tot library (e.g. in the file https://github.com/tanders/tot/blob/master/sources/constraints.lisp). For example, there are means to transform Cluster Library scores into Opusmodus scores (actually, my variant of it, see the docs) and some more complex functions that could be seen as example use cases. For example, the function revise-score-harmonically, expects an existing score that you might create with whatever Opusmodus methods, and some underlying harmony definitions, and that re-harmonises the score accordingly, taking some counterpoint rules etc. into account.
     
    I hope the available doc of these packages helps (of which there is also some HTML version online). I cannot provide any more help at this stage, as I am currently extremely busy in my new job...
     
    Best,
    Torsten
  13. Like
    Stephane Boussuge reacted to opmo in Parsimonious Voice Leading (again): attempts to provide an algorithm   
    It is not hard if we look for strict result e.i. smallest total without thinking about parallel movement etc...
    Here is the result of our example (strict):
     
    (chord-closest-path '(b4g4e4c4) '(b4g4e4c4 c5a4e4f4 b4a4f4d4 b4g4e4d4)) c-c = 0
    e-e = 0
    g-f = 2
    b-a = 2
    total 4
    etc...
     
  14. Like
    Stephane Boussuge reacted to opmo in Parsimonious Voice Leading (again): attempts to provide an algorithm   
    I always try to think of optional rules but I could add strict one as well 🙂
  15. Thanks
    Stephane Boussuge reacted to Wim Dijkgraaf in VSL converter -> Sibelius Sound Set to Opusmodus Sound Set   
    Here are all Sibelius Sound Sets for Opusmodus.
     
    I've only been testing with the Dimension Strings sound sets. So none of the other files I've been able to test so far. Would be great to get feedback if these sound sets need further improvement.
     
    Have fun :-)
     
    VslSibeliusWoodwindsAndBrassSoundSet.opmo
    VslSibeliusStringsSoundSet.opmo
    VslSibeliusSpecialEditionSoundSet.opmo
    VslSibeliusSpecialEditionPlusSoundSet.opmo
    VslSibeliusPercussionSoundSet.opmo
    VslSibeliusEpicOrchestraSoundSet.opmo
    VslSibeliusChoirSoundSet.opmo
  16. Like
    Stephane Boussuge reacted to Wim Dijkgraaf in VSL converter -> Sibelius Sound Set to Opusmodus Sound Set   
    You'll find the source code at: https://github.com/willemdijkgraaf/SibeliusToOpusmodusSoundset
     
    I transfered it very quickly and haven't been able to check if it works. Will do that later today.
     
     
  17. Like
    Stephane Boussuge reacted to opmo in Saving Plots and Piano Rolls to PDF Vectorial Graphics ETC   
    Will save the result in pdf file format in ~/Opusmodus/Graphs folder.
    (circle-rhythm-plot '(0 3 6 10 11) :points 16 :file "crp1") or
    Click the mouse on the graph-view to copy it to the clipboard (PNG format). This allow you to past the image to any other document - works with display-midi view as well.
     

  18. Like
    Stephane Boussuge got a reaction from lviklund in Using OSC   
    I am really very happy to see you back Rangarajan !
     
    Stéphane
     
  19. Like
    Stephane Boussuge got a reaction from TangoTango in Providing code examples to students   
    (setf op25arnie '(e4 f4 g4 cs4 fs4 ds4 gs4 d4 b4 c4 a4 as4)) (respell (gen-chord2 20 '(3) op25arnie :offset '(2 1 2 3))) Using the :offset parameter in the gen-chord2 function could be interesting too, for example for keeping notes between chords for smoother transitions with common tones.
     
    S.
  20. Thanks
    Stephane Boussuge got a reaction from JulioHerrlein in Providing code examples to students   
    (setf op25arnie '(e4 f4 g4 cs4 fs4 ds4 gs4 d4 b4 c4 a4 as4)) (respell (gen-chord2 20 '(3) op25arnie :offset '(2 1 2 3))) Using the :offset parameter in the gen-chord2 function could be interesting too, for example for keeping notes between chords for smoother transitions with common tones.
     
    S.
  21. Like
    Stephane Boussuge got a reaction from opmo in Providing code examples to students   
    (setf op25arnie '(e4 f4 g4 cs4 fs4 ds4 gs4 d4 b4 c4 a4 as4)) (respell (gen-chord2 20 '(3) op25arnie :offset '(2 1 2 3))) Using the :offset parameter in the gen-chord2 function could be interesting too, for example for keeping notes between chords for smoother transitions with common tones.
     
    S.
  22. Like
    Stephane Boussuge reacted to opmo in Opusmodus - second monitor   
    The upcoming release will allow you to open display-midi, display-musicxml, graphs and snippets in a separate window. For any of you using second monitor this will be great addition to your work flow.
     
    Examples:
    (display-midi 'score :display :window) (display-musicxml 'score :display :window)  
    Best,
    Janusz
  23. Thanks
    Stephane Boussuge got a reaction from JulioHerrlein in HELP needed on Jazz Lines from fragments   
    Great !
    i will be fan of this function !
     
    S.
  24. Like
    Stephane Boussuge reacted to opmo in HELP needed on Jazz Lines from fragments   
    Will be added to the next release:
    (setf pattern '((s c4 d4 e4 g4) (s c4 d4 g4 e4) (s g4 e4 c4 d4) (s c4 d4 f4 g4) (s c4 d4 g4 f4) (s g4 f4 c4 d4) (s c4 d4 g4 f4) (s g4 gb4 f4 g4) (s g4 gb4 f4 a4) (s d4 f4 g4 a4) (s a4 g4 f4 d4) (s d4 f4 g4 c5))) (pattern-series '(1 1 2 1 2 1 2) pattern) => ((s c4 d4 e4 g4) (s gs4 bb4 eb5 c5) (s cs5 bb4 fs4 gs4) (s bb4 c5 eb5 f5) (s fs5 gs5 cs6 b5) (s cs6 b5 fs5 gs5) (s a5 b5 e6 d6) (s e6 eb6 d6 e6) (s f6 e6 eb6 g6) (s gs6 b6 cs7 eb7) (s f7 eb7 cs7 bb6) (s b6 d7 e7 a7)) (pattern-series '(1 1 2 1 2 1 2) pattern :variant '(p p i r ri p p)) => ((s c4 d4 e4 g4) (s gs4 bb4 eb5 c5) (s cs5 bb4 fs4 gs4) (s bb4 gs4 f4 eb4) (s e4 fs4 cs4 b3) (s cs4 eb4 bb3 gs3) (s a3 b3 e4 d4) (s e4 eb4 d4 e4) (s f4 e4 eb4 g4) (s gs4 b4 cs5 eb5) (s f5 g5 a5 c6) (s cs6 gs5 fs5 eb5)) (pattern-series '(1 -1 2 -1 2 -1 2) pattern) => ((s c4 d4 e4 g4) (s gs4 bb4 eb5 c5) (s b4 gs4 e4 fs4) (s gs4 bb4 cs5 eb5) (s d5 e5 a5 g5) (s a5 g5 d5 e5) (s eb5 f5 bb5 gs5) (s bb5 a5 gs5 bb5) (s b5 bb5 a5 cs6) (s c6 eb6 f6 g6) (s a6 g6 f6 d6) (s cs6 e6 fs6 b6)) (pattern-series '(1 -1 2 -1 2 -1 2) pattern :variant '(p p i r ri p p)) => ((s c4 d4 e4 g4) (s gs4 bb4 eb5 c5) (s b4 gs4 e4 fs4) (s gs4 fs4 eb4 cs4) (s c4 d4 a3 g3) (s a3 b3 fs3 e3) (s eb3 f3 bb3 gs3) (s bb3 a3 gs3 bb3) (s b3 bb3 a3 cs4) (s c4 eb4 f4 g4) (s a4 b4 cs5 e5) (s eb5 bb4 gs4 f4))  
    with random (1 2)
    (pattern-series (rnd-sample (length pattern) '(1 2)) pattern) etc...
    (pattern-series (rnd-sample (length pattern) '(13 -13)) pattern :variant '?) Best,
    Janusz
  25. Like
    Stephane Boussuge reacted to JulioHerrlein in Different Voice for one note in a Chord   
    Dear Jorvd,
     
    Maybe this post can be useful.
    Best,
    Julio
     
     
    Or maybe this. I did it for composing a String Quartet from a piano reduction.
    It brings some ideas to work with harmony.
    Best,
    Julio
     
    ;;;HARMONY METHOD 2 ////////////////////////////////////////SEV CHORDS Basic Functions SETS/// ;;SETS 7-35 - Major Scale (setf Srm7 (pcs-transpose 9 (pcs '4-26) :pitch)) (setf S7M (pcs-transpose 4 (pcs '4-20) :pitch)) (setf Trm7 (pcs-transpose 4 (pcs '4-26) :pitch)) (setf T7M (pcs-transpose -1 (pcs '4-20) :pitch)) (setf Tam7 (pcs-transpose 11 (pcs '4-26) :pitch)) (setf D7 (pcs-transpose 11 (pcs '4-27b) :pitch)) (setf hd (pcs-transpose 9 (pcs '4-27) :pitch)) (setf F7M#11-5 (gen-rotate 2 (pcs-transpose -1 (pcs '4-8) :pitch))) ;;;Establishing a Progression (setf chordprog (chordize (list Srm7 S7M Trm7 T7M Tam7 S7M))) ;; Some repetitions and transpositions from Harmonic functions (setf chordtrp-rpt (pitch-transpose-repeat '((0) (1 2 3) (0 -1)) (chordize (list T7M S7M Trm7 T7M T7M T7M T7M T7M T7M T7M T7M T7M T7M T7M)))) ;;; DEFINE DROP TYPES Position of chords (setf csd '(0 0 0 0) dp2 '(0 -12 0 0) dp3 '(0 0 -12 0) dp2-4 '(0 -12 0 -12) dp2-3 '(0 -12 -12 0) ddp2-3 '(0 -24 0 -12) dp-24 '(-24 -24 -24 -24) dp-ligeti '(-24 -24 24 24)) ;;;DROP ORDER - Order of Positions (setf droplist (flatten (list dp2-4 dp2 dp2-4 dp3 dp2))) ;;;MAKING THE Actual Voicings (setf chordprogdrop (chordize-list (pitch-transpose-n droplist (sort-desc (pitch-melodize chordtrp-rpt))))) ;;;Using the voicings for the final result (setf chordprgtrp chordprogdrop) ;;; Choose how many repeats of the rhythm (setf times 1) ;;;Transform the chords into separate voices (setf voz1 (flatten (pitch-demix 1 chordprgtrp))) (setf voz2 (flatten (pitch-demix 2 chordprgtrp))) (setf voz3 (flatten (pitch-demix 3 chordprgtrp))) (setf voz4 (flatten (pitch-demix 4 chordprgtrp))) ;;; (OPTIONAL) Process AMBITUS Instrumental ou vocal//////////////////////////////////////// ;(setf vozamb1 (ambitus '(c4 c5) voz1) vozamb2 (ambitus '(f3 c5) voz2) vozamb3 (ambitus '(g3 g4) voz3) vozamb4 (ambitus '(c2 e3) voz4)) ;(setf vozamb1 (ambitus (ambitus-instrument 'flute) voz1)vozamb2 (ambitus (ambitus-instrument 'oboe) voz2) vozamb3 (ambitus (ambitus-instrument 'clarinet) voz3) vozamb4 (ambitus (ambitus-instrument 'bassoon) voz4)) (setf vozamb1 voz1 vozamb2 voz2 vozamb3 voz3 vozamb4 voz4) ;;;HOMORHYTHM (setf homorhy (gen-repeat times '(q stacc -q e stacc q e stacc h h -s s pizz s pizz s pizz)) r1 homorhy r2 homorhy r3 homorhy r4 homorhy)(setf arthomo '(stacc stacc ord stacc ord ord leg leg ord)) (setf dynhomo '(f f mf mf p< f mp< < <)) ;; THE DYNAMICS are a little crazy, but this is only to show the stuff ;;;outra possibilidade para homorritmo ;;;lista do ritmo e articulação basica (setf ritrepeat '(-s s s s s -s s s e stacc e stacc -s s ord s s -s s s s e stacc e stacc h ord -s s s s -s s s s e stacc e stacc -e q. ord e stacc e stacc e -s s ord s s -s s -h -q s s -s s h -h)) ;;;repetições (setf homorhy (gen-repeat times ritrepeat) r1 homorhy r2 homorhy r3 homorhy r4 homorhy) ;;;OMN ASSEMBLAGE da LINHA (for poliphony) (setf vozomn1 (make-omn :length r1 :pitch vozamb1 :articulation arthomo :velocity dynhomo)) (setf vozomn2 (make-omn :length r2 :pitch vozamb2 :articulation arthomo :velocity dynhomo)) (setf vozomn3 (make-omn :length r3 :pitch vozamb3 :articulation arthomo :velocity dynhomo)) (setf vozomn4 (make-omn :length r4 :pitch vozamb4 :articulation arthomo :velocity dynhomo)) ;;;--------------------------------------------------------- ;;; SCORE ;;;---------------------------------------------------------- ;;; ;;; (OPTIONAL) Time Signature Sequences (setf time-signatures '((2 4 1) (3 4 2) (4 4 1))) ;;;ONLY ONE TIME SIGNATURE ;(setf time-signatures '((4 4))) (def-score voices (:title "Piano-Red-4-Voices" :subtitle "Estudos Polifônicos" :composer "Julio-Herrlein" :key-signature 'atonal :time-signature time-signatures :tempo '("Meditativo" q 60) :layout (piano-solo-layout '(pno-rh1 pno-rh2) '(pno-lh pno-lh2))) (pno-rh1 :omn vozomn1 :channel 1 :sound 'gm :program 'Violin :volume 100) (pno-rh2 :omn vozomn2 :channel 2 :sound 'gm :program 'Violin :volume 70) (pno-lh :omn vozomn3 :channel 3 :sound 'gm :program 'Viola :volume 80) (pno-lh2 :omn vozomn4 :channel 4 :sound 'gm :program 'Cello :volume 80))  
×
×
  • Create New...