The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

  Audio::Mad::Resample - Resampling routines for mad_fixed_t data
  

SYPNOSIS

  my $resample = new Audio::Mad::Resample (44100, 48000);
  my ($left, $right) = $resample->resample($d_left, $d_right);
  
  $resample->init(22050, 8000);
  if ($resample->mode() == 2) { print "no resampling needed" }
  

DESCRIPTION

  This module provides a means of changing the sampling rate
  of streams of mad_fixed_t data produced by the underlying
  library.
  
  The underlying module resamples the streams using a linear
  resampling method,  provided with the mad-0.14.2b 
  distribution.  (Thanks,  Rob)
  

METHODS

  • new ([oldrate, newrate])

      Creates a new resampling object,  and attempts to initialize it 
      to convert samples in oldrate to samples in newrate.  You can
      call the ->init method later to change the sampling ratios if
      necessary.
      
  • init([oldrate, newrate])

      Reinitializes an Audio::Mad::Resample object to resample
      at a different ratio.  Returns undef on error,  1 if
      resampling is necessary,  and 2 if resampling won't be
      necessary.
      
  • resample(left, [right])

      Returns a stream of mad_fixed_t samples after applying linear 
      resampling.  Will return either one or two channels depending
      on what was passed into it.
      
  • mode

      Returns either 1,  for resampling necessary,  or 2,  for
      no resampling necessary.

AUTHOR

  Mark McConnell <mischke@cpan.org>