Jump to content

Featured Replies

Posted

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

Actually, you have only the possibilitie to use library function to pick into the Slonimsky Thesaurus.opmo library file who contain only the slonimsky tritones patterns.

 

I would love as you to have some functions who directly generate all this stuff ! Janusz ??  🙂 🙂 🙂 

 

S.

Me to would like to have functions for that.

I made a lib from about 50 pages from the book just to lose them before having time to share it 🤯😡🤬

  • Author

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

  • Author

Yes !

 

Each pattern could be conceived as a sieve.

PATT #1 could be like this:

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

Best,

Julio

  • Author

Some sieve values:

 

PATT #53 (7 -1)

PATT #59 (8 -1 -1)

PATT #77 (13 -4 -2 -1)

PATT #80 (-1 7)

PATT #85 (-2 1 7)

PATT #99 (-1 3 4)

PATT #181 (1 3)

PATT #186 (5 -1)

PATT #295 (-1 6)

 

 

 

  • Author
On 8/10/2018 at 9:59 PM, opmo said:

I think this could be done.

After we figure out the pattern sequence, gen-sive or make-scale do the job.

added 1 minute later

PATT # 1

(make-scale 'c4 12 :alt '(1 5))

This is why I love Opusmodus !

Best !!

Julio

  • 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

  • Author

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))

Dear Friends,

Thank you two for replying !

I am interested in possibilities of harmonization with chords (small circles with numbers from Thesaurus)

Thanks Stephane, that's exactly what I wanted to do.

Best !

David

 

PS: I am also waiting for your book Stéphane!;-)

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

 

 

 

 

 

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)
                      ))

 

(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

I hadn't seen the rest of your answer, it's just really amazing Stéphane!!

I'm going to take lessons!;-)

thank you so much,

 

david

Dear Friends,

is it possible to modify the file Slonimsky thesaurus.opmo by adding new data?
or do i have to create a new library.

moreover I cannot find this file on my computer although it is in opusmodus

 

Thanks for your help

 

david

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...

Create an account or sign in to comment


Copyright © 2014-2025 Opusmodus™ Ltd. All rights reserved.
Product features, specifications, system requirements and availability are subject to change without notice.
Opusmodus, the Opusmodus logo, and other Opusmodus trademarks are either registered trademarks or trademarks of Opusmodus Ltd.
All other trademarks contained herein are the property of their respective owners.

Powered by Invision Community

Important Information

Terms of Use Privacy Policy