MTG / essentia

C++ library for audio and music analysis, description and synthesis, including Python bindings
http://essentia.upf.edu
GNU Affero General Public License v3.0
2.86k stars 534 forks source link

UnaryOperator skips scale and shift with certain operators #1345

Closed palonso closed 1 year ago

palonso commented 1 year ago

UnaryOperator implements the following pipeline:

  1. Optionally apply a non-linear function (type)
  2. Optionally scale the result by a given value
  3. Optionally shift the result by a given a value

A number of non-linear functions (lin2db, db2lin, sin, cos) are implemented in a way that UnaryOperator returns the values before computing steps 2 and 3.