#!/usr/local/bin/perl -w
use Audio::Data;
use Audio::Play;
use IO::File;

sub UNIVERSAL::findINC
{
 my $file = join('/',@_);
 my $dir;
 $file  =~ s,::,/,g;
 foreach $dir (@INC)
  {
   my $path;
   return $path if (-e ($path = "$dir/$file"));
  }
 return undef;
}

my $svr = Audio::Play->new;

my $digit;
for $digit (0..9)
 {
  my $fh = IO::File->new(Audio::Data->findINC("touchtone.$digit.au"));
  binmode($fh);
  $digit[$digit] = Audio::Data->new(Load => $fh);
  $fh->close;
 }

my $sil = Audio::Data->new(rate => $svr->rate, silence => 0.05);

$| = 1;

foreach (@ARGV)
 {
  foreach $digit (split(//,$_))
   {
    print $digit;
    $svr->play($digit[$digit]);
    $svr->play($sil);
   }
  print "\n";
 }
