PerlSpeak version 0.01
======================
  PerlSpeak - Perl Module for text to speach with festival or cepstral

  PerlSpeak.pm is Perl Module for text to speach with festival or cepstral.
  One of these must be installed on your system in order for PerlSpeak.
  Plans to include other tts systems in future releases.
  PerlSpeak.pm was developed to use in the PerlSpeak system for blind linux users.
  More information can be found at the authors website http://www.joekamphaus.net


INSTALLATION

To install this module type the following:

   perl Makefile.PL
   make
   make test
   make install


COPYRIGHT AND LICENCE

Copyright (C) 2007 by Joe Kamphaus

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.8 or,
at your option, any later version of Perl 5 you may have available.


CHANGES

1/9/2007

* Fixed error handling for opendir and readdir.

* Added property tts_command => $string 
    (insert "text_arg" where the text to speak should be.)

* Added property no_dot_files => $boolean default is 1
    (Set to 0 to show hidden files)

* Fixed bug in tts_engine => "cepstral" (previously misspelled as cepstrel)

* Added funtionality to traverse directory tree up as well as down.
    (user can now use the arrow keys for browsing and selecting
    up and down browses files in current directory. Right selects the 
    file or directory. Left moves up one directory like "cd ..")



METHODS

 $ps = PerlSpeak->new(property => value, ...);

 $ps->say("Text to speak.");

 $path = $ps->filepicker("/start/directory");

 $path = $ps->dirpicker("/start/directory");

 $chr = $ps->getchr(); # Returns next character typed on keyboard

 # An audio menu executes callback when item is selected 
 $ps->menu("Text to speak" => $callback, ...) 


PROPERTIES

 $ps->{tts_engine} => "festival" or "cepstral";
 
 $ps->{tts_command} => "command text_arg";
 
 $ps->{no_dot_files} => $boolean; # Default is 1
 
 $ps->{hide_extentions} => $boolean;  # Default is 0
 


HOW TO USE
  #!/usr/bin/perl

  use PerlSpeak;
  
  my $ps = PerlSpeak->new();
  
  # Set properties
  $ps->{tts_engine} = "festival"; # or cepstrel
  # Optionally set your own tts command use text_arg where the text goes
  $ps->{tts_command} => ""; 
  $ps->{no_dot_files} => 1;
  $ps->{hide_extentions} => 0;
    
   
  # Speaking file selectors
  my $file = $ps->filepicker($ENV{HOME}); # Returns a file.
  my $dir = $ps->dirpicker($ENV{HOME}); # Returns a directory.
  
  $ps->say("Hello World!"); # The computer talks.

  # Returns the next character typed on the keyboard
  # May take 2 or 3 calls for escape sequences.
  print $ps->getch(); 

  # Make some sub refs to pass to menu  
  my $email = sub {
	print "Email\n";
  };
  my $internet = sub {
	print "Internet\n";
  };
  my $docs = sub {
	print "Documents\n"
  };
  my $mp3 = sub {
	print "MP3\n";	
  };
  my $cdaudio = sub {
	print "CD Audio\n"
  };
  my $help = sub {
	print "Browse Help\n"
  };

  # menu is a talking menu
  # Pass menu a hash of "text to speak" => $callback pairs
  $ps->menu(
	"E-mail Menu" => $email,
	"Internet Menu" => $internet,
	"Documents Menu" => $docs,
	"M P 3 audio" => $mp3,
	"C D audio" => $cdaudio,
	"Browse help files" => $help,
  };


 