BPM を調べるやつ - にぽたん研究所

February 13, 2009

このエントリーをはてなブックマークに追加
ヒビノアワ: 自作iPhoneアプリ「BPM」公開されました!

こういうのいいなーと思いつつ、iPhone 持ってないから俺使えないじゃん!

と、ついカッとなって作った。今は反省している。
#!perl

use strict;
use warnings;
use Time::HiRes qw(gettimeofday);
use Term::Screen;

use constant DEFAULT_SECONDS => 60;

my $secs = int $ARGV[0] || DEFAULT_SECONDS();

my $screen = Term::Screen->new;
$screen->clrscr();

my $start;
my $end;

$screen->at(0, 0)->puts(sprintf("pless any key to start. (%d secs)", $secs));

my $count = 0;
my $bpm;

while (my $c = $screen->at(1, 0)->getch) {
    $screen->clrscr();
    exit if $c =~ /^[\x03\x04\x1b]$/;
    $count++;
    unless ($start) {
        $start = gettimeofday();
    }
    $end = gettimeofday();
    my $diff = $end - $start;
    $bpm = $diff > 1 ? $count * (60 / $diff) : 0;
    $screen->at(0, 0)->puts(
        sprintf("%3dbeats - %.2f BPM (%.3fsecs)", $count, $bpm, $diff));
    last if $diff >= $secs;
}

$screen->clrscr();
$screen->at(0, 0)->puts(sprintf("%.2f BPM", $bpm));
$screen->at(1, 0)->puts('');
音楽を聞きながら、キーボードをタップ (?) して調査できます。
そもそも、BPM 調べる用のソフトは色々とあるので、GUI が使えないという、奇特な環境の人向け。

そんな人あんまいないだろ JK

nipotan at 12:33 | Comments(0) | TrackBack(0) | 技術 
このエントリーをはてなブックマークに追加

Trackback URL for this entry

Post a comment

Name:
URL:
  Remember info?: Rate: Face    Star