Jump to content

Recommended Posts

Here is a small project to explore pitch-mapping.  There are some results but not the best ones yet.  If anyone has an idea on how to improve this I would really appreciate the advice.  What would be ideal as the result would be the same musical list (and notation) but with the transformed pitches.  As you can see from the result, there are many changes and the result is not clean but rather seriously garbled instead! :smile:

 

The goal is to remap the pitch content of the original with a new tonality-map.  Here is the beginning attempt.  A confusing element is the return of NIL when parsing :articulation from the original material.

 

;;; Pitch mapping project idea

;;; Original musical sequence:

(setf alto-flute-orig
'(
(-q e b4 -e (-app e eb4 f4) h. eb4 (-acc e f4 eb4 f4))


(-3q 3q b4 -3q (-app e eb4 f4) q eb4 (-acc e f4) h eb4 (-acc e f4 a4 b4))

(-q e f5 -e (-app e b4 ds5) a4 (-app e. g4) a4 t b4 a4 b4 -e (-app e eb5) e f5) 

((acc e b4 d5 ds5) q. c5 (acc s f5) e. b4 (acc e c5 d5 ds5) e. a4 (acc e b4 a4) e b4)

(-q e b4 (app e f4 a4 f4) e b4 t g4 a4 eb4 a4 q. b4 (-acc e f4 a4) h bb4 t bb4 c5)  

(-e. b4 -e (acc a4 b4) h bb4 (app e c5) q b4 (acc e d5 ds5 e5) q. b4 (app e f4 bb4) s c5)

(-e gs5 3s a4 d4 gs4 -e. bb4 tie q bb4 (3e b4 a4 b4 -e -e))

((acc e a4 b4 fs4) h c5 (acc e b4) q c5 (acc e ds5 e5 fs5) 3e b4 c5 fs4 q a4 tie q a4 tie e. a4 s bb4 a4 e b4)

(-e (acc e eb4) h f4 tie e. f4 s gb5 -e (acc eb5 f5) e e5 tie q e5 tie 3q e5 3q e5 3q f5 3q b4 -3q -3q)

((acc e bb4 b4) a4 (acc e bb4) h a4 (acc e bb4) e a4 s gs5 -s)
)
)

 

;;;
;;; Disassemble OMN: There are some errors here - in particular for :articulation which seems to return NIL

(disassemble-omn alto-flute-orig)
(setf pit (omn :pitch alto-flute-orig))
(setf len (omn :length alto-flute-orig))
;;; next line result is confusing - returns nil
(setf art (omn :articluation alto-flute-orig))
;;; next line returns a result
(setf artr (omn :rest-articulation alto-flute-orig))

 

;;; Create 12-tone mapping and pitch transformation of original

(setf map '(0 1 3 4 7 8 10 11 17 18 21))
(setf mapping (integer-to-pitch map))
(create-tonality 12T2 '(0 1 3 4 7 8 10 11 17 18 21))
(setf output (tonality-map '(12T2 :root c3 :fixed t) pit))

 

;;; Assemble the parameters into a new OMN with transformed pitches

(make-omn 
 :length len
 :pitch output
 :articulation art
 :rest-articulation artr
)

;;; The result is unsuable so far.  There are some things to iron-out here! :-)

Link to comment
Share on other sites

A bit more with another kind of confusing result:

 

;;;
(def-case fragments

(2 '(-q e b4 -e (-app e eb4 f4) h. eb4 (-acc e f4 eb4 f4)))

(3 '(-3q 3q b4 -3q (-app e eb4 f4) q eb4 (-acc e f4) h eb4 (-acc e f4 a4 b4)))

(4 '(-q e f5 -e (-app e b4 ds5) a4 (-app e. g4) a4 t b4 a4 b4 -e (-app e eb5) e f5))

(5 '((acc e b4 d5 ds5) q. c5 (acc s f5) e. b4 (acc e c5 d5 ds5) e. a4 (acc e b4 a4) e b4))

(6 '(-q e b4 (app e f4 a4 f4) e b4 t g4 a4 eb4 a4 q. b4 (-acc e f4 a4) h bb4 t bb4 c5)) 

(otherwise '(-e. b4 -e (acc a4 b4) h bb4 (app e c5) q b4 (acc e d5 ds5 e5) q. b4 (app e f4 bb4) s c5))) 


(setf v1 '(1 2 3 4 5 6))
(setf p1 (flatten (gen-eval 16 '(rnd-order v1))))
(setf p1_s (remove-duplicates p1))
(setf p1_out (fragments p1_s))

(setf mat (fragments '(2)))
(setf mat1 (pitch-transpose -12 (omn :pitch mat)))

(setf pit (omn :pitch mat))
(setf len (omn :length mat))
(setf art (omn :articulation mat))
(setf artr (omn :rest-articulation mat))

(make-omn
:pitch mat1
:length len
:articulation art
:rest-articulation artr
)

 

There is an notation result as a snippet but...as it is, it is not playable as a snippet.  

 

Error: division-by-zero detected
>        performing / on (1/16 0)
> While executing: ccl::divide-by-zero-error, in process Listener-2(7).

 

 

There are also some notational issues.

 

It seems that parsing articulation and the manner in which this is notated in OMN is part of the problem.  It may be better to consider composing out the small notes, the appoggiaturas and such with precise note values. (?).

 

Like this:

 

'(-q e b4 -e t eb4 f4 h. eb4 t f4 eb4 f4)
'(-q -3q 3q b4 -3q t e4 f4 q e4 t f4 h eb4 t f4 a4 b4)
'(-q f5  -e t b4 cs5 q. a4 t g4 e a4 tie t a4 b4 a4 b4 -e t eb5 e f5)
'(-e t b4 d5 ds5 q. c5 t f5 e. b4 tie t c5 d5 ds5 s a4 tie q a4 tie e a4 t b4 a4 s b4 -s)
'(-e b4 t f4 a4 f4 e b4 -e t g4 a4 eb4 a4 e b4 tie q b4 t f4 a4 h bb4 t bb4 c5 -e.)
'(b4 -e a4 b4 h bb4 t c5 q bb4 t d5 ds5 e5 q b4 tie e. b4 t f4 bb4 s c5 -e)
'(e gs5 3e a4 d5 gs4 e. bb4 tie h bb4)

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