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

use Data::Dumper::Compact qw(ddc);
use Music::Intervals;

my @notes = @ARGV ? @ARGV : qw(C D E F G A B);
#my @notes = @ARGV ? @ARGV : qw(C Db C# D Eb D# E Fb E# F Gb F# G Ab G# A Bb A# B Cb B#);

my $m = Music::Intervals->new(notes => \@notes);

print 'Natural freqs: ',         ddc $m->natural_frequencies;
print 'Natural intervals: ',     ddc $m->natural_intervals;
print 'Natural cents: ',         ddc $m->natural_cents;
print 'Natural prime factors: ', ddc $m->natural_prime_factors;
print 'EQ Tempered freqs: ',     ddc $m->eq_tempered_frequencies;
print 'EQ Tempered intervals: ', ddc $m->eq_tempered_intervals;
print 'EQ Tempered cents: ',     ddc $m->eq_tempered_cents;
print 'Integer notation: ',      ddc $m->integer_notation;
