Future - Quefumas/gensound GitHub Wiki

Future Development

Next Major Goals:

  • I/O support for more file formats. Ideally this should not add any hard requirements, but rather adapt itself to whichever combination of packages the user already has.
  • Add functioning Filters and EQs. This is challenging due to several reasons: 1. maths, 2. deciding on a good user interface (which filter designs should be included by default? how customizable should they be? how do we name the classes?), 3. efficiency of implementation, 4. enabling parametrization.
  • Extend parametrization to facilitate FM synthesis - we have all the necessary ingredients implemented, but currently this is only partially possible because they haven't all been linked together. This may require merging Signal with Curve.
  • Add and extend musical input methods.
  • Audio analysis and visualisation options.
  • Full support for wavetables.

More specific future features/fixes:

  • More fade curves
  • Expose Signal.from_ndarray method or something similar to give more options for easy Signal creation
  • Improved playback interface
  • Merge Signal and Curve
  • Phase/duration inference
  • Curve*Signal for changing amplitude
  • More filters
  • Expand shorthand pitch notation to support chords and/or melodies
  • Make Curve more robust
  • Check up on what happens when transforms extend affected signals, especially in conjunction with assignment to slice
  • Compute signal duration?
  • SweepSine Signal?
  • Full fledged EQ
  • Compressor
  • Flanger, Chorus
  • Reverbs, Delays
  • Functions for analysis (DC, rms, FFT etc.)
  • Pitch Shift
  • Pitch-preserving stretch
  • config reference pitch (to be other than 440Hz)
  • wavetables
  • Trim/detect silence? should this be done at the audio or signal level?
  • FFMPlay?
  • Export to surround sound
  • Interface with other existing libraries