JulioHerrlein Posted August 10, 2018 Share Posted August 10, 2018 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 opmo 1 Quote Link to comment Share on other sites More sharing options...
Stephane Boussuge Posted August 10, 2018 Share Posted August 10, 2018 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. JulioHerrlein 1 Quote Link to comment Share on other sites More sharing options...
lviklund Posted August 10, 2018 Share Posted August 10, 2018 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 JulioHerrlein 1 Quote Link to comment Share on other sites More sharing options...
opmo Posted August 10, 2018 Share Posted August 10, 2018 If someone will get me the entire Thesaurus as a library or as a lists (patterns) then we could do something what Julio is proposing. PDF etc... won't do. Each pattern should be in OM library form of at least a lisp lists. JulioHerrlein 1 Quote Link to comment Share on other sites More sharing options...
JulioHerrlein Posted August 10, 2018 Author Share Posted August 10, 2018 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: 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: or just in the C4-C5 ambitus, like this: 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 opmo and loopyc 2 Quote Link to comment Share on other sites More sharing options...
opmo Posted August 11, 2018 Share Posted August 11, 2018 I think this could be done. loopyc, JulioHerrlein and Stephane Boussuge 1 2 Quote Link to comment Share on other sites More sharing options...
JulioHerrlein Posted August 11, 2018 Author Share Posted August 11, 2018 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 Quote Link to comment Share on other sites More sharing options...
JulioHerrlein Posted August 11, 2018 Author Share Posted August 11, 2018 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) loopyc and lviklund 2 Quote Link to comment Share on other sites More sharing options...
JulioHerrlein Posted August 12, 2018 Author Share Posted August 12, 2018 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 Stephane Boussuge, loopyc and opmo 3 Quote Link to comment Share on other sites More sharing options...
david Posted November 16, 2022 Share Posted November 16, 2022 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 Quote Link to comment Share on other sites More sharing options...
JulioHerrlein Posted November 16, 2022 Author Share Posted November 16, 2022 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)) Quote Link to comment Share on other sites More sharing options...
Stephane Boussuge Posted November 16, 2022 Share Posted November 16, 2022 Dear David; to call s1u and s1d you can do: (list (library 'slonimsky 'tritone 's1u) (library 'slonimsky 'tritone 's1d) ) or (library 'slonimsky 'tritone nil :collect '(0 1)) S. david and JulioHerrlein 1 1 Quote Link to comment Share on other sites More sharing options...
david Posted November 16, 2022 Share Posted November 16, 2022 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!;-) JulioHerrlein and Stephane Boussuge 2 Quote Link to comment Share on other sites More sharing options...
david Posted November 17, 2022 Share Posted November 17, 2022 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 Quote Link to comment Share on other sites More sharing options...
Stephane Boussuge Posted November 17, 2022 Share Posted November 17, 2022 (setf pat1 (library 'slonimsky 'tritone nil :collect '(0 1))) (mapcar 'permute pat1) S. JulioHerrlein 1 Quote Link to comment Share on other sites More sharing options...
david Posted November 18, 2022 Share Posted November 18, 2022 Dear Stéphane, Thank you for replying! With this solution, i get pat1 100 times! (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) )) Quote Link to comment Share on other sites More sharing options...
Stephane Boussuge Posted November 18, 2022 Share Posted November 18, 2022 (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 Quote Link to comment Share on other sites More sharing options...
david Posted November 19, 2022 Share Posted November 19, 2022 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 Quote Link to comment Share on other sites More sharing options...
david Posted November 21, 2022 Share Posted November 21, 2022 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 Quote Link to comment Share on other sites More sharing options...
Stephane Boussuge Posted November 21, 2022 Share Posted November 21, 2022 You can't modify this file. You can create another Library (with a different name) by copy and past and extend it as you wish. S. Quote Link to comment Share on other sites More sharing options...
david Posted November 22, 2022 Share Posted November 22, 2022 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... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.