Jump to content

Slonimsky Stuff HELP


Recommended Posts

Dear All,

 

Is there a function where you can specify the creation parameters of the melodic patterns

devised by Slonimsky on the Thesaurus ?

 

Is there a function where you can specify:

 

1) The division of the octave (Tritone, Ditone, Sesquitone) ?

2) The pattern way (Infra, ultra, interpolation, and their combinations) ?

 

Thanks for the help !

Best,

Julio

Link to comment
Share on other sites

Dear Friends,

Thank you all for replying !

 

What I had in mind was not a replication of the book itself, like a database but, instead,

a kind of generative way for doing the same kind of symmetrical patterns.

Of course, this way, we could not retrieve the exact number of the pattern as in the book edition.

Actually, the patterns could be generated with a few informations:

 

1) The principal tones (the division of the octave). This could be specified as a keyword argument in the end of the Function, like

:tritone   :ditone  :sesquitone  :wt  :st   :quadritone  :sesquiquadritone  etc, etc...

 

2) The way the pattern is constructed, i.e., the combination of inter/ultra/infrapolation, as the figure bellow:

 

image.png.55f623f2d08536aa8a09df05dfae793c.png

 

3) The ambitus of the pattern, i.e., how many octaves/times the pattern will rise up through the range.
For example, Pattern #1 could spread all over a wide range as the figure below:

 

image.png.8c7fb41be91419c07a22a5db6ca09bc8.png

 

or just in the C4-C5 ambitus, like this:

image.png.e209d3d95ac96b6fb753e69f01b20c51.png

 

4) The restriction of the AMBITUS could make  some patterns based on larger divisions of the octave, wrap around

inside the ambitus determined, acting as a kind of Sieve, filtering the pitches.

 

Just some ideas...

 

All the best !

Julio

Link to comment
Share on other sites

  • 4 years later...

Hi,

cool!

how do you get down this PATT # 1 ?

and how do you also call PATT 1 and 2 for exemple ?

 

I'm using Slonimsky library, but I can't just call s1u and s1d...to train a scale up and down;-)

 

Thanks for your help

 

david

 

PS: I'm still waiting for your book

Link to comment
Share on other sites

Dear David,

 

Once you figured out the pattern type in terms of integers representing the ascending (positive) or descending (negative) movement, both methods below will do the job for generating symmetric patterns a la Slonimsky´s Thesaurus. Note that there are some repeating patterns in Slonimsky book. For sure, Slonimsky did it all by hand in that time. The interesting thing is the concept, the whole idea of INTER-INFRA_ULTRAPOLATION and the conceptual difference between Scale, as unidirectional and Pattern, as Zig-Zags, alternating ascending and descending movements.

 

By the way, the book is coming !! I´m looking forward to see it, too !

IT´s in the review / translation stage.

 

All the best !

Julio

 

 

(setf patt '(7 -1))
(setf pitches (gen-sieve '(c4 e6) patt :type :pitch))

or

(make-scale 'c4 12 :alt '(7 -1))
Link to comment
Share on other sites

Hi,

I use a lot permute function.

 

is it possible to get directely 24 results for 0 and 24 results for 1? without omn

(setf pat1 (library 'slonimsky 'tritone nil :collect '(0 1)))

 

0=s1u '(c4 cs4 fs4 g4)
1= s1d '(c5 g4 fs4 cs4)

 

Thanks for the help !

Best,

david

 

 

 

 

 

Link to comment
Share on other sites

Dear Stéphane,

Thank you for replying!

With this solution, i get pat1 100 times!

image.thumb.png.1bfba822d34dbac3002cbbb66d05ba75.png

(setf pat1 (library 'slonimsky 'tritone nil :collect '(0 1)))

 

(setf perm (mapcar 'permute pat1))

 

(setf ry1 '((s s s s s s s s s s s s s s s s)))

 

(setf Gmaj7.omn
                     (make-omn
                      :pitch perm
                      :length (gen-repeat 100 ry1)
                      ))

 

Link to comment
Share on other sites

(setf perm (assemble-seq (mapcar 'permute pat1)))

 

SB

But if you want to alternate permutations of s1UP and s1down, you can do this:

 

(setf s1u (library 'slonimsky 'tritone 's1u))
(setf s1d (library 'slonimsky 'tritone 's1d))
 
(setf s1u.perm (permute s1u))
(setf s1d.perm (permute s1d))

(setf pch (assemble-seq
	   (loop for i in s1u.perm
		 for j in s1d.perm
		 collect (list i j))))
 
(setf ry1 '((s s s s s s s s)))
 
(setf Gmaj7.omn
     (make-omn
      :pitch pch
      :length ry1
      :span :pitch
 ))

SB

Link to comment
Share on other sites

Thank you Stéphane.

I changed as you told me and it works.

 

(setf s1um (library 'slonimskymaj 'tritonem 's1um))
(setf s1dm (library 'slonimskymaj 'tritonem 's1dm))
 
(setf s1um.perm (permute s1um))
(setf s1dm.perm (permute s1dm))

(setf pch1 (assemble-seq
       (loop for i in s1um.perm
         for j in s1dm.perm
         collect (list i j))))

 
(setf ry1 '((s s s s s s s s)))
 
(setf Gmaj7.omn1
     (make-omn
      :pitch pch1
      :length ry1
      :span :pitch
 )) 

I am using find-Bar and i would like to know if it is possible to get the results algorithmically without a huge manual input? find-bar 1-2-3-4-5-6-7-8-9 etc etc

in my example I have 720 results;-)

 

(setf s1um (library 'slonimskymaj 'tritonem 's1um))
(setf s1dm (library 'slonimskymaj 'tritonem 's1dm))
 
(setf s1um.perm (permute s1um))
(setf s1dm.perm (permute s1dm))

(setf pch1 (assemble-seq
       (loop for i in s1um.perm
         for j in s1dm.perm
         collect (list i j))))

 
(setf ry1 '((s s s s s s s s)))
 
(setf Gmaj7.omn1
     (make-omn
      :pitch pch1
      :length ry1
      :span :pitch
 )) 


(setf seq 
      (remove-nils 
       (assemble-seq
       (list
       (pitch-transpose 12 (find-bar 1 Gmaj7.omn));;;début 
       (pitch-transpose 12 (find-bar 2 Gmaj7.omn))
       (pitch-transpose 5 (find-bar 1 Gmaj7.omn))
       (pitch-transpose 5 (find-bar 2 Gmaj7.omn))
       (pitch-transpose 10 (find-bar 1 Gmaj7.omn))
       (pitch-transpose 10 (find-bar 2 Gmaj7.omn))
       (pitch-transpose 15 (find-bar 1 Gmaj7.omn))
       (pitch-transpose 15 (find-bar 2 Gmaj7.omn))
       (pitch-transpose 8 (find-bar 1 Gmaj7.omn))
       (pitch-transpose 8 (find-bar 2 Gmaj7.omn))
       (pitch-transpose 13 (find-bar 1 Gmaj7.omn))
       (pitch-transpose 13 (find-bar 2 Gmaj7.omn))
       (pitch-transpose 6 (find-bar 1 Gmaj7.omn))
       (pitch-transpose 6 (find-bar 2 Gmaj7.omn))
       (pitch-transpose 11 (find-bar 1 Gmaj7.omn))
       (pitch-transpose 11 (find-bar 2 Gmaj7.omn))
       (pitch-transpose 16 (find-bar 1 Gmaj7.omn))
       (pitch-transpose 16 (find-bar 2 Gmaj7.omn))
       (pitch-transpose 9 (find-bar 1 Gmaj7.omn))
       (pitch-transpose 9 (find-bar 2 Gmaj7.omn))
       (pitch-transpose 14 (find-bar 1 Gmaj7.omn))
       (pitch-transpose 14 (find-bar 2 Gmaj7.omn))
       (pitch-transpose 7 (find-bar 1 Gmaj7.omn))
       (pitch-transpose 7 (find-bar 2 Gmaj7.omn))

etc etc...

Link to comment
Share on other sites

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