Paper title |
ANALYSIS-BASED RESYNTHESIS OF RASGUEADO PLAYING IN GUITAR MUSIC
|
Authors |
|
Macro Rules for Score-Based Simulation |
Based on signal and video analysis we obatined a set of onset times and amplitudes for string plucks in a
rasqueado gesture. The following macro rules are used to obtain useful control data for score-based rasqueado simulation.
The following five rules were used to calculate the result
in Fig.8 (of the article). The rules are written in Common Lisp, and the constraint-based system
is described in http://www2.siba.fi/pwgl/pwglconstraints.html.
Rule number 1:
(* ?1 (?if
(<= (count (rasg-finger ?1) l :key #'rasg-finger) 6))
"max 6 events")
Rule number 1 simply checks that none of the 'cami'
fingers should be
found more than 6 times in the result.
Rule number 2:
(* (?if (?incase
(< (length l) 13)
(not (find-if #'(lambda (f) (eq (rasg-finger f) :i)) l))))
"no 'i' before 13th event")
Rule number 2 states that the 'i' finger should not
occur before the
13th event (after this the first 'i' finger can occur
at anytime).We
could also handled this case by generating a more restrictive
search-space where the 'i' finger does not occur
before the late mid
part of the sequence.
The remaining three rules control the mid part of the sequence where
the 'a' and 'm' fingers should play in an interleaved manner. Thus
these rules are run only if the current event is plucked with an 'a'
or a 'm' finger.
Rule number 3:
(* ?1 (?if
(?incase (or (eq (rasg-finger
?1) :a) (eq (rasg-finger
?1) :m))
(let ((prev (find (rasg-finger
?1) (rest rl) :key #'rasg-finger)))
(?incase prev (> (- (rasg-time ?1) (rasg-time prev)) 0.005)))))
"min delta time between adjacent events with the same finger")
Rule number 3 is run only for the 'a' and the 'm' fingers. We look for
the previous occurrence with the same finger, and check that the time
difference between the current event and the previous one is equal or
less than 0.005s. Thus we want to avoid extremely fast adjacent events
that occur with the same finger. This is done in order to get fairly
evenly spaced events for the both fingers in the dense mid section.
Rule number 4:
(* ?1 (?if
(?incase (eq (rasg-finger
?1) :a)
(let ((string-no-a (count :a l :key #'rasg-finger))
(string-no-m (count :m l :key #'rasg-finger))
(prev-m (find :m (rest
rl) :key #'rasg-finger)))
(?incase (and string-no-m (= string-no-a string-no-m) prev-m)
(not (< (rasg-time prev-m) (rasg-time ?1)))))))
"'a' always before 'm'")
Rule number 4 is applied only for the finger 'a'. Here we want to
guarantee that an 'a' finger plucking a string will
always occur
before a 'm' finger with the same string number.
Rule number 5:
(* ?1 (?if
(?incase (or (eq (rasg-finger
?1) :a))
(let ((all-poses (all-poses (rasg-finger ?1) (mapcar #'rasg-finger l))))
(every #'(lambda (x) (<= 1 x 2)) (x->dx
all-poses)))))
"position deltas for 'a'")
Finally, rule number 5 is run only for the 'a' finger and it states
that there should never be more than 1 or 2 adjacent events that is
plucked with the 'a' finger. This rule will guarantee that in the mid
section the 'a' and 'm' fingers will alternate fairly often resulting
in the desired interleaved gesture between these fingers.
|
Status |
|
Rasqueado style |
Rasgueado (also called Rajeo, Rasgueo or Rasgeo in Andalusian dialect and Flamenco jargon) is a guitar finger strumming technique commonly associated with flamenco guitar music. It is also used in classical and other fingerstyle guitar picking techniques. The rasgueado is executed using the fingers of the strumming hand in rhythmically precise, and often rapid, strumming patterns. (see http://en.wikipedia.org/wiki/Rasgueado for more details)
|
LINKS |
PWGL is a free cross-platform visual language specialized in computer aided composition and sound synthesis.
All the score and synthesis examples of this article have been implemented using PWGL.
|