そろそろ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