-
Posts
763 -
Joined
-
Last visited
Content Type
Forums
Events
Store
Video Gallery
Everything posted by JulioHerrlein
-
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
-
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
-
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
-
implemented HELP needed on Jazz Lines from fragments
JulioHerrlein replied to JulioHerrlein's topic in Score and Notation
Many Thanks, Stephane!- 18 replies
-
- jazz
- jazz studies
-
(and 2 more)
Tagged with:
-
Updated library of many custom Opusmodus functions
JulioHerrlein replied to torstenanders's topic in Function Examples
Thanks to Torsten! I'm the apprentice -
implemented HELP needed on Jazz Lines from fragments
JulioHerrlein replied to JulioHerrlein's topic in Score and Notation
Dear Stephane, I'm getting some strange results... Don't know what I am missing... almost there ;;; Some cells (setf cells-reserv '( (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 g4 gs4 a4 c5) (s d4 f4 g4 a4) (s a4 g4 f4 d4) (s d4 f4 g4 c5))) ;0 Trane 1235 (CELL 1) ;1 Trane 1253 ;2 trane 5312 ;3 1245 > C7M (passing 4) CELL 2 ;4 1254 ;5 5412 ;6 1254 ;7 CROM1 1 7 b7 1 ;8 1 7 b7 9 ;9 5 #5 6 1 ;10 1 b3 4 5 ;11 5 4 b3 1 ;12 2451 (setf vector-ctrl-1 '(7 7 7)) (setf trsp1 '(0 1 2 0)) (setf phrase1 (pitch-transpose trsp1 (vector-map cells-reserv vector-ctrl-1))) When evaluating this code: (setf vector-ctrl-1 '(7 7 7)) (setf trsp1 '(0 1 2 0)) (setf phrase1 (pitch-transpose trsp1 (vector-map cells-reserv vector-ctrl-1))) I get the cell #7 transposed correctily by semitones But when I mix some different cell, I get an unexpected result... (setf vector-ctrl-1 '(7 7 7 1)) (setf trsp1 '(0 1 2 0)) (setf phrase1 (pitch-transpose trsp1 (vector-map cells-reserv vector-ctrl-1))) With the code above, I expected to have the same chromatic cell#7 3 times and then the cell #1 in transposition 0, but I got cell #12 3 times INSTEAD of cell #7, and then the cell #1, as expected... I dont know what I missed... The VECTOR number correspond to the order of the cells in the cells-reserv, right ? Best, Julio- 18 replies
-
- jazz
- jazz studies
-
(and 2 more)
Tagged with:
-
implemented HELP needed on Jazz Lines from fragments
JulioHerrlein replied to JulioHerrlein's topic in Score and Notation
Dear Stephane, Really cool solution. Now I got the idea of vector maps. Best, Julio- 18 replies
-
- jazz
- jazz studies
-
(and 2 more)
Tagged with:
-
implemented HELP needed on Jazz Lines from fragments
JulioHerrlein replied to JulioHerrlein's topic in Score and Notation
Another idea would be to set manually each transposition in one setf expression. But it would be a lot of work. Maybe the setf Expressions could be related to chord symbols, so we could related to a tune structure- 18 replies
-
- jazz
- jazz studies
-
(and 2 more)
Tagged with:
-
implemented HELP needed on Jazz Lines from fragments
JulioHerrlein posted a topic in Score and Notation
Dear All I'm studying some 4-note cells for Coltrane like jazz patterns from a video lesson of saxophonist Chad Lefkowitz-Brown. The idea is to use a limited number of cells (no more than 10, some diatonic and some chromatic) to create longer lines, like the line below. 1) The idea is to connect the same fragments with different transpositions, adjusting the transpositions according to the construction of the line. I need a code where I can experiment the order and the transpositions of the fragments to create a longer line. Sometimes I can have two times the same pattern with different transposition. 2) The possibility to rotate fragments would be interesting also. 3) Lastly: a random assembling that automatically adjust the transpositions, in a way that each new fragment starts exactly a semitone up or down the preceeding fragment, making a cohesive line. Any help is welcome !! Looking forward to PLAY this patterns on the guitar and record some Videos (where I can mention Opusmodus, of course !) Best ! Julio I tried the form below, but I'm not very happy with that. (setf xa (pitch-fragment 1 4 '(g4 gb4 f4 g4) :transpose '(0)) xb (pitch-fragment 2 3 '(c4 cs4 fs4) :transpose '(0 1 2 1)) xc (pitch-fragment 2 3 '(c4 cs4 fs4) :transpose '(0 1 2 1)) xd (pitch-fragment 2 3 '(c4 cs4 fs4) :transpose '(0 1 2 1)) xe (pitch-fragment 1 3 '(g4 g4 g4) :transpose '(0 1 2 1)) xf (pitch-fragment 4 3 '(c4 c4 c4) :transpose '(0 0 7 2))) (setf seq '(f a e)) (assemble-section 'x seq) (setf jazzline (flatten (assemble-section 'x seq))) (setf rhyjazz (gen-repeat 50 '(s))) (make-omn :length rhyjazz :pitch jazzline) These are not the actual fragments, just some ideas do debug the code...- 18 replies
-
- jazz
- jazz studies
-
(and 2 more)
Tagged with:
-
Updated library of many custom Opusmodus functions
JulioHerrlein replied to torstenanders's topic in Function Examples
Thank you, Torsten ! Enjoy !! Best, Julio -
Updated library of many custom Opusmodus functions
JulioHerrlein replied to torstenanders's topic in Function Examples
Thank you, Torsten. I have a physical copy of Reina's book. Best, Julio -
Updated library of many custom Opusmodus functions
JulioHerrlein replied to torstenanders's topic in Function Examples
Thank you, Torsten ! It worked ! I like the Carnatic Stuff. Best, Julio -
Updated library of many custom Opusmodus functions
JulioHerrlein replied to torstenanders's topic in Function Examples
Dear Torsten, Thank you. Now I understand that this command is done inside Opusmodus. Unfortunately, I got some errors... ;Compiling "/Users/acme/common-lisp/string-tools/make-package.lisp"... ;Compiling "/Users/acme/common-lisp/string-tools/string-tools.lisp"... ;Compiling "/Users/acme/common-lisp/string-tools/export.lisp"... ;Compiling "/Users/acme/common-lisp/ta-utilities/make-package.lisp"... ;Compiling "/Users/acme/common-lisp/ta-utilities/my-utilities.lisp"... ;Compiling "/Users/acme/common-lisp/ta-utilities/export.lisp"... ;Compiling "/Users/acme/common-lisp/fenv/sources/make-package.lisp"... ;Compiling "/Users/acme/common-lisp/fenv/sources/macros.lisp"... ;Compiling "/Users/acme/common-lisp/fenv/sources/fenv.lisp"... ;Compiling "/Users/acme/common-lisp/fenv/sources/export.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/package.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/from-studio-flat.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/01.domain.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/02.engine.lisp"... ;Compiler warnings for "home:common-lisp;cluster-engine;sources;02.engine.lisp.newest" : ; In poly-engine: type declaration for unknown variable master-index ; In poly-engine: Undeclared free variable *debug-count-backtrack* ; In an anonymous lambda form at position 22432: Duplicate definitions of assign-pitches-for-motif, in this file ; In an anonymous lambda form at position 23073: Duplicate definitions of assign-pitches-for-nth-motif, in this file ; In fail: Undeclared free variable *debug-count-backtrack* (2 references) ; In an anonymous lambda form at position 36784: Duplicate definitions of backjump-engine, in this file ; Warning: Lisp compilation failed while compiling #<cl-source-file "cluster-engine" "sources/02.engine"> ; While executing: uiop/lisp-build:check-lisp-compile-warnings, in process Listener-1(7). ; Warning: Lisp compilation had style-warnings while compiling #<cl-source-file "cluster-engine" "sources/02.engine"> ; While executing: uiop/lisp-build:check-lisp-compile-warnings, in process Listener-1(7). ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/03.Fwd-rules.lisp"... ; In fwd-rule-indep: type declaration for unknown variable length-metric-engin ; In fwd-rule2: type declaration for unknown variable length-metric-engin ; In fwd-rule3: type declaration for unknown variable length-metric-engin ; In fwd-rule4: type declaration for unknown variable length-metric-engin ; In fwd-rule5: type declaration for unknown variable length-metric-engin ; In fwd-rule6: type declaration for unknown variable length-metric-engin ; In fwd-rule6b: type declaration for unknown variable length-metric-engin ; Warning: Lisp compilation failed while compiling #<cl-source-file "cluster-engine" "sources/03.Fwd-rules"> ; While executing: uiop/lisp-build:check-lisp-compile-warnings, in process Listener-1(7). ; Warning: Lisp compilation had style-warnings while compiling #<cl-source-file "cluster-engine" "sources/03.Fwd-rules"> ; While executing: uiop/lisp-build:check-lisp-compile-warnings, in process Listener-1(7). ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/04.Backtrack-rules.lisp"... ; In backtrack-rule2: type declaration for unknown variable highest-index ; Warning: Lisp compilation failed while compiling #<cl-source-file "cluster-engine" "sources/04.Backtrack-rules"> ; While executing: uiop/lisp-build:check-lisp-compile-warnings, in process Listener-1(7). ; Warning: Lisp compilation had style-warnings while compiling #<cl-source-file "cluster-engine" "sources/04.Backtrack-rules"> ; While executing: uiop/lisp-build:check-lisp-compile-warnings, in process Listener-1(7). ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/05.rules-interface.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/05a.rules-interface-1engine.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/05b.rules-interface-2engines.lisp"... ;Compiler warnings for "home:common-lisp;cluster-engine;sources;05b.rules-interface-2engines.lisp.newest" : ; In get-start-nth-pointer-durations: type declaration for unknown variable rhythmseq ; In get-end-nth-pointer-durations: type declaration for unknown variable rhythmseq ; Warning: Lisp compilation failed while compiling #<cl-source-file "cluster-engine" "sources/05b.rules-interface-2engines"> ; While executing: uiop/lisp-build:check-lisp-compile-warnings, in process Listener-1(7). ; Warning: Lisp compilation had style-warnings while compiling #<cl-source-file "cluster-engine" "sources/05b.rules-interface-2engines"> ; While executing: uiop/lisp-build:check-lisp-compile-warnings, in process Listener-1(7). ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/05c.rules-interface-2engines.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/05d.rules-interface-2engines.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/05e.rules-interface-2engines.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/05f.rules-interface-3engines.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/05g.rules-interface-any-n-engines.lisp"... ;Compiler warnings for "home:common-lisp;cluster-engine;sources;05g.rules-interface-any-n-engines.lisp.newest" : ; In get-pitches-for-slices-of-notecounts: type declaration for unknown variable notecount ; In get-pitches-for-slices-of-notecounts: type declaration for unknown variable voicenr ; In get-pitches-for-slices-of-notecounts: type declaration for unknown variable notecount-slice ; In replace-notecount-by-timepoint: type declaration for unknown variable timepoint ; In replace-notecount-by-timepoint: type declaration for unknown variable notecountgroups ; In get-durations-for-slices-of-notecounts: type declaration for unknown variable notecount ; In get-durations-for-slices-of-notecounts: type declaration for unknown variable voicenr ; In get-durations-for-slices-of-notecounts: type declaration for unknown variable notecount-slice ; In get-timepoints-for-slices-of-notecounts: type declaration for unknown variable notecount ; In get-timepoints-for-slices-of-notecounts: type declaration for unknown variable voicenr ; In get-timepoints-for-slices-of-notecounts: type declaration for unknown variable notecount-slice ; Warning: Lisp compilation failed while compiling #<cl-source-file "cluster-engine" "sources/05g.rules-interface-any-n-engines"> ; While executing: uiop/lisp-build:check-lisp-compile-warnings, in process Listener-1(7). ; Warning: Lisp compilation had style-warnings while compiling #<cl-source-file "cluster-engine" "sources/05g.rules-interface-any-n-engines"> ; While executing: uiop/lisp-build:check-lisp-compile-warnings, in process Listener-1(7). ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/05h.rules-higher-level.lisp"... ;Compiler warnings for "home:common-lisp;cluster-engine;sources;05h.rules-higher-level.lisp.newest" : ; In an anonymous lambda form at position 453: Duplicate definitions of melodic-statement-for-dur, in this file ; Warning: Lisp compilation failed while compiling #<cl-source-file "cluster-engine" "sources/05h.rules-higher-level"> ; While executing: uiop/lisp-build:check-lisp-compile-warnings, in process Listener-1(7). ; Warning: Lisp compilation had style-warnings while compiling #<cl-source-file "cluster-engine" "sources/05h.rules-higher-level"> ; While executing: uiop/lisp-build:check-lisp-compile-warnings, in process Listener-1(7). ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/05i.rules-stop-search.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/05n.rules-interface-nn-engines.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/06.heuristic-rules-interface.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/06a.heuristic-rules-interface-1engine.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/06b.heuristic-rules-interface-2engines.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/06c.heuristic-rules-interface-2engines.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/06d.heuristic-rules-interface-2engines.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/06e.heuristic-rules-interface-2engines.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/06f.heuristic-rules-interface-3engines.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/06g.heuristic-rules-interface-any-n-engines.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/07.backjumping.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/08.decode.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/09.utilities.lisp"... ;Compiler warnings for "home:common-lisp;cluster-engine;sources;09.utilities.lisp.newest" : ; In get-nr-for-engine-with-highest-index: type declaration for unknown variable engine ; In remove-list-before-startpoint: type declaration for unknown variable endpoint ; In get-durations-at-notecounts: type declaration for unknown variable notecount ; In get-durations-at-notecounts: type declaration for unknown variable voicenr ; In get-durations-at-notecounts: type declaration for unknown variable notecounts ; In get-timepoints-at-notecounts: type declaration for unknown variable notecount ; In get-timepoints-at-notecounts: type declaration for unknown variable voicenr ; In get-timepoints-at-notecounts: type declaration for unknown variable notecounts ; In get-timepoints-at-notecounts-one-voice: type declaration for unknown variable notecount ; In get-timepoints-at-notecounts-one-voice: type declaration for unknown variable notecounts-all-voice ; In get-timepoints-at-notecounts-one-voice: type declaration for unknown variable list-voicenrs ; In remove-rests-and-gracenotes-from-durationlist: type declaration for unknown variable timepoints ; In get-timepoints-from-any-timepoint-minus-nsteps-ignor-rests-and-gracenotes: type declaration for unknown variable vsolution ; In get-events-from-any-timepoint-minus-nsteps-ignor-rests-and-gracenotes: type declaration for unknown variable vsolution ; In get-notecounts-from-any-timepoint-minus-nsteps-ignor-rests-and-gracenotes: type declaration for unknown variable vsolution ; In get-timepoints-from-any-timepoint-minus-nsteps-ignor-rests: type declaration for unknown variable vsolution ; In get-events-from-any-timepoint-minus-nsteps-ignor-rests: type declaration for unknown variable vsolution ; In get-notecounts-from-any-timepoint-minus-nsteps-ignor-rests: type declaration for unknown variable vsolution ; In get-timepoints-from-any-timepoint-minus-nsteps-ignor-rests-simplify-gracenotes: type declaration for unknown variable vsolution ; In get-timepoints-from-any-timepoint-minus-nsteps: type declaration for unknown variable vsolution ; In get-notecounts-from-any-timepoint-minus-nsteps: type declaration for unknown variable all-events ; In get-timepoints-from-any-timepoint-minus-nsteps-ignor-gracenotes: type declaration for unknown variable vsolution ; In get-events-from-any-timepoint-minus-nsteps-ignor-gracenotes: type declaration for unknown variable vsolution ; In get-timepoints-from-before-any-timepoint-minus-nsteps-ignor-gracenotes: type declaration for unknown variable all-onsets-no-gracenote-no-rest ; In an anonymous lambda form at position 106661: Duplicate definitions of remove-rests-and-return-notecountlist, in this file ; In matrix-trans: type declaration for unknown variable row ; Warning: Lisp compilation failed while compiling #<cl-source-file "cluster-engine" "sources/09.utilities"> ; While executing: uiop/lisp-build:check-lisp-compile-warnings, in process Listener-1(7). ; Warning: Lisp compilation had style-warnings while compiling #<cl-source-file "cluster-engine" "sources/09.utilities"> ; While executing: uiop/lisp-build:check-lisp-compile-warnings, in process Listener-1(7). ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/09b.markov-tools.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/09c.cluster-energy-profile.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/12.debug-tools.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/13.convert-pmc-rules.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/_000.main-interface.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-engine/sources/export.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-rules/sources/package.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-rules/sources/utils.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-rules/sources/rhythm-rules.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-rules/sources/melody-rules.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-rules/sources/harmony-rules.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-rules/sources/counterpoint-rules.lisp"... ;Compiling "/Users/acme/common-lisp/cluster-rules/sources/export.lisp"... ;Compiling "/Users/acme/common-lisp/tot/sources/slippery-chicken.lisp"... ;Compiling "/Users/acme/common-lisp/tot/sources/utils.lisp"... ;Compiling "/Users/acme/common-lisp/tot/sources/OMN-utils.lisp"... ;Compiling "/Users/acme/common-lisp/tot/sources/score.lisp"... ;Compiling "/Users/acme/common-lisp/tot/sources/rhythm.lisp"... ;Compiler warnings for "home:common-lisp;tot;sources;rhythm.lisp.newest" : ; In an anonymous lambda form at position 65555: Duplicate definitions of total-duration, in this file and in "home:common-lisp;tot;sources;OMN-utils.lisp.newest" ; Warning: Lisp compilation failed while compiling #<cl-source-file "tot" "sources/rhythm"> ; While executing: uiop/lisp-build:check-lisp-compile-warnings, in process Listener-1(7). ; Warning: Lisp compilation had style-warnings while compiling #<cl-source-file "tot" "sources/rhythm"> ; While executing: uiop/lisp-build:check-lisp-compile-warnings, in process Listener-1(7). ;Compiling "/Users/acme/common-lisp/tot/sources/pitch.lisp"... ;Compiler warnings for "home:common-lisp;tot;sources;pitch.lisp.newest" : ; In stretch-pitches: Undeclared free variable chord ; Warning: Lisp compilation failed while compiling #<cl-source-file "tot" "sources/pitch"> ; While executing: uiop/lisp-build:check-lisp-compile-warnings, in process Listener-1(7). ; Warning: Lisp compilation had style-warnings while compiling #<cl-source-file "tot" "sources/pitch"> ; While executing: uiop/lisp-build:check-lisp-compile-warnings, in process Listener-1(7). ;Compiling "/Users/acme/common-lisp/tot/sources/velocity.lisp"... ;Compiling "/Users/acme/common-lisp/tot/sources/articulations.lisp"... ;Compiling "/Users/acme/common-lisp/tot/sources/PWGL.lisp"... ;Compiling "/Users/acme/common-lisp/tot/sources/constraints.lisp"... ;Compiling "/Users/acme/common-lisp/tot/sources/form.lisp"... ;Compiling "/Users/acme/common-lisp/tot/sources/orchestration.lisp"... :tot nil 89 > :tot nil 89 > -
Updated library of many custom Opusmodus functions
JulioHerrlein replied to torstenanders's topic in Function Examples
Thanks, Torsten ! Very nice. I want to try it. I did the Git terminal stuff I don't know how to to this part... ASFD is something I have to install ? ??? Best, Julio USAGE part (???) This library is an ASDF system (ASDF is the de facto standard for building Common Lisp software), and you can load it into your Lisp compiler as follows. All dependency libraries are loaded automatically as well. (require :tot) For most convenient use within Opusmodus, you can drag and drop the whole folder of this library in the browser of an Opusmodus project. Then, visit the HTML documentation of this library from within Opusmodus: open the tot, and then its doc folder and click on an HTML file, say index.html. You can now browse the reference documentation of the library, which explains its individual definitions. Most importantly, you can directly run all example code in the documentation from within Opusmodus (thanks, Janusz Podrazik). added 1 minute later Second question : When I update to next Opusmodus release, do I have to reinstall it ? Best, Julio -
ALL Interval 12-tone Rows and 12-tone control
JulioHerrlein replied to JulioHerrlein's topic in Function Examples
Great idea Andre! Best, Julio -
ALL Interval 12-tone Rows and 12-tone control
JulioHerrlein replied to JulioHerrlein's topic in Function Examples
Dear Stephane, Thanks a lot for this insigthful answer ! There are so many beautiful hidden secrets in Opusmodus. I was searching for row, 12-tone, series, but never ocurred to me searching "air". There's a need for some historical music-oriented tutorials. All the best ! Julio -
Re-auditioning selected shown scores/snippets
JulioHerrlein replied to torstenanders's topic in Support & Troubleshooting
Great idea ! It would be nice. -
Dear Friends, I need some help on functions related to more control over 12-tone rows, specially the interval content. For example, below there are Berg's Lyric Suite 12-tone Row. This is an example of all interval series, a combination of every interval. Please, check this: https://en.wikipedia.org/wiki/All-interval_twelve-tone_row This All interval series are very interesting harmonically, since it produces very consonant trichords. 1) I'd like to control the building of the 12-tone rows, in relation to it's properties to get more control over the harmonic output. What are the methods and fuctions related to it ? (setf berglyric '(f4 e4 c4 a4 g4 d4 ab4 db4 eb4 gb4 bb4 b4)) (pitch-to-interval berglyric) (respell (gen-chord2 20 '(3 3 3) no012row)) (respell (gen-chord2 40 '(3 3 3 1) berglyric)) 2) How to retrieve the notes of the series for genarating chords in different ways and matrices, like in sequence or every other note. For example Hypothetical ROW (0 1 2 3 4 5 6 7 8 9 10 11) How to retrieve: 0 2 4 6 8 10 (skipping every one note) or 0 3 6 9 OR HARMONIC MATRICES, Like Trichords (0 1 2) (3 4 5) (6 7 eight) (9 10 11) OR (0 4 (1 5 9) (2 6 10) (3 7 11) Any help is welcome ! Best, Julio
-
resolved How to force a time signature for Snippet fast use
JulioHerrlein replied to JulioHerrlein's topic in OMN Lingo
Thanks a lot, Janusz ! -
resolved How to force a time signature for Snippet fast use
JulioHerrlein posted a topic in OMN Lingo
Dear Friends, I'm setting some 12-tone examples for classroom. I just want to show some rows with motives, in the example below. I'd like to force this omn expression to make a snippet in 4/4 only or 2/4, without having to use def score. Is it possible ? It's easier for faster classroom purposes. Best, Julio (setf clodorow '(a4 gs5 c5 d5 bb4 b4 fs5 f5 cs5 g5 ds5 e5)) (setf serierit '(q.. s -s s s s -s e._q -s s -s s_q)) (make-omn :length serierit :pitch clodorow :velocity '(pp sfz p < f pp mf mf mp mp) :length-symbols t) It's genarating a 7/4 snippet. I would prefer it in 2/4 or 4/4... Any help ? Best, Julio -
solved [SOLVED] Idea for a Rhythmic Set Theory Function
JulioHerrlein replied to JulioHerrlein's topic in Function Examples
The crop function is SOLVED (binary-map (butlast (row-rotation 1 (gen-binary-row 12 (pcs '3-11b)))7)1/16) It's the number 7 as a parameter for the butlast lisp function, after the three parentheses. HERE for the complementary set of the Rhythm (binary-invert) (binary-map (butlast (binary-invert (row-rotation 1 (gen-binary-row 12 (pcs '3-11b))))4) 1/16) Best, Julio- 40 replies
-
- pitches-rhythm isomorphism
- toussaint
- (and 6 more)
-
solved [SOLVED] Idea for a Rhythmic Set Theory Function
JulioHerrlein replied to JulioHerrlein's topic in Function Examples
Dear Janusz, Hope it can be useful. It will be great to have this new function ! Thank you ! With a dedicated function, all this can be more elegant, for sure ! An easier workflow. All the code below can be embbeded in only one code: (binary-map (row-rotation -7 (gen-binary-row 12 (pcs '3-11)))1/16) all this can be something like (pcs-to-rhythm (pcs '3-11) 1/16) with optional arguments, like :rotation - rotation of the series wrapping around itself. :displace - put a rest of, for ex, 1/16 before the set ;legato - t, for full value or nil (default) for normal operation (each value equals the quantization (pcs-to-rhythm (pcs '3-11) 1/16) (pcs-to-rhythm (pcs '3-11) 1/16 :legato t) only the rhtyhm (without the notes) :mod - defalt is the 12 time point cycle, but optionally, any cycle rotation, like 16, for example. :crop - assuming 12 time points as the default cycle, the crop option let you take portions of the sets to use. It's easy, just make something to cut the last parts of the binary result. (pcs-to-rhythm (pcs '3-11) 1/16 :crop 8 ) will result in: (pcs-to-rhythm (pcs '3-11) 1/16 :crop 8 :displace 1) (pcs-to-rhythm (pcs '3-11) 1/16 :crop 8 :rotate 1) The crop option helps using portions of the Rhythmic Sets, by truncating some of them, like this: In the preceeding example, only parts of the 2 sets are used (9 time points out of 12 in the first and 8 time points out of 12 in the second). Best ! Julio- 40 replies
-
- pitches-rhythm isomorphism
- toussaint
- (and 6 more)
-
solved [SOLVED] Idea for a Rhythmic Set Theory Function
JulioHerrlein replied to JulioHerrlein's topic in Function Examples
This is the EASIEST Method to achieve the result !!! FINALLY !! Without the need of Meier's Functions !! (binary-map (row-rotation 0 (gen-binary-row 12 (pcs '3-11)))1/16) YEEEEESSSSS !!! added 10 minutes later (binary-map (row-rotation 1 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation 0 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -1 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -2 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -3 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -4 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -5 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -6 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -7 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -8 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -9 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -10 (gen-binary-row 12 (pcs '3-11)))1/16) AND FINALLY, back to que original (binary-map (row-rotation -11 (gen-binary-row 12 (pcs '3-11)))1/16) It works !- 40 replies
-
- pitches-rhythm isomorphism
- toussaint
- (and 6 more)
-
solved [SOLVED] Idea for a Rhythmic Set Theory Function
JulioHerrlein replied to JulioHerrlein's topic in Function Examples
MY effort, version 2 (setf pcsrhy1 (flatten (omn :length (length-staccato 1/16 (time-point-system (pcs '3-11b :pitch)'s))))) ;; here you adjust the rotation of the rhythm: (1) is the original, 0 is one 16th note ahead (-1) is 2 16th notes ahead and so on (setf pcsrot1 (row-rotation 1 (length-to-binary pcsrhy1 1/16))) (binary-map pcsrot1 1/16) The aforementioned Meier's functions are necessary... Best, Julio- 40 replies
-
- pitches-rhythm isomorphism
- toussaint
- (and 6 more)
-
solved [SOLVED] Idea for a Rhythmic Set Theory Function
JulioHerrlein replied to JulioHerrlein's topic in Function Examples
This is my best effort, using two André Maier functions (THANKS ANDRÉ !!!) (binary-map (row-rotation 7 (length-to-binary (flatten (omn :length (length-staccato 1/16 (time-point-system (pitch-rotate 0 (pcs '3-11b :pitch))'s :start 0) )))1/16))1/16) Here are the Andre Meier Functions invoked in the code above: ;EXTRA FUNCTIONS ;;;LENGTH-LEGATO (ANDRE MEIER) (defun length-staccato (n alist) (let ((newlengths) (new-omn (omn-merge-ties (flatten alist))) (time-sign (get-time-signature alist))) (progn (setf newlengths (loop for i in (omn :length new-omn) when (> i 0) append (if (= n i) (list i) (list n (* -1 (abs (- i n))))) else collect i)) (if (omn-formp alist) (omn-to-time-signature (make-omn :length newlengths :pitch (omn :pitch new-omn) :velocity (omn :velocity new-omn) :articulation (omn :articulation new-omn)) time-sign) newlengths)))) ;;LENGHT TO BINARY ANDRE MEIER (defun length-to-binary (lengthlist n) (let ((newlist (loop for i in (omn :length lengthlist) collect (/ i n)))) (loop for x in newlist when (> x 0) append (append (list 1) (gen-repeat (1- x) '0)) else append (gen-repeat (abs x) '0)))) (length-to-binary '(-e -s s q e) 1/16) (length-to-binary '(-1/16 1/16 -1/8) 1/16) => (0 0 0 0 1 0 0 0 1 0) (length-to-binary '(-q s s q e) 1/16) => (0 0 0 0 1 1 1 0 0 0 1 0)- 40 replies
-
- pitches-rhythm isomorphism
- toussaint
- (and 6 more)