man Audio::Wav () - Modules for reading & writing Microsoft WAV files.
NAME
Audio::Wav - Modules for reading & writing Microsoft WAV files.
SYNOPSIS
use Audio::Wav; my $wav = new Audio::Wav; my $read = $wav -> read( 'input.wav' ); my $write = $wav -> write( 'output.wav', $read -> details() ); print "input is ", $read -> length_seconds(), " seconds long\n";
$write -> set_info( 'software' => 'Audio::Wav' ); my $data; while ( defined( $data = $read -> read_raw( $buffer ) ) ) { $write -> write_raw( $data ); } my $length = $read -> length_samples(); my( $third, $half, $twothirds ) = map int( $length / $_ ), ( 3, 2, 1.5 ); my %samp_loop = ( 'start' => $third, 'end' => $twothirds, ); $write -> add_sampler_loop( %samp_loop ); $write -> add_cue( $half, "cue label 1", "cue note 1" ); $write -> finish();
NOTES
All sample positions are now in sample offsets (unless option '.01compatible' is true).
DESCRIPTION
These modules provide a method of reading & writing uncompressed Microsoft WAV files.
SEE ALSO
L<Audio::Wav::Read>
L<Audio::Wav::Write>
METHODS
new
Returns a blessed Audio::Wav object. All the parameters are optional and default to 0
my %options = ( '.01compatible' => 0, 'oldcooledithack' => 0, 'debug' => 0, ); my $wav = Audio::Wav -> new( %options );
write
Returns a blessed Audio::Wav::Write object.
my $details = { 'bits_sample' => 16, 'sample_rate' => 44100, 'channels' => 2, };
my $write = $wav -> write( 'testout.wav', $details );
See Audio::Wav::Write for methods.
read
Returns a blessed Audio::Wav::Read object.
my $read = $wav -> read( 'testout.wav' );
See Audio::Wav::Read for methods.
set_error_handler
Specifies a subroutine for catching errors. The subroutine should take a hash as input. The keys in the hash are 'filename', 'message' (error message), and 'warning'. If no error handler is set, die and warn will be used.
sub myErrorHandler { my( %parameters ) = @_; if ( $parameters{'warning'} ) { # This is a non-critical warning warn "Warning: $parameters{'filename'}: $parameters{'message'}\n"; } else { # Critical error! die "ERROR: $parameters{'filename'}: $parameters{'message'}\n"; } } $wav -> set_error_handler( \&myErrorHandler );
AUTHORS
Nick Peskett (see http://www.peskett.co.uk/ for contact details). Kurt George Gjerde <kurt.gjerde@media.uib.no>. (from 0.02)