# NOT RUN {
silence = rep(0, 10)
samplingRate = 1000
fr = seq(100, 300, length.out = 400)
x = c(silence, sin(cumsum(fr) * 2 * pi / samplingRate), silence)
spectrogram(x, samplingRate)
x1 = soundgen:::downsample(x, f = 2.5)
spectrogram(x1, samplingRate) # no aliasing
# cf. simple decimation w/o low-pass filtering
x3 = x[seq(1, length(x), length.out = length(x) / 2.5)]
spectrogram(x3, samplingRate) # major aliasing
# low-pass is not applied for extreme decimation
soundgen:::downsample(x, f = 120)
# }
Run the code above in your browser using DataLab