Jump to content

Recommended Posts

Posted

hello,
I'm looking for a way in the last bar (9) to go to 2/4 despite my 4/4 rhythm, is this possible?

 

(setf name
      '(#|1|# (s f5 g5 a5 c6 f5 g5 a5 c6)
        #|2|# (s f5 g5 a5 c6 f5 g5 a5 c6)
        #|3|# (s f5 g5 a5 c6 f5 g5 a5 c6)
        #|4|# (s f5 g5 a5 c6 f5 g5 a5 c6)
        #|5|# (s fs5 gs5 bb5 cs6 fs5 gs5 bb5 cs6)
        #|6|# (s fs5 gs5 bb5 cs6 fs5 gs5 bb5 cs6)
        #|7|# (s fs5 gs5 bb5 cs6 fs5 gs5 bb5 cs6)
        #|8|# (s fs5 gs5 bb5 cs6 fs5 gs5 bb5 cs6)
        #|9|# (s f5 g5 a5 c6 f5 g5 a5 c6)
        #|10|# (s f5 g5 a5 c6 f5 g5 a5 c6)
        #|11|# (s f5 g5 a5 c6 f5 g5 a5 c6)
        #|12|# (s f5 g5 a5 c6 f5 g5 a5 c6)
        #|13|# (s e5 fs5 gs5 b5 e5 fs5 gs5 b5)
        #|14|# (s e5 fs5 gs5 b5 e5 fs5 gs5 b5)
        #|15|# (s cs5 eb5 f5 gs5 cs5 eb5 f5 gs5)
        #|16|# (s eb5 f5 g5 bb5 eb5 f5 g5 bb5)
        #|17|# (s c5 d5 e5 g5 c5 d5 e5 g5)
        ))

 

(setf tmpO (omn-to-measure name 1/2))

 

(setf melo  (make-omn
:pitch (omn :pitch  (omn-to-measure (loop for x in tmpO collect (filter-repeat 1 (rnd-order x :type :pitch :seed 3))) 4/4))
:length (gen-eval 9 '(rnd-order '(e e e -e e e_q)):seed 86138)))

 

image.png.f5445d7a5f2a2b0ee7f618cdac2f85b0.png

 

 rhythmic structure would be like this

 

image.png.101a1807b9d4cc54f0bc2dd56d03d842.png

 

Thank you for your help

 

 

 

 

 

 

 

Posted

thanks jesper!

 

There seems to be a problem with notes reservoir.

 

(setf tmpO (omn-to-measure name 1/2))

 

image.png.d8a244cb157f651708761c86c467289d.png

 

there is one bar too many...the eleventh bar should not appear

4/4 - 4/4 - 4/4 - 4/4 -4/4 - 4/4 - 4/4 - 2/4 - 2/4 - 2/4

image.png.9eba65018f3c54392da6b9be16bab814.png

 

 

 

Posted

(print melo)

((e f5 g5 c6 -e e_q g5 e a5) (-e e f5 g5 c6 e_q g5 e a5) (e fs5 -e e gs5 e_q cs6 e gs5 bb5) (e fs5 gs5 e_q cs6 -e e gs5 bb5) (-e e f5 g5 e_q c6 e g5 a5) (e f5 -e e g5 c6 e_q g5 e a5) (-e e e5 fs5 b5 fs5 e_q gs5) (e_q cs5 -e e eb5 gs5 eb5 f5) (e c5 -e e d5 g5 e_q d5 e e5)) 

 

we can clearly see in the last bar the whole rhythm is used, so I have an additional 2/4 bar.

I wish my rhythm in rnd-order was truncated.

 

 

Posted

Thanks Jesper.

this is melo, bar 9 is in 4/4, butlast deletes the last bar. what I want is to keep half of the last bar.

 

image.png.607abdc29787e09973370fb95361c5b4.png

butlast, you can see bar 9 has been deleted. I want to keep the last one but only 2/4  image.png.e2e6050a26e3ebba6f54cf9cd0615d68.png

 

image.png.b3876d1d018f1925de3a7a4a8acbc6e2.png

 

image.png

Posted

correct!! Do you think it is possible to integrate this last code into melo?

image.png.3f7e734ca93738763e5ca0b5eb472a74.png

 

melo

(setf melo  (make-omn
:pitch (omn :pitch  (omn-to-measure (loop for x in tmpO collect (filter-repeat 1 (rnd-order x :type :pitch :seed 3))) 4/4))
:length (gen-eval 9 '(rnd-order '(e e e -e e e_q)):seed 86138)))

Posted

Why not just do

(setf melo (butlast (omn-to-measure melo '(1 1 1 1 1 1 1 1 1/2 1/2) :loop t)))

 

or

 

(setf melo (butlast (omn-to-measure
                     (make-omn
                      :pitch (omn :pitch (omn-to-measure (loop for x in tmpO collect (filter-repeat 1 (rnd-order x :type :pitch :seed 3))) 4/4))
                      :length (gen-eval 9 '(rnd-order '(e e e -e e e_q)):seed 86138))
                     '(1 1 1 1 1 1 1 1 1/2 1/2) :loop t)))

 

Jesper

 

 

Posted

Thank you Jesper, you are really strong;-)

 

indeed this is the code I am looking for but there is a problem.

(setf melo (butlast (omn-to-measure
                     (make-omn
                      :pitch (omn :pitch (omn-to-measure (loop for x in tmpO collect (filter-repeat 1 (rnd-order x :type :pitch :seed 3))) 4/4))
                      :length (gen-eval 9 '(rnd-order '(e e e -e e e_q)):seed 86138))
                     '(1 1 1 1 1 1 1 1 1/2 1/2) :loop t)))

 

this is a reservoir of notes

(setf tmpO (omn-to-measure name 1/2))

image.png.4bff805c132c33fd872bb8a0bb1c202f.png

if you look carefully at the result of the last three bars, the C# should not appear.

melo

image.png.97030ca06f6f11a5d7208dd740aaeef6.png

 

I should get this reservoir of notesimage.png.823cd1c600a97b4d4b7ecf6fff5b62a8.png.  instead of bar 8 image.png.350f7df62dcde9f124b32b246e60e1fb.png

Posted

Jesper, Thank you for your help.

can you test this code on your version 3 to determine if it is not a bug on my version 2 om?

I have a problem with the reservoir of my line 16 and omn-to-measure

 

(setf name
      '(#|1|# (s f5 g5 a5 c6 f5 g5 a5 c6)
        #|2|# (s f5 g5 a5 c6 f5 g5 a5 c6)
        #|3|# (s f5 g5 a5 c6 f5 g5 a5 c6)
        #|4|# (s f5 g5 a5 c6 f5 g5 a5 c6)
        #|5|# (s fs5 gs5 bb5 cs6 fs5 gs5 bb5 cs6)
        #|6|# (s fs5 gs5 bb5 cs6 fs5 gs5 bb5 cs6)
        #|7|# (s fs5 gs5 bb5 cs6 fs5 gs5 bb5 cs6)
        #|8|# (s fs5 gs5 bb5 cs6 fs5 gs5 bb5 cs6)
        #|9|# (s f5 g5 a5 c6 f5 g5 a5 c6)
        #|10|# (s f5 g5 a5 c6 f5 g5 a5 c6)
        #|11|# (s f5 g5 a5 c6 f5 g5 a5 c6)
        #|12|# (s f5 g5 a5 c6 f5 g5 a5 c6)
        #|13|# (s e5 fs5 gs5 b5 e5 fs5 gs5 b5)
        #|14|# (s e5 fs5 gs5 b5 e5 fs5 gs5 b5)
        #|15|# (s cs5 eb5 f5 gs5 cs5 eb5 f5 gs5)
        #|16|# (s eb5 f5 g5 bb5 eb5 f5 g5 bb5)
        #|17|# (s c5 d5 e5 g5 c5 d5 e5 g5)
        ))

 

(setf melo (butlast (omn-to-measure
                     (make-omn
                      :pitch (omn :pitch (omn-to-measure (loop for x in name collect (filter-repeat 1 (rnd-order x :type :pitch :seed 1))) 4/4))
                      :length (gen-eval 9  '(rnd-order '(e e e -e e e_q)):seed 86137))
                     '(1 1 1 1 1 1 1 1/2 1/2 1/2) :loop t)))

 

the notes bar 9 should be either:  eb5 ,F5 , G5 or Bb5.

I think it's because of my rhythm which is in 4/4, we can clearly see bars 8 and 9 are from the same reservoir of notes despite the request  '(1 1 1 1 1 1 1 1/2 1/2 1/2) :loop t)

bar 10 is ok because there is nothing after it.

we can clearly see this rhythm is the priority (rnd-order '(e e e -e e e_q)

image.png.5508543e30d9805b319dbbad70c9b273.png

Posted

Maybe a bit convoluted but too tired to think

 

(setf measures '(1 1 1 1 1 1 1 1/2 1/2 1/2))
(setf pitches (omn :pitch (omn-to-measure (loop for x in name collect (filter-repeat 1 (rnd-order x :type :pitch :seed 1))) measures)))
(setf rhythm (omn :length (omn-to-measure (gen-eval 9 '(rnd-order '(1/8 1/8 1/8 -1/8 1/8 3/8 )):seed 86137) measures)))
(setf result (butlast (make-omn :pitch pitches :length rhythm)))
 

Jesper

Posted

Sorry I hope, I don't want to bore you.

your code is correct now!!!

 

This means it is not really possible to combine all  functions if I understand correctly...bizarre.

Thank you very much for your help.

 

Posted

Yes, you could combine them, but for you, I think it's easier to understand what happens this way.

 

Jesper

 

(setf measures '(1 1 1 1 1 1 1 1/2 1/2 1/2))

 

(setf melo (butlast 
            (make-omn :pitch (omn :pitch (omn-to-measure (loop for x in name collect (filter-repeat 1 (rnd-order x :type :pitch :seed 1))) measures)) 
                      :length (omn :length (omn-to-measure (gen-eval 9 '(rnd-order '(1/8 1/8 1/8 -1/8 1/8 3/8 )) :seed 86137) measures)))))
 

Posted

I think I finally figured out how to handle combination of notes and rhythms in OM. I'm talking about a theme within a Chord Set. I'm talking about a grid because the chords are often written in a grid, each box representing a bar. I find it really not easy to do in OM, I come from sequencers and other software of the same kind where you can enter chords and practice improvising on them... here you have to do everything!

 

I believe I found only one example of Julio Herrlein on the forum, but it’s too complex to play. I'm looking to combine simple rhythms with chords approach the jazz language,, even though the term "jazz" doesn't mean much anymore;-)

 

Thanks again, Jesper, for your valuable help.

 

David

 

Posted

Hi,

I continue my investigations on this post

 

I have a "bird blues" as a note reservoir.

 

(setf blues2 '((s g4 a4 b4 d5 g4 a4 b4 d5)(s g4 a4 b4 d5 g4 a4 b4 d5)
                     (s fs4 a4 b4 cs5 fs4 a4 b4 cs5)
                     (s b4 c5 ds5 fs5 b4 c5 ds5 fs5)
                     (s e5 g5 a5 b5 e5 g5 a5 b5 )
                     (s a5 b5 cs6 e6 a5 b5 cs6 e6)
                     (s d5 f5 g5 a5 d5 f5 g5 a5 )
                     (s g5 a5 b5 d6 g5 a5 b5 d6)
                     (s c5 d5 e5 g5 c5 d5 e5 g5) 
                     (s c5 d5 e5 g5 c5 d5 e5 g5) 
                     (s c5 eb5 f5 g5 c5 eb5 f5 g5)
                     (s f5 g5 a5 c6 f5 g5 a5 c6)
                     (s b4 d5 e5 fs5 b4 d5 e5 fs5)
                     (s e5 fs5 gs5 b5 e5 fs5 gs5 b5)
                     (s bb4 db5 eb5 f5 bb4 db5 eb5 f5)
                     (s eb5 f5 g5 bb5 eb5 f5 g5 bb5)
                     (s a4 c5 d5 e5 a4 c5 d5 e5)(s a4 c5 d5 e5 a4 c5 d5 e5)
                     (s d5 e5 fs5 a5 d5 e5 fs5 a5)(s d5 e5 fs5 a5 d5 e5 fs5 a5)
                     (s g4 a4 b4 d5 g4 a4 b4 d5)
                     (s e5 f5 gs5 b5 e5 f5 gs5 b5)
                     (s a4 c5 d5 e5 a4 c5 d5 e5)
                     (s d5 e5 fs5 a5 d5 e5 fs5 a5)))


;;;transforme en 2/4
(setf tmp1 (omn-to-measure blues2 1/2))

 

little solo

(setf melo3 
            (make-omn 
             :pitch (omn :pitch 
                         (omn-to-measure 
                          (loop for x in tmp1
                                collect (filter-repeat 1 
                                                       (rnd-order x :type :pitch :seed 20))) 
                          '(1 1/2 1/2 1/2 1/2 1/2 1/2 1 1/2 1/2 1/2 1/2 1/2 1/2 1 1 1/2 1/2 1/2 1/2))) 
             :length (omn :length 
                          (omn-to-measure 
                           (gen-eval 12 '(rnd-order '(1/8 1/8 1/8 -1/8 1/8 3/8)) 
                                     :seed 20) 
                           '(1 1/2 1/2 1/2 1/2 1/2 1/2 1 1/2 1/2 1/2 1/2 1/2 1/2 1 1 1/2 1/2 1/2 1/2)))))

 

the result is ok, except!

image.png.f03df840b994f64218a696e1e4428bc3.png

 

I want to group the bars in 2/4 into 4/4, in the same code as melo3, is it possible?

 

thank's for help

 

David

 

 

Posted

(setf melo3 
      (omn-to-measure 
       (make-omn 
        :pitch (omn :pitch 
                    (omn-to-measure 
                     (loop for x in tmp1
                           collect (filter-repeat 1 
                                                  (rnd-order x :type :pitch :seed 20))) 
                     '(1 1/2 1/2 1/2 1/2 1/2 1/2 1 1/2 1/2 1/2 1/2 1/2 1/2 1 1 1/2 1/2 1/2 1/2))) 
        :length (omn :length 
                     (omn-to-measure 
                      (gen-eval 12 '(rnd-order '(1/8 1/8 1/8 -1/8 1/8 3/8)) 
                                :seed 20) 
                      '(1 1/2 1/2 1/2 1/2 1/2 1/2 1 1/2 1/2 1/2 1/2 1/2 1/2 1 1 1/2 1/2 1/2 1/2)))) 
       4/4))

 

Jesper

Posted

every time you understand perfectly what I'm looking for, Thanks Jesper🙏

 

in the same spirit I would like to add the rnd-octave function to this code in order to add some "spice" to this solo.

is it ok for you ?

 

(setf melo3 
      (omn-to-measure (make-omn 
                       :pitch (omn :pitch 
                                   (omn-to-measure 
                                    (loop for x in tmp1
                                          collect (filter-repeat 1 
                                                                 (rnd-octave '(bb4 fs6) (rnd-order x :type :pitch :seed 20)))) 
                                    '(1 1/2 1/2 1/2 1/2 1/2 1/2 1 1/2 1/2 1/2 1/2 1/2 1/2 1 1 1/2 1/2 1/2 1/2))) 
                       :length (omn :length 
                                    (omn-to-measure 
                                     (gen-eval 12 '(rnd-order '(1/8 1/8 1/8 -1/8 1/8 3/8)) 
                                               :seed 20) 
                                     '(1 1/2 1/2 1/2 1/2 1/2 1/2 1 1/2 1/2 1/2 1/2 1/2 1/2 1 1 1/2 1/2 1/2 1/2)))) 4/4)) 

 

and 

 

(setf melo3 
      (omn-to-measure (make-omn 
                       :pitch (omn :pitch 
                                   (omn-to-measure 
                                    (loop for x in tmp1
                                          collect (filter-repeat 1 
                                                                 (rnd-octaves '(bb4 fs6) (rnd-order x :type :pitch :seed 20)))) 
                                    '(1 1/2 1/2 1/2 1/2 1/2 1/2 1 1/2 1/2 1/2 1/2 1/2 1/2 1 1 1/2 1/2 1/2 1/2))) 
                       :length (omn :length 
                                    (omn-to-measure 
                                     (gen-eval 12 '(rnd-order '(1/8 1/8 1/8 -1/8 1/8 3/8)) 
                                               :seed 20) 
                                     '(1 1/2 1/2 1/2 1/2 1/2 1/2 1 1/2 1/2 1/2 1/2 1/2 1/2 1 1 1/2 1/2 1/2 1/2)))) 4/4)) 

 

i play saxophone tenor and I can't do it with the instrument (rnd-octave 'tsax

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Terms of Use Privacy Policy