Author image Douglas Sparling

NAME

Lutherie::FretCalc - Calculate stringed instrument fret locations

SYNOPSIS

  use Lutherie::FretCalc;

  my $fretcalc = Lutherie::FretCalc->new($scale_length);
  $fretcalc->in_units('in');
  $fretcalc->out_units('in');
  my $fret = $fretcalc->fret($fret_num);
  my @chart = $fretcalc->fretcalc($num_frets);
                       

DESCRIPTION

Lutherie::FretCalc provides two methods for calculating fret spacing locations for stringed musical instruments. fret() will find the distance from the nut for a given fret number. fretcalc() will generate an array containing the fret locations for the given number of frets.

OVERVIEW

TODO

CONSTRUCTOR

new ( [SCALE_LENGTH[, NUM_FRETS]] );

This is the constructor for a new Lutherie::FretCalc object. SCALE_LENGTH is the numeric value for the scale length to be used for the calculation. The default value for scale length is 25. NUM_FRETS is the number of frets to be calculated. The default value is 24. The unit can be set with the in_units() and out_units() methods. The default is 'in' (inches).

METHODS

scale ( [ SCALE_LENGTH ] )

If SCALE_LENGTH is passed, this method will set the scale length. The default value is 25. The scale length is returned.

num_frets ( [ NUM_FRETS ] )

If NUM_FRETS is passed, this method will set the number of frets. The default value is 24. The number of frets is returned.

fret_num ( [ FRET_NUM ] )

If FRET_NUM is passed, this method will set the fret number. The default value is 12. The fret number is returned.

in_units ( [ IN_UNITS ] )

If IN_UNITS is passed, this method will set the in units. The default is 'in' (inches). The in unit is returned. 'in' - Inches, 'mm' - Millimeters

out_units ( [ OUT_UNITS ] )

If OUT_UNITS is passed, this method will set the out units. The default is 'in' (inches). The out unit is returned. 'in' - Inches, 'mm' - Millimeters

calc_method ( [ CALC_METHOD ] )

If CALC_METHOD is passed, this method will set the calc method. The default is 't' (tempered). The calc method is returned. 't': tempered - power of $i/$tet (default), 'ec': classic - 17.817, 'es': Sloane - 17.835, 'ep': Primative - 18

tet ( [ TET ] )

If TET is passed, this method will set the tones per octave. The default is 12. The number of tones per ocatave is returned. This value is only valid when using calc_method = 't'.

precision ( [ PRECISION ] )

If PRECISION is passed, this method will set the precision of the displayed calculations. The default is 4 for 'in' and 1 for 'mm'. The precision is returned. 0: "%8.0f" 1: "%8.1f" 2: "%8.2f" 3: "%8.3f" 4: "%8.4f" 5: "%8.5f" 6: "%8.6f"

half_fret ( [ FRET_NUM ] )

If FRET_NUM is passed, this method will calculate the half fret for this fret number. Valid values are 1, 6, 8 and 13. Only used with dulc_calc(). A comma separated list of half frets is returned.

fret ( [ FRET_NUM ] )

Calculate the distance from the nut to the fret number. A scalar containing the fret location for FRET_NUM is returned.

fretcalc ( [ NUM_FRETS ] )

Calculate fret locations for given scale length, number of frets, calc type and tet. An ordered array containing fret locations from 1 to NUM_FRETS is returned.

dulc_calc ( )

Calculate fret locations for mountain dulcimer. Number of frets is set at 14. Half frets may be added by using half_fret function. Valid half frets are 1+, 6+, 8+ and 13+. num_frets will be ignored when using dulc_calc. A hash containing fret locations from 1 to 14 is returned.

AUTHOR

Douglas Sparling, doug@dougsparling.com

COPYRIGHT

Copyright (c) 2001-2002 Douglas Sparling. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.