Done
- Applies fourier transform to recover musical notes.
- Works well in face of substantial Gaussian noise.
- Makes sense, since this noise is symmetric.
- Can read in sound data.
- Can generate musical samples.
- Does some basic smoothing to find most important tones.
TODO
- Refactor SmoothedPitchIterator. It's trash.
- Can't I write HzScanner and ScaleScanner as iterator map operations?
- Could consider if SongIterator can be written more easily (but probably not?).
- PCMFile should ideally implement an Fn trait so I can pass it.