Refactor recent work into `sparse` module
Opened this issue · 0 comments
JohnVinyard commented
It's time to stop copy-pasting and build some reusable building blocks that make it possible to do a sort of sweep over different model compositions:
Non-Negative Representation
The important thing here is that we use a perceptually-motivated feature that allows us to iteratively remove all types of energy from the signal, including noise. We perceive, phase relationships rather than absolute peak positions for tonal sounds, and we perceive the statistics of noise, rather than the precise sound-pressure levels.
MultiBandSTFT
PhaseInvariantFeature
Analysis
AnticausalStack
UNet
Scheduling
fft_shift
- dirac/hard choice followed by
fft_convolve
Noise/Impulse Generation
- simple noise generator (no "traditional" convolutions)
NoiseModel
(much more complex, many more parameters)
Mixer, Time-Varying and Static
'nuff said here
Resonance Generation
F0Generator
, which generates according to scalar f0 values and harmonic profilesResonanceChain
, which precomputes a bank of common shapes and chooses a linear combination
Reverb Generation
Not much to say here
ReverbGenerator