NAME

Music::Percussion::Tabla - Play the tabla!

VERSION

version 0.0200

SYNOPSIS

use Music::Percussion::Tabla ();

my $tabla = Music::Percussion::Tabla->new;

for my $i (1 .. 3) {
    $tabla->ta;
    $tabla->ta;
    $tabla->tun;
    $tabla->ga;
    $tabla->rest($tabla->quarter);
}

say $tabla->soundfont;

$tabla->timidity_cfg('/tmp/timidity.cfg'); # save the cfg
$tabla->write; # save the score as a MIDI file

# OR:
$tabla->play_with_timidity; # play the score with timidity

DESCRIPTION

Music::Percussion::Tabla provides named associations between tabla drum sounds and the included soundfont file.

Here are my "non-tabla player" descriptions of the sounds:

# MIDI Description
...
 1 60  ringing mid
 2 61  muted low
 3 62  slap
 4 63  ringing mid slap
 5 64  low knock
 6 65  muted ringing low
 7 66  lower
 8 67  low-up
 9 68  muted slap
10 69  ringing low
11 70  flam slap
12 71  loud tap
13 72  lowest mute
14 73  ringing low
15 74  muted low
16 75  loud tap double
17 76  high-low
18 77  high slap
19 78  tap
20 79  high knock
21 80  short low-up
22 81  mid tap
23 82  muted tap
24 83  mid
25 84  muted
26 85  loud mid double
27 86  slightly more muted
28 87  low mid
29 88  ringing mid
...

Only a few are named in this module. To play the others, just do this to add to the score:

$tabla->note($tabla->eighth, 79);

For baya and daya simultaneously, that would be:

$tabla->note($tabla->eighth, 79, 87);

ATTRIBUTES

soundfont

$soundfont = $tabla->soundfont;

The file location, where the tabla soundfont resides.

Default: dist_dir()/Tabla.sf2

tun_num

$tun_num = $tabla->tun_num;

Default: 60

ta_num

$ta_num = $tabla->ta_num;

Default: 71

tin_num

$tin_num = $tabla->tin_num;

Default: 82

tu_num

$tu_num = $tabla->tu_num;

Default: 87

te_num

$te_num = $tabla->te_num;

Default: 62

tete_num

$tete_num = $tabla->tete_num;

Default: 77

ka_num

$ka_num = $tabla->ka_num;

Default: 68

ga_num

$ga_num = $tabla->ga_num;

Default: 63

ga_slide_num

$ga_slide_num = $tabla->ga_slide_num;

Default: 67

METHODS

new

$tabla = Music::Percussion::Tabla->new(%args);

Create a new Music::Percussion::Tabla object. This uses all the possible properties of MIDI::Drummer::Tiny.

tun

$tabla->tun;
$tabla->tun($tabla->sixteenth);

Daya bol: tun

ta

$tabla->ta;
$tabla->ta($tabla->sixteenth);

Daya bol: ta/na

tin

$tabla->tin;
$tabla->tin($tabla->sixteenth);

Daya bol: tin

tu

$tabla->tu;
$tabla->tu($tabla->sixteenth);

Daya bol: tu

te

$tabla->te;
$tabla->te($tabla->sixteenth);

Daya bol: te

tete

$tabla->tete;
$tabla->tete($tabla->sixteenth);

Daya bol: tete = te + tete_num

ka

$tabla->ka;
$tabla->ka($tabla->sixteenth);

Baya bol: ka/ki/ke/kath

ga

$tabla->ga;
$tabla->ga($tabla->sixteenth);

Baya bol: ga/gha/ge/ghe

ga_slide

$tabla->ga_slide;
$tabla->ga_slide($tabla->sixteenth);

Baya bol: ga/gha/ge/ghe with wrist slide to syahi

dha

$tabla->dha;
$tabla->dha($tabla->sixteenth);

Baya bol: dha = ga + ta

dhin

$tabla->dhin;
$tabla->dhin($tabla->sixteenth);

Baya bol: dhin = ga + tin

tirkit

$tabla->tirkit;
$tabla->tirkit($tabla->sixteenth);

Baya bol: tirkit = tete + ka + te

SEE ALSO

File::Slurper

MIDI::Util

Moo

File::ShareDir

https://gleitz.github.io/midi-js-soundfonts/Tabla/Tabla.sf2

https://www.wikihow.com/Play-Tabla

https://www.taalgyan.com/theory/basic-bols-on-tabla/

https://kksongs.org/tabla/chapter02.html & https://kksongs.org/tabla/chapter03.html

AUTHOR

Gene Boggs <gene@cpan.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2023 by Gene Boggs.

This is free software, licensed under:

The Artistic License 2.0 (GPL Compatible)