Exemplo n.º 1
0
def six(note):
    if note < 4:
        which_string = "vl_D"
    else:
        which_string = "vl_A"
    if note % 4 == 0:
        violin.finger(which_string, semitones(0))
    elif note % 4 == 1:
        violin.finger(which_string, semitones(2))
    elif note % 4 == 2:
        violin.finger(which_string, semitones(4))
    elif note % 4 == 3:
        violin.finger(which_string, semitones(5))
    else:
        print "ERROR: bad note"
    suzuki(which_string, 1, 1)
    suzuki(which_string, 1, -1)
    suzuki(which_string, 1, 1)
    suzuki(which_string, 1, -1)
    suzuki(which_string, 1.5, 1)
    violin.wait(sixteenth * 0.5)
    suzuki(which_string, 1.5, -1)
    violin.wait(sixteenth * 0.5)
    violin.bow(which_string, bp, 1.0, 0.0)
Exemplo n.º 2
0
def main():
    violin = ViolinPhysical.ViolinPhysical('benchmark')
    violin.comment("")
    violin.comment(" This will produce bad sound output")
    violin.comment("   it's just a simple test; the main Vivi")
    violin.comment("   output is much better.  :)")

    # pluck position (default)
    #   - lowest value is pp-0.05
    pp = 0.25
    bp = 0.12

    violin.wait(0.5)
    violin.comment(" open strings arco")
    force = 1.2
    violin.bow('vl_A', bp, force, 1.0, 0.1)
    violin.wait(0.5)
    violin.bow('vl_D', bp, force, -1.0)
    violin.wait(0.5)
    force = 2.2
    violin.bow('vl_G', bp, force, 1.0)
    violin.wait(0.5)
    force = 0.8
    violin.bow('vl_E', bp, force, -0.5)
    violin.wait(1.0)
    violin.bow('vl_E', bp, 0.0, 0.0)
    violin.wait(0.5)

    violin.comment(" scale pizz")
    pluckWait(violin, 'vl_D', 0.0, pp, 0.25);
    pluckWait(violin, 'vl_D', semitones(2), pp, 0.25);
    pluckWait(violin, 'vl_D', semitones(4), pp, 0.25);
    pluckWait(violin, 'vl_D', semitones(5), pp, 0.25);
    pluckWait(violin, 'vl_D', semitones(7), pp, 0.25);
    pluckWait(violin, 'vl_A', 0.0, pp, 0.25); # repeated note
    pluckWait(violin, 'vl_A', semitones(2), pp, 0.25);
    pluckWait(violin, 'vl_A', semitones(4), pp, 0.25);
    pluckWait(violin, 'vl_A', semitones(5), pp, 0.25);
    violin.wait(1.0);

    violin.comment(" scale arco")
    force = 1.0
    velocity = 1.0
    violin.finger('vl_D', 0.0);
    violin.bow('vl_D', bp, force, velocity, 0.1);
    violin.wait(0.25);
    violin.finger('vl_D', semitones(2));
    violin.bow('vl_D', bp, force, -velocity);
    violin.wait(0.25);
    violin.finger('vl_D', semitones(4));
    violin.bow('vl_D', bp, force, velocity);
    violin.wait(0.25);
    violin.finger('vl_D', semitones(5));
    violin.bow('vl_D', bp, force, -velocity);
    violin.wait(0.25);
    violin.finger('vl_D', semitones(7));
    violin.bow('vl_D', bp, force, velocity);
    violin.wait(0.25);
    # repeated note
    force = 0.8
    violin.finger('vl_A', semitones(0));
    violin.bow('vl_A', bp, force, -velocity);
    violin.wait(0.25);
    violin.finger('vl_A', semitones(2));
    violin.bow('vl_A', bp, force, velocity);
    violin.wait(0.25);
    violin.finger('vl_A', semitones(4));
    violin.bow('vl_A', bp, force, -velocity);
    violin.wait(0.25);
    violin.finger('vl_A', semitones(5));
    violin.bow('vl_A', bp, force, velocity/2);
    violin.wait(0.5);

    violin.bow('vl_A', bp, 0.0, 0.0);
    violin.wait(1.0);

    violin.comment('scale done')


    violin.comment(" pizz chord")
    pluckWait(violin, 'vl_G', 0.0, pp+0.2, 0.0);
    pluckWait(violin, 'vl_D', 0.0, pp+0.15, 0.0);
    pluckWait(violin, 'vl_A', semitones(1), pp+0.1, 0.0);
    pluckWait(violin, 'vl_E', semitones(3), pp+0.05, 0.0);
    violin.wait(1.0);

    pluckWait(violin, 'vl_G', 0.0, pp+0.2, 0.03);
    pluckWait(violin, 'vl_D', 0.0, pp+0.15, 0.03);
    pluckWait(violin, 'vl_A', semitones(2), pp+0.1, 0.03);
    pluckWait(violin, 'vl_E', semitones(4), pp+0.05, 0.03);
    violin.wait(1.0);

    pluckWait(violin, 'vl_G', semitones(2), pp+0.1, 0.1);
    pluckWait(violin, 'vl_D', semitones(2), pp+0.1, 0.1);
    pluckWait(violin, 'vl_A', semitones(4), pp+0.1, 0.1);
    pluckWait(violin, 'vl_E', semitones(5), pp+0.1, 0.1);
    violin.wait(1.0);

    pluckWait(violin, 'vl_A', semitones(2), pp, 0.2);
    pluckWait(violin, 'vl_D', semitones(6), pp-0.05, 0.15);
    pluckWait(violin, 'vl_E', semitones(3), pp+0.05, 0.1);
    violin.pluck('vl_G', 0.0, pp);
    violin.wait(1.0);


    violin.comment(" arco chords")
    force = 2.0

    violin.finger('vl_G', semitones(2));
    violin.bow('vl_G', bp, force, velocity, 0.1);
    violin.wait(0.08);
    violin.finger('vl_D', semitones(2));
    violin.bow('vl_D', bp, force, velocity);
    violin.wait(0.08);
    violin.finger('vl_A', semitones(4));
    violin.bow('vl_A', bp, force, velocity);
    violin.wait(0.16);
    violin.finger('vl_E', semitones(5));
    violin.bow('vl_E', bp, force, velocity);
    violin.wait(0.24);
    violin.bow('vl_E', bp, 0.0, 0.0);
    violin.wait(0.5);

    velocity /= 2.0
    violin.finger('vl_A', semitones(2));
    violin.bow('vl_A', bp, force, velocity, 0.1);
    violin.wait(0.2);
    violin.finger('vl_D', semitones(6));
    violin.bow('vl_D', bp, force, velocity);
    violin.wait(0.2);
    violin.finger('vl_E', semitones(3));
    violin.bow('vl_E', bp, force, velocity);
    violin.wait(0.2);
    violin.finger('vl_G', 0.0);
    violin.bow('vl_G', bp, force, velocity);
    violin.wait(0.3);
    violin.bow('vl_G', bp, 0.0, 0.0);
    violin.wait(1.0);

    violin.comment('chords done')


    violin.comment(" gliss pizz")
    finger_pos = semitones(2)
    violin.pluck('vl_D', finger_pos, pp);
    for i in range(25):
        violin.wait(1.0/50)
        finger_pos += 0.0006
        violin.finger('vl_D', finger_pos)
    violin.wait(0.2)

    finger_pos = semitones(10)
    violin.pluck('vl_D', finger_pos, pp);
    for i in range(25):
        violin.wait(1.0/50)
        finger_pos -= 0.0021
        violin.finger('vl_D', finger_pos)
    violin.wait(0.2)

    violin.comment(" gliss bow")
    force = 0.8
    velocity = 0.2
    finger_pos = semitones(2)
    violin.finger('vl_D', finger_pos)
    violin.bow('vl_D', bp, force, velocity, 0.1)
    for i in range(25):
        violin.wait(1.0/50)
        finger_pos += 0.0006
        violin.finger('vl_D', finger_pos)
    violin.bowStop()
    violin.wait(0.2)

    finger_pos = semitones(10)
    violin.finger('vl_D', finger_pos)
    violin.bow('vl_D', bp, force, -velocity)
    for i in range(25):
        violin.wait(1.0/50)
        finger_pos -= 0.0021
        violin.finger('vl_D', finger_pos)
    violin.bowStop()
    violin.wait(0.2)



    violin.comment(" vibrato pizz")
    import math
    # vibrato
    finger_pos = semitones(5)
    violin.pluck('vl_D', finger_pos, pp);
    for i in range(90):
        violin.wait(1.0/49)
        wiggle = math.sin(i*0.5)
        #print wiggle
        finger_pos += 0.003 * wiggle
        violin.finger('vl_D', finger_pos)
    violin.wait(0.1)

    finger_pos = semitones(3)
    violin.pluck('vl_D', finger_pos, pp);
    for i in range(90):
        violin.wait(1.0/49)
        wiggle = math.sin(i*0.2)
        finger_pos += 0.006 * wiggle
        violin.finger('vl_D', finger_pos)
    violin.wait(0.1)


    violin.comment(" vibrato arco")
    finger_pos = semitones(5)
    violin.finger('vl_D', finger_pos)
    violin.bow('vl_D', bp, force, velocity, 0.1)
    for i in range(90):
        violin.wait(1.0/49)
        wiggle = math.sin(i*0.5)
        finger_pos += 0.003 * wiggle
        violin.finger('vl_D', finger_pos)
    violin.bowStop()
    violin.wait(0.3)

    finger_pos = semitones(3)
    violin.finger('vl_D', finger_pos)
    violin.bow('vl_D', bp, force, -velocity)
    for i in range(90):
        violin.wait(1.0/49)
        wiggle = math.sin(i*0.2)
        finger_pos += 0.006 * wiggle
        violin.finger('vl_D', finger_pos)
    violin.bowStop()
    violin.wait(0.3)



    violin.comment('vibrato and gliss done')
    violin.wait(0.5)
    violin.wait(0.1731)

    # Bach
#    semiquaver = 0.3;
#    violin.pluckWait('vl_G', semitones(7), 0.29, semiquaver);
#    violin.pluckWait('vl_G', semitones(7), 0.23, 0.0); # double stop
#    violin.pluckWait('vl_D', semitones(0), 0.25, 3*semiquaver);
#    violin.pluckWait('vl_G', semitones(9), 0.21, semiquaver);
#    violin.pluckWait('vl_G', semitones(10), 0.28, semiquaver);
#    violin.pluckWait('vl_D', semitones(5), 0.22, semiquaver);
#    violin.pluckWait('vl_D', semitones(7), 0.24, semiquaver);
#    violin.pluckWait('vl_D', semitones(8), 0.20, semiquaver);
#    violin.pluckWait('vl_G', semitones(6), 0.27, semiquaver);
#    violin.wait(0.8);

#    quaver = 0.4;
#    violin.pluckWait('vl_G', semitones(7), 0.29, 0);
#    violin.pluckWait('vl_D', semitones(3), 0.21, 0.3);
#    violin.pluckWait('vl_D', semitones(3), 0.25, 0);
#    violin.pluckWait('vl_A', semitones(0), 0.24, 3*quaver);

#    violin.pluckWait('vl_A', semitones(0), 0.27, quaver);
#
#    violin.pluckWait('vl_G', semitones(7), 0.28, 0.2);
#    violin.pluckWait('vl_D', semitones(5), 0.25, 0.2);
#    violin.pluckWait('vl_A', semitones(1), 0.24, 0.2);
#    violin.pluckWait('vl_E', semitones(0), 0.24, 2*quaver);
#
#    violin.pluckWait('vl_G', semitones(6), 0.23, 0.4);
#    violin.pluckWait('vl_D', semitones(5), 0.28, 0.1);
#    violin.pluckWait('vl_A', semitones(0), 0.21, 0.1);
#    violin.pluckWait('vl_E', semitones(0), 0.23, 3*quaver);
#

    violin.end()
Exemplo n.º 3
0
def main():
    violin = ViolinPhysical.ViolinPhysical("benchmark")
    violin.comment("")
    violin.comment(" This will produce bad sound output")
    violin.comment("   it's just a simple test; the main Vivi")
    violin.comment("   output is much better.  :)")

    # pluck position (default)
    #   - lowest value is pp-0.05
    pp = 0.25
    bp = 0.12

    violin.wait(0.5)
    violin.comment(" open strings arco")
    force = 1.2
    violin.bow("vl_A", bp, force, 1.0, 0.1)
    violin.wait(0.5)
    violin.bow("vl_D", bp, force, -1.0)
    violin.wait(0.5)
    force = 2.2
    violin.bow("vl_G", bp, force, 1.0)
    violin.wait(0.5)
    force = 0.8
    violin.bow("vl_E", bp, force, -0.5)
    violin.wait(1.0)
    violin.bow("vl_E", bp, 0.0, 0.0)
    violin.wait(0.5)

    violin.comment(" scale pizz")
    pluckWait(violin, "vl_D", 0.0, pp, 0.25)
    pluckWait(violin, "vl_D", semitones(2), pp, 0.25)
    pluckWait(violin, "vl_D", semitones(4), pp, 0.25)
    pluckWait(violin, "vl_D", semitones(5), pp, 0.25)
    pluckWait(violin, "vl_D", semitones(7), pp, 0.25)
    pluckWait(violin, "vl_A", 0.0, pp, 0.25)
    # repeated note
    pluckWait(violin, "vl_A", semitones(2), pp, 0.25)
    pluckWait(violin, "vl_A", semitones(4), pp, 0.25)
    pluckWait(violin, "vl_A", semitones(5), pp, 0.25)
    violin.wait(1.0)

    violin.comment(" scale arco")
    force = 1.0
    velocity = 1.0
    violin.finger("vl_D", 0.0)
    violin.bow("vl_D", bp, force, velocity, 0.1)
    violin.wait(0.25)
    violin.finger("vl_D", semitones(2))
    violin.bow("vl_D", bp, force, -velocity)
    violin.wait(0.25)
    violin.finger("vl_D", semitones(4))
    violin.bow("vl_D", bp, force, velocity)
    violin.wait(0.25)
    violin.finger("vl_D", semitones(5))
    violin.bow("vl_D", bp, force, -velocity)
    violin.wait(0.25)
    violin.finger("vl_D", semitones(7))
    violin.bow("vl_D", bp, force, velocity)
    violin.wait(0.25)
    # repeated note
    force = 0.8
    violin.finger("vl_A", semitones(0))
    violin.bow("vl_A", bp, force, -velocity)
    violin.wait(0.25)
    violin.finger("vl_A", semitones(2))
    violin.bow("vl_A", bp, force, velocity)
    violin.wait(0.25)
    violin.finger("vl_A", semitones(4))
    violin.bow("vl_A", bp, force, -velocity)
    violin.wait(0.25)
    violin.finger("vl_A", semitones(5))
    violin.bow("vl_A", bp, force, velocity / 2)
    violin.wait(0.5)

    violin.bow("vl_A", bp, 0.0, 0.0)
    violin.wait(1.0)

    violin.comment("scale done")

    violin.comment(" pizz chord")
    pluckWait(violin, "vl_G", 0.0, pp + 0.2, 0.0)
    pluckWait(violin, "vl_D", 0.0, pp + 0.15, 0.0)
    pluckWait(violin, "vl_A", semitones(1), pp + 0.1, 0.0)
    pluckWait(violin, "vl_E", semitones(3), pp + 0.05, 0.0)
    violin.wait(1.0)

    pluckWait(violin, "vl_G", 0.0, pp + 0.2, 0.03)
    pluckWait(violin, "vl_D", 0.0, pp + 0.15, 0.03)
    pluckWait(violin, "vl_A", semitones(2), pp + 0.1, 0.03)
    pluckWait(violin, "vl_E", semitones(4), pp + 0.05, 0.03)
    violin.wait(1.0)

    pluckWait(violin, "vl_G", semitones(2), pp + 0.1, 0.1)
    pluckWait(violin, "vl_D", semitones(2), pp + 0.1, 0.1)
    pluckWait(violin, "vl_A", semitones(4), pp + 0.1, 0.1)
    pluckWait(violin, "vl_E", semitones(5), pp + 0.1, 0.1)
    violin.wait(1.0)

    pluckWait(violin, "vl_A", semitones(2), pp, 0.2)
    pluckWait(violin, "vl_D", semitones(6), pp - 0.05, 0.15)
    pluckWait(violin, "vl_E", semitones(3), pp + 0.05, 0.1)
    violin.pluck("vl_G", 0.0, pp)
    violin.wait(1.0)

    violin.comment(" arco chords")
    force = 2.0

    violin.finger("vl_G", semitones(2))
    violin.bow("vl_G", bp, force, velocity, 0.1)
    violin.wait(0.08)
    violin.finger("vl_D", semitones(2))
    violin.bow("vl_D", bp, force, velocity)
    violin.wait(0.08)
    violin.finger("vl_A", semitones(4))
    violin.bow("vl_A", bp, force, velocity)
    violin.wait(0.16)
    violin.finger("vl_E", semitones(5))
    violin.bow("vl_E", bp, force, velocity)
    violin.wait(0.24)
    violin.bow("vl_E", bp, 0.0, 0.0)
    violin.wait(0.5)

    velocity /= 2.0
    violin.finger("vl_A", semitones(2))
    violin.bow("vl_A", bp, force, velocity, 0.1)
    violin.wait(0.2)
    violin.finger("vl_D", semitones(6))
    violin.bow("vl_D", bp, force, velocity)
    violin.wait(0.2)
    violin.finger("vl_E", semitones(3))
    violin.bow("vl_E", bp, force, velocity)
    violin.wait(0.2)
    violin.finger("vl_G", 0.0)
    violin.bow("vl_G", bp, force, velocity)
    violin.wait(0.3)
    violin.bow("vl_G", bp, 0.0, 0.0)
    violin.wait(1.0)

    violin.comment("chords done")

    violin.comment(" gliss pizz")
    finger_pos = semitones(2)
    violin.pluck("vl_D", finger_pos, pp)
    for i in range(25):
        violin.wait(1.0 / 50)
        finger_pos += 0.0006
        violin.finger("vl_D", finger_pos)
    violin.wait(0.2)

    finger_pos = semitones(10)
    violin.pluck("vl_D", finger_pos, pp)
    for i in range(25):
        violin.wait(1.0 / 50)
        finger_pos -= 0.0021
        violin.finger("vl_D", finger_pos)
    violin.wait(0.2)

    violin.comment(" gliss bow")
    force = 0.8
    velocity = 0.2
    finger_pos = semitones(2)
    violin.finger("vl_D", finger_pos)
    violin.bow("vl_D", bp, force, velocity, 0.1)
    for i in range(25):
        violin.wait(1.0 / 50)
        finger_pos += 0.0006
        violin.finger("vl_D", finger_pos)
    violin.bowStop()
    violin.wait(0.2)

    finger_pos = semitones(10)
    violin.finger("vl_D", finger_pos)
    violin.bow("vl_D", bp, force, -velocity)
    for i in range(25):
        violin.wait(1.0 / 50)
        finger_pos -= 0.0021
        violin.finger("vl_D", finger_pos)
    violin.bowStop()
    violin.wait(0.2)

    violin.comment(" vibrato pizz")
    import math

    # vibrato
    finger_pos = semitones(5)
    violin.pluck("vl_D", finger_pos, pp)
    for i in range(90):
        violin.wait(1.0 / 49)
        wiggle = math.sin(i * 0.5)
        # print wiggle
        finger_pos += 0.003 * wiggle
        violin.finger("vl_D", finger_pos)
    violin.wait(0.1)

    finger_pos = semitones(3)
    violin.pluck("vl_D", finger_pos, pp)
    for i in range(90):
        violin.wait(1.0 / 49)
        wiggle = math.sin(i * 0.2)
        finger_pos += 0.006 * wiggle
        violin.finger("vl_D", finger_pos)
    violin.wait(0.1)

    violin.comment(" vibrato arco")
    finger_pos = semitones(5)
    violin.finger("vl_D", finger_pos)
    violin.bow("vl_D", bp, force, velocity, 0.1)
    for i in range(90):
        violin.wait(1.0 / 49)
        wiggle = math.sin(i * 0.5)
        finger_pos += 0.003 * wiggle
        violin.finger("vl_D", finger_pos)
    violin.bowStop()
    violin.wait(0.3)

    finger_pos = semitones(3)
    violin.finger("vl_D", finger_pos)
    violin.bow("vl_D", bp, force, -velocity)
    for i in range(90):
        violin.wait(1.0 / 49)
        wiggle = math.sin(i * 0.2)
        finger_pos += 0.006 * wiggle
        violin.finger("vl_D", finger_pos)
    violin.bowStop()
    violin.wait(0.3)

    violin.comment("vibrato and gliss done")
    violin.wait(0.5)
    violin.wait(0.1731)

    # Bach
    #    semiquaver = 0.3;
    #    violin.pluckWait('vl_G', semitones(7), 0.29, semiquaver);
    #    violin.pluckWait('vl_G', semitones(7), 0.23, 0.0); # double stop
    #    violin.pluckWait('vl_D', semitones(0), 0.25, 3*semiquaver);
    #    violin.pluckWait('vl_G', semitones(9), 0.21, semiquaver);
    #    violin.pluckWait('vl_G', semitones(10), 0.28, semiquaver);
    #    violin.pluckWait('vl_D', semitones(5), 0.22, semiquaver);
    #    violin.pluckWait('vl_D', semitones(7), 0.24, semiquaver);
    #    violin.pluckWait('vl_D', semitones(8), 0.20, semiquaver);
    #    violin.pluckWait('vl_G', semitones(6), 0.27, semiquaver);
    #    violin.wait(0.8);

    #    quaver = 0.4;
    #    violin.pluckWait('vl_G', semitones(7), 0.29, 0);
    #    violin.pluckWait('vl_D', semitones(3), 0.21, 0.3);
    #    violin.pluckWait('vl_D', semitones(3), 0.25, 0);
    #    violin.pluckWait('vl_A', semitones(0), 0.24, 3*quaver);

    #    violin.pluckWait('vl_A', semitones(0), 0.27, quaver);
    #
    #    violin.pluckWait('vl_G', semitones(7), 0.28, 0.2);
    #    violin.pluckWait('vl_D', semitones(5), 0.25, 0.2);
    #    violin.pluckWait('vl_A', semitones(1), 0.24, 0.2);
    #    violin.pluckWait('vl_E', semitones(0), 0.24, 2*quaver);
    #
    #    violin.pluckWait('vl_G', semitones(6), 0.23, 0.4);
    #    violin.pluckWait('vl_D', semitones(5), 0.28, 0.1);
    #    violin.pluckWait('vl_A', semitones(0), 0.21, 0.1);
    #    violin.pluckWait('vl_E', semitones(0), 0.23, 3*quaver);
    #

    violin.end()
Exemplo n.º 4
0
def get_finger_naive(pitch):
    which_string = get_naive_string(pitch)
    finger_semitones = pitch - (55 + 7 * which_string)
    position = semitones(finger_semitones)
    return which_string, position