-
Posts
819 -
Joined
-
Last visited
Reputation Activity
-
JulioHerrlein reacted to opmo in Request: make-omn
I have some idea how we could do that - possibly next week.
-
JulioHerrlein reacted to Deb76 in Request: make-omn
Dear Julio
Thank you for your reply, but that's not what I want. I know the integer-to-pitch function well, I use it in my musical analysis with the tools of the Set Theory. And precisely, at my request, in order to be able to add the notation mod12 on a partition, Janusz created the insertion of integers via num0 ... num11.
What I want is for make-omn to recognize the num parameter, either directly or by being able to add to :length, :pitch, :articulation, :velocity, the parameter :num or other name.
I made an example from a row extracted from the Library Vienna. By adding in the series the notation in integers with the parameter num one realizes that this notation does not appear in the score from make-omn :
(setf dur (gen-repeat 12 'q) )
(setf op29webernLib (expand-libraries '(library vienna webern r19)))
(setf op29webernNumMO '(ds4 num3 b4 num11 d4 num2 cs4 num1 f4 num5 e4 num4 g4 num7 fs4 num6 as4 num10 a4 num9 c4 num0 gs4 num8))
(setf webernop29_OMN
(make-omn
:length dur
:pitch op29webernNumMO
))
Unlike the notation as follows:
(setf op29webernNum1 '(q ds4 num3 b4 num11 d4 num2 cs4 num1 f4 num5 e4 num4 g4 num7 fs4 num6 as4 num10 a4 num9 c4 num0 gs4 num8))
Best.
Didier
Stéphane bonsoir,
Réponses croisées. Merci. Je n'avais pas pensé à l'intégrer en tant qu'articulation. Merci donc. Et je viens de vérifier en ajoutant aussi des articulations (num0+marc, num11+stacc...) ça fonctionne. C'est impeccable.
Cross responses. Thank you. I had not thought of integrating it as an articulation. Thank you so. And I just checked by adding also joints (num0 + marc, num11 + stacc ...) it works. It's impeccable.
Best.
Didier
-
JulioHerrlein reacted to torstenanders in Request: make-omn
> Sometimes is interesting for hearing snippets with different sounds without having to compile the entire score
My Opmo score data structure already allows for that, though you always have to render snippets with an explicit function call, as we cannot define custom shortcuts so far.
It is part of my tools at https://github.com/tanders/tot. Check out the function preview-score (https://tanders.github.io/tot/sources/score.html#_g232191). Various other functions allow to transform polyphonic score snippets for one or more instruments in various ways.
Best,
Torsten
-
JulioHerrlein reacted to opmo in Variations on Variations (2019)
It is a new function which generate a variations of a given score or section. The function has around 20 keywords and is not yet ready for release.
-
JulioHerrlein reacted to opmo in Variations on Variations (2019)
Variations on "Webern Variationen Fuer Klavier Op.27, I" (2019) by JP
Instrument: VSL Steinway D
-
JulioHerrlein got a reaction from ydepps in Combinatorial Voice-Leading of Hexachords
Dear All,
HAPPY 2018 !!
With the new PCS organization in Opusmodus is possible to implement a concept of my book, called Combinatorial Voiceleading of Hexachords.
From a Hexachord Set, is possible to find 10 different ways to combine the notes in the for of voice-leading sets. Each hexachord is divided in (3 + 3) way.
This expression:
(setf hexavl (mclist (chordize-list (integer-to-pitch (remove-duplicates (sort-asc (gen-divide 3 (flatten (permute (pcs '6-32))))) :test #'equal)))))
Will result in this combination of the 6-32 hexachord, similar to the idea in the book.
In the book, the material is organized in 70 pages of melodic and harmonic exercises.
Here is a litte sample:
CH_HERRLEIN.pdf
The entire book:
https://www.melbay.com/Products/Default.aspx?bookid=30042BCDEB
Best !
Julio Herrlein
-
JulioHerrlein reacted to opmo in Opusmodus 1.3 crashing
Dear Timothy,
Lets delete some folders and files from the Library folder.
1. Quit app.
2. Go to Library/Preferences folder and delete the com.opusmodus.Opusmodus.plist file:
3. Go to Library/Caches folder and delete the com.opusmodus.Opusmodus folder:
4. Start Opusmodus app
5. Create a new workspace
Let me know if the app is still crashing.
best,
Janusz
P.S. To play with the CLM please use the CLM.opmo file which you find in the Library panel '3. HowTo Score/Sound Synthesis' folder:
As well the 3 files in '5. Sound Synthesis' folder:
The CLM folder should not be used.
There are some clm instruments which may course crash.
With the time we will add more clm instruments with OMN form.
-
JulioHerrlein reacted to opmo in Opusmodus 1.3 release
Whats new in version 1.3
Compatibility with macOS Mojave
macOS 10.14 Dark Mode
CLM added
OSC added
MIDI player improvements
New functions:
binary-to-attribute
merge-attributes
circle-pitch-plot
circle-rhythm-plot
xy-plot
pcs-rhythm
edit-events
find-max-span
fit-to-span
gen-osc-data
osc-thread
stop-osc-threads
Enhancements and fixes:
quantizer returns now the count of given length-notes
single-events returns given type
don't join dissimilar rests
fixed rest grouping
fixed tied 8va or 8vb tuplets
Installation:
There are some changes to the Opusmodus user system folder.
Before opening the new application you need to delete the old Opusmodus folder.
Make sure you save your personal files (scores, docs etc...) before. A good solution is to rename the Opusmodus folder first and then compress it.
After you have deleted the Opusmodus user folder you can start the new application.
At the start Opusmodus will ask you for permission to create a new user folder in your home directory, if you don’t see a window for it, it means the old folder is still on your computer. Make sure the new Opusmodus folder is installed in your home directory.
New Opusmodus folder:
Upgrade:
Opusmodus 1.3 requires a new serial number to run.
When purchasing upgrade 1.3 the current user will need to provide an Opusmodus 1.2 serial number.
After the confirmation which takes a few seconds only, you will be redirected to the purchase page.
Following the purchase a new serial number will be sent to you by email.
Happy New Year 2019
Yours,
Janusz Podrazik
-
JulioHerrlein reacted to Stephane Boussuge in Prelude for Piano 171218
Hi Julio
that score use the pcs 7-33 as pitch material.
It use also a vector mapping on "reservoirs" of motives for the music generation.
All this was done on the fly on a draft file.
Once done, i've used pprint for pprint the score on my finale opmo score file and add some few treatment for creating the coda.
Score attached to this post.
All the best
S.
prelpia171218.opmo
-
JulioHerrlein reacted to Stephane Boussuge in Prelude for Piano 171218
Here's a small Prelude for Piano.
SB.
-
JulioHerrlein reacted to AM in chord-contraction/expansion
you should also share your ideas/thoughts/concepts!!??
-
JulioHerrlein reacted to lviklund in chord-contraction/expansion
André,
Thank you for the explanation. I agree with JH. Interesting.
/Lasse
-
JulioHerrlein reacted to AM in chord-contraction/expansion
hi julio
it's too complicated to share the code...the FUNCTION is made for a specific idea of the work (not common), so it's made for MY need...
here is a short sketch of the work... (part of it)
a) generating a pitch-sequence => by using a 12-tone-seq + its expansion by a sorting-algorithm (with GEN-SORT) => an INTERVAL-order mutates to a SCALE (see the list-plot)
b) pitches are projected on a sequence of symmetrical expanding/compressing FIELDS (with CHORD-CONTR...) => you see how the pitch-seq is contracted/exapnded in "space"
- result is a kind of interference of this processes => at the end you see (in list-plot) that the interference is going more and more to ONE LEVEL - to a SCALE
- so its a kind of inside/out. the inherent structure, the inherent process/order is more and more recognizable during the process (start with compr/exp. 12-tone-row to the simple SCALE)
the project is a bit larger. this sequence (which rhythm is based on a binary-event-filter (data of a jpeg of an artist)) is only the structural background (some ideas developed by LACHENMANN) - on this NET (the score you see) there will be other GESTALTS/MOTIFS etc...
because my needs are such specific to my and my idea - most of the functions i had to code for myself, or modify/enlarge the OPMO functions, great that this is possible on this platform.
sorry a bit complicated and i can't not describe it properly with a few words 🧐
-
JulioHerrlein reacted to Stephane Boussuge in Harmonic Systems - Harmonizing from top notes (melodies)
You can use pitch-class within PATTERN-MAP function:
(pattern-map '(((0 1 9 4 2 5) (0 4 2 1 9 5)) ((11 8 10 3 7 6) (10 8 11 3 7 6))) '((c6 cs4 a4 e3 d6 f4) (b4 gs3 bb4 eb4 g5 fs6)) :pcs t) => ((c6 e4 d4 cs3 a6 f4) (bb4 gs3 b4 eb4 g5 fs6))
-
JulioHerrlein reacted to Stephane Boussuge in Help on WILDCARDS ? *
You can use pitch-class within pattern-map function:
(pattern-map '(((0 1 9 4 2 5) (0 4 2 1 9 5)) ((11 8 10 3 7 6) (10 8 11 3 7 6))) '((c6 cs4 a4 e3 d6 f4) (b4 gs3 bb4 eb4 g5 fs6)) :pcs t) => ((c6 e4 d4 cs3 a6 f4) (bb4 gs3 b4 eb4 g5 fs6))
-
JulioHerrlein reacted to Stephane Boussuge in On the Functions of death......
May be
Expansion-series functions
pitch-repeat-transpose (re-incarnation 🙂
trim with gen-trim
length-diminution or augmentation
fragmentation with pitch-fragment
gen-transition or gen-morph etc..
use weighted function to add more and more rest in music (length-weight)
use text-to-pitch functions to create pitch structures based on the Death word or a death poem
create vectors who go from top to bottom (or reverse) and use them for rhythm, pitch etc... (gen-tendency)
the possibilities are endless 🙂
SB.
-
JulioHerrlein reacted to AM in Help on WILDCARDS ? *
often helpful in PATTERN MATCH things... (like in OPMO pattern-match-functions)
here is a short IDEA for an octave-independent PITCH-PATTERN-MATCHP with possible WILDCARD, perhaps could help you...
;;;-------------------------------------------------------------- ;;; PITCH PATTERN-MATCHP octave-independent ;;;-------------------------------------------------------------- ;;; SUB (defun convert-pitch (pitches) (loop for i in pitches when (pitchp i) collect (compress (butlast (explode i))) else collect i)) ;;; MAIN (defun pitch-pattern-matchp (pitchlist pattern) (let ((pitchlist (convert-pitch pitchlist)) (pattern (convert-pitch pattern))) (pattern-matchp pitchlist pattern))) (pitch-pattern-matchp '(c4 d4 eb4 f4 g4) '(c ? e)) => nil (pitch-pattern-matchp '(c4 d4 eb4 f4 g4) '(c ? eb)) => t
-
JulioHerrlein reacted to Stephane Boussuge in Harmonic Systems - Harmonizing from top notes (melodies)
originally, i've made gen-chord3 with JP for using in this top to bottom approach.
what is called root in gen-chord3 parameters was not thinked by me originaly as "root" but more cantus note on with to add other notes (below or not).
S.
But naturally, the gen-chord3 function is not conditionnal, so we have to think about something else but i think you can do that with pattern-match function.
S.
or also with def-case.
-
JulioHerrlein reacted to opmo in Harmonic Systems - Harmonizing from top notes (melodies)
I would need a few examples, input and output to see how could this work in our system.
-
JulioHerrlein got a reaction from opmo in Harmonic Systems - Harmonizing from top notes (melodies)
This would be great to make fast block harmonizations for arrangements.
-
JulioHerrlein got a reaction from Jorgalad in Harmonic Systems - Harmonizing from top notes (melodies)
In the jazz world, Barry Harris came up with the idea of harmonizing a bebop scale.
Combining a C6 (C, E, G, A) and a Bdim7 (B, D, F, Ab) chords, we have this scale:
From this stantpoint we can alternate tonic and dominant sounds, like this:
Every pair of chords have all the 8-note set.
The notes C,E, G and A are always harmonized with a C6 chord.
The notes D, F, Ab and B are always harmonized with a Bdim7 chord.
So, from the point of view of sets, there is no problem.
WHAT IS NEEDED:
I want a way to start FROM the melody, and then make a four part block harmonization with this (or any other) harmonic system
from the melody as an OMN expression.
So, I need a way to filter the notes to aply the right chord:
FOR EXAMPLE:
For the notes C, E, G and A
If the note is an C (in any register), I will apply a chord like , I will add the notes A, G and E, below the melody.
If the note is an (in any register), I will apply a chord like , I will add the notes G, E and C, below the melody.
And so on...
For the notes D, F, Ab and B:
If the note is an B (in any register), I will apply a chord like , I will add the notes Ab, F and D, below the melody.
And so on:
So, to make any procedure:
I need first find a way to apply a specific procedure only over the notes I want, over all the C notes, all the B notes, etc.
How to filter from an OMN expression ?
All the best !
Julio
-
JulioHerrlein got a reaction from opmo in how to keep omn-notation?
Quoting André:
But, despite this, we always want to have the output as close as possible to the final score.
Best,
Julio
-
JulioHerrlein reacted to opmo in how to keep omn-notation?
(setf sequence '((t s t) (3q 3e_s. t) (5h 5h 5q_7q 7q 7q 7q 7q 7q 7q_5q 5h 5h) (t s._3e 3q))) (gen-retrograde sequence) => ((t s t) (t s._3e 3q) (5h 5h 5q_7q 7q 7q 7q 7q 7q 7q_5q 5h 5h) (3q 3e_s. t))
best, JP
-
JulioHerrlein reacted to opmo in how to keep omn-notation?
Will be fixed in the next update. The problem not the ratios but the tied lengths. What we need to do is to reverse the order of tied lengths:
5q_7q = 7q_5q -
JulioHerrlein reacted to opmo in transpose-on-event-number
With EDIT-EVENT (ver1.3) function you will be able to edit any parameter in any given bar:
(edit-event '( (0 0 '(pitch-transpose 12 x) :pitch) (0 2 '(chord-inversion 2 x) :pitch) (0 3 '(pitch-variant x :variant 'i) :pitch) (2 1 '(chord-inversion 1 x) :pitch) (2 2 '(chord-inversion 1 (pitch-transpose 12 x)) :pitch) (3 1 '(chord-inversion 1 (pitch-transpose 12 x)) :pitch) (3 2 '(chord-inversion 2 x) :pitch) (3 3 '(chord-inversion 2 x) :pitch) (3 5 '(chord-inversion 4 x) :pitch) (3 6 'g3e4c5 :pitch) ) '((e c2 c3e3g3 c3e3g3 c3e3g3) (e f2 c3f3a3 c3f3a3 c3f3a3) (e e2 e3g3c4 e3g3c4 e3g3c4) (e gs2 e3b3 e3b3 e3b3 g2 d3g3b3 d3g3b3 d3g3b3))) => ((e c3 mf c3e3g3 g3c4e4 c3gs2f2) (e f2 c3f3a3 c3f3a3 c3f3a3) (e e2 mf g3c4e4 g4c5e5 e3g3c4) (e gs2 mf b4e5 e4b4 e4b4 g2 g4b4d5 g3e4c5 d3g3b3))