NAME
Audio::Wav::Read - Module for reading Microsoft Wav files.
SYNOPSIS
use Audio::Wav;
my $wav = new Audio::Wav;
my $read = $wav -> read( 'filename.wav' );
my $details = $read -> details();
DESCRIPTION
Reads Microsoft Wav files.
AUTHOR
Nick Peskett - nick@soup.demon.co.uk
SEE ALSO
NOTES
This module shouldn't be used directly, a blessed object can be returned from Audio::Wav.
METHODS
file_name
Returns the file name.
my $file = $read -> file_name();
get_info
Returns information contained within the wav file.
my $info = $read -> get_info();
Returns a reference to a hash containing; (for example, a file marked up for use in Audio::Mix)
{
keywords => 'bpm:126 key:a',
name => 'Mission Venice',
artist => 'Nightmares on Wax'
};
get_cues
Returns the cuepoints marked within the wav file.
my $cues = $read -> get_cues();
Returns a reference to a hash containing; (for example, a file marked up for use in Audio::Mix) (position is byte offset)
{
1 => {
label => 'sig',
position => 764343,
note => 'first'
},
2 => {
label => 'fade_in',
position => 1661774,
note => 'trig'
},
3 => {
label => 'sig',
position => 18033735,
note => 'last'
},
4 => {
label => 'fade_out',
position => 17145150,
note => 'trig'
},
5 => {
label => 'end',
position => 18271676
}
}
read_raw
Reads raw packed bytes from the current audio data position in the file.
my $data = $self -> read_raw( $byte_length );
read
Returns the current audio data position sample across all channels.
my @channels = $self -> read();
Returns an array of unpacked samples. Each element is a channel i.e ( left, right ). The numbers will be in the range;
where $samp_max = ( 2 ** bits_per_sample ) / 2
-$samp_max to +$samp_max
position
Returns the current audio data position (as byte offset).
my $byte_offset = $read -> position();
move_to
Moves the current audio data position to byte offset.
$read -> move_to( $byte_offset );
length
Returns the number of bytes of audio data in the file.
my $audio_bytes = $read -> length();
details
Returns a reference to a hash of lots of details about the file. Too many to list here, try it with Data::Dumper.....
use Data::Dumper;
my $details = $read -> details();
print Data::Dumper->Dump([ $details ]);