ノイズを使ってみよう

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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