#!/usr/bin/env perl
use strict;
use warnings;

use Data::Dumper;
use Music::BachChoralHarmony;

my $bach = Music::BachChoralHarmony->new;
my $songs = $bach->parse();

my %chords = ();

for my $song ( sort keys %$songs ) {
    for my $event ( @{ $songs->{$song}{events} } ) {
        $chords{ $event->{chord} }++;
    }
}
print Dumper [ map { "$_ => $chords{$_}" } sort { $chords{$a} <=> $chords{$b} } keys %chords ];
