Wav::Read

Section: User Contributed Perl Documentation (3)
Updated: 2001-08-25
 

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.  

SEE ALSO

Audio::Wav

Audio::Wav::Write  

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 );

 

move_to_sample

Moves the current audio data position to sample offset.

    $read -> move_to_sample( $sample_offset );

 

length

Returns the number of bytes of audio data in the file.

    my $audio_bytes = $read -> length();

 

length_samples

Returns the number of samples of audio data in the file.

    my $audio_samples = $read -> length_samples();

 

length_seconds

Returns the number of seconds of audio data in the file.

    my $audio_seconds = $read -> length_seconds();

 

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 ]);

 

AUTHORS

    Nick Peskett <cpan@peskett.com>.
    Kurt George Gjerde <kurt.gjerde@media.uib.no>. (0.02)


 

Index

NAME
SYNOPSIS
DESCRIPTION
SEE ALSO
NOTES
METHODS
file_name
get_info
get_cues
read_raw
read
position
move_to
move_to_sample
length
length_samples
length_seconds
details
AUTHORS
blog comments powered by Disqus