そろそろLFOでも
Cassis::Osc
を使ってないので、
そろそろ、これを使ってみようかと。
use v5.14; use strict; use warnings; use Cassis; use constant SAMPLING_RATE => 44100; my $dco = Cassis::DCO::Sin->new( fs => SAMPLING_RATE, pitch => 4.0 ); my $osc1 = Cassis::Osc::Tri->new( fs => SAMPLING_RATE, freq => 4 ); my $osc2 = Cassis::Osc::Pulse->new( fs => SAMPLING_RATE, freq => 9 ); my $osc_out = $osc2->exec( num => SAMPLING_RATE, mod_freq => { src => $osc1->exec( num => SAMPLING_RATE * 4 ), depth => 0.8 } ); my $wav = $dco->exec( num => scalar(@{$osc_out}), mod_pitch => { src => $osc_out, depth => 0.2 } ); Cassis::File::write( file => 'dco_mod_osc.wav', fs => SAMPLING_RATE, channels => [ $wav ] );
freq
をモジュレーションしたもので、
pitch
をモジュレーションしてるんだけど、
前者はmod_freq
で、後者はmod_pitch
を使っている点に注意。
こんなことも出来ますよっていうサンプルでした。
もちろん、もっともっと繋げて、複雑な音も作れるんだけど、
それは各自の宿題ということで。
おしまい。
Leave a Comment