NAME
Tempo - various conversions to and from BPM
SYNOPSIS
use Music::Tempo;
my $marking = bpm_to_italian(50); # 'Largo'
my $bpm = italian_to_bpm('Allegro'); # 120
my $ms = bpm_to_ms(100); # 600
my $bpm = ms_to_bpm(200,8); # 120
DESCRIPTION
Includes two main functions, converting BPM (Beats Per Minute) to and from ms (milliseconds) and Italian metonome markings.
METHODS
bpm_to_italian($bpm)
Takes a BPM marking, and returns an appropriate Italian metronome marking (Lento, Allegro etc. - see below for full list).
italian_to_bpm($marking)
Takes an Italian metronome marking (Lento, Allegro, Presto etc.) and returns an *average* BPM.
bpm_to_ms($bpm,$beat)
Converts from BPM to ms. The 'beat' parameter (which defaults to 4) acts as an extra divisor. For instance, 120 BPM would normally mean 1 crotchet (or 1/4 note) =500ms. Passing a beat of '16' would return 125ms, referring to semiquavers (or 1/16 notes).
ms_to_bpm($ms,$beat)
The reverse of bpm_to_ms.
TEMPI
The italian tempi are of course approximations. The ranges below have been greatly reduced, and are presented only as a 'last resort' for automatic machine translation etc. They're roughly based on an average between Maetzel and Quantz, tweaked for 'standard modern' usage (Allegro=120 etc.).
Largo 40-59
Larghetto 60-66
Adagio 67-72
Lento 73-78
Andante 79-88
Moderato 89-109
Allegro 110-129
Vivace 130-149
Presto 150-190
Prestissimo 190-220
TODO
AUTHOR
Ben Daglish (bdaglish@surfnet-ds.co.uk)
BUGS
None known
All feedback most welcome.
COPYRIGHT
Copyright (c) 2003, Ben Daglish. All Rights Reserved.
This program is free software; you can redistribute
it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the
LICENSE file included with this module.
SEE ALSO
perl(1).