ar1st0crat / NWaves

.NET DSP library with a lot of audio processing functions
MIT License
453 stars 71 forks source link

Why are the default lower frequency from FilterBanks.OctaveBands is 62.5? #36

Closed ToGoOrNotToGo closed 3 years ago

ToGoOrNotToGo commented 3 years ago

Why is the default lower frequency of FilterBanks.OctaveBands 62.5? Should it be 11, 22, 44 as specified in ISO 266? Lower Frequencies: 11, 22, 44, 88, 177, 355, 710, 1420, 2840, 5680, 11360 Middle Frequencies: 16, 31.5, 63, 125, 250, 500, 1000, 2000, 4000, 8000, 16000 Upper Frequencies: 22, 44, 88, 177, 355, 710, 1420, 2840, 5680, 11360, 22720

ar1st0crat commented 3 years ago

In MPEG-7 default lower frequency is 62.5 Hz

Anyway, you can set your own lower frequency:


var octaveBands = Filterbanks.OctaveBands(octaveCount, samplingRate, lowFreq: 22);

Everything is customizable here. You can create your own filterbank, completely from scratch:


var octaveBands = new [] 
{
    (11,  16,  22),
    (22,  31.5, 44),
    (44, 63, 88),
    //...
    (11360, 16000, 22720)
};

var filterbank = FilterBanks.Rectangular(fftSize, samplingRate, octaveBands);