class Sound(BaseModel): """ An audio processing pipeline that computes a frequency domain representation of the sound that follows a geometric scale """ bark = zounds.ArrayWithUnitsFeature(zounds.BarkBands, samplerate=samplerate, stop_freq_hz=samplerate.nyquist, needs=BaseModel.fft, store=True) long_windowed = zounds.ArrayWithUnitsFeature( zounds.SlidingWindow, wscheme=zounds.SampleRate(frequency=zounds.Milliseconds(358), duration=zounds.Milliseconds(716)), wfunc=zounds.OggVorbisWindowingFunc(), needs=BaseModel.resampled, store=True) long_fft = zounds.ArrayWithUnitsFeature(zounds.FFT, needs=long_windowed, store=True) freq_adaptive = zounds.FrequencyAdaptiveFeature( zounds.FrequencyAdaptiveTransform, transform=np.fft.irfft, scale=scale, window_func=np.hanning, needs=long_fft, store=False) rasterized = zounds.ArrayWithUnitsFeature(lambda fa: fa.rasterize(64), needs=freq_adaptive, store=False)
class Document(BaseModel): bark = zounds.ArrayWithUnitsFeature(zounds.BarkBands, samplerate=samplerate, stop_freq_hz=samplerate.nyquist, needs=BaseModel.fft, store=True) long_windowed = zounds.ArrayWithUnitsFeature( zounds.SlidingWindow, wscheme=zounds.SampleRate(frequency=zounds.Milliseconds(500), duration=zounds.Seconds(1)), wfunc=windowing_func, needs=BaseModel.resampled, store=True) dct = zounds.ArrayWithUnitsFeature(zounds.DCT, scale_always_even=True, needs=long_windowed, store=True) mdct = zounds.FrequencyAdaptiveFeature(zounds.FrequencyAdaptiveTransform, transform=scipy.fftpack.idct, scale=scale, needs=dct, store=True)