Audio

 view release on metacpan or  search on metacpan

Data/Filter.pm  view on Meta::CPAN


package Audio::Filter::AllPole;
use base 'Audio::Filter';

package Audio::Resonator;
use base 'Audio::Filter::AllPole';

sub new
{
 my $class = shift;
 my $o = $class->SUPER::new(@_);
 $o->data(1.0,0.0,0.0,0.0,0.0);
 return $o;
}

sub setpole
{
 my ($o,$f,$bw,$amp) = @_;
 my $minus_pi_t = - Audio::Data::PI() / $o->rate;
 my $two_pi_t   = -2.0 * $minus_pi_t;
 my $r   = exp($minus_pi_t * $bw);

Data/Filter.pm  view on Meta::CPAN

 $o->data(@data);
 return $o;
}

package Audio::AntiResonator;
use base 'Audio::Filter::FIR';

sub new
{
 my $class = shift;
 my $o = $class->SUPER::new(@_);
 $o->data(1.0,0.0,0.0,0.0,0.0);
 return $o;
}

sub setzero
{
 my ($o,$f,$bw,) = @_;
 $o->Audio::Resonator::setpole($f,$bw);
 my @data = $o->data;
 my $a = $data[0] = 1/$data[0];

Data/Makefile.PL  view on Meta::CPAN

Audio.t : Audio.h  mkVFunc

config :: Audio.t
	@$(NOOP)
';
}

sub xs_c
{
 my $self = shift;
 return $self->SUPER::xs_c .
'
.SUFFIXES: .t .h
.h.t :
	$(PERL) mkVFunc $<
'
}



( run in 0.346 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )