ノイズを使ってみよう

さて、お待ちかね、ノイズについて。

use v5.14;
use strict;
use warnings;

use Cassis;
use constant SAMPLING_RATE => 44100;

{
    my $noise = Cassis::Noise->new();
    my $wav = $noise->exec( num => SAMPLING_RATE ); # 1sec
    Cassis::File::write(
        file => 'noise.wav',
        fs => SAMPLING_RATE, channels => [ $wav ] );
}

{
    my $noise = Cassis::Noise->new( speed => 0.1 );
    my $wav = $noise->exec( num => SAMPLING_RATE ); # 1sec
    Cassis::File::write(
        file => 'sampling_and_hold_fast.wav',
        fs => SAMPLING_RATE, channels => [ $wav ] );
}

{
    my $noise = Cassis::Noise->new( speed => 0.01 );
    my $wav = $noise->exec( num => SAMPLING_RATE ); # 1sec
    Cassis::File::write(
        file => 'sampling_and_hold_slow.wav',
        fs => SAMPLING_RATE, channels => [ $wav ] );
}

ノイズの生成には、Cassis::Noiseが使えます。
でも、このモジュールはノイズジェネレーターではなくて、
あらかじめ生成した乱数を使い回すことで実現しています。

speedを1.0より小さくすると、
サンプリング&ホールドとして使えます。

ノイズの説明が終わったら、フィルターの予定ですが、
もう少し先になる予定です。

おしまい。

Leave a Comment