MACRO RULES FOR RASGUEADO SYNTHESIS

This page provides supportive data for the journal article with the following title and authors.

Back to the main page of the article.

Paper title
ANALYSIS-BASED RESYNTHESIS OF RASGUEADO PLAYING IN GUITAR MUSIC
Authors
Mikael Laurson (1), Vesa Välimäki (1), and Henri Penttinen (1)
(1) Department of Signal Processing and Acoustics, Aalto University Espoo, Finland
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.
  •  

    http://www.acoustics.hut.fi/publications/papers/dafx10-rasqueado/
    Authors: Henri Penttinen, Vesa Välimäki, Mikael Laurson
    Modified: 02.09.2010, Henri Penttinen

    home