Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

online TempoEstimationProcessor #292

Merged
merged 18 commits into from
Oct 16, 2017
Merged

online TempoEstimationProcessor #292

merged 18 commits into from
Oct 16, 2017

Conversation

superbock
Copy link
Collaborator

@superbock superbock commented Jun 1, 2017

This PR makes TempoEstimationProcessor online capable.

TempoEstimationProcessor.interval_histogram is refactored to use a dedicated histogram processor which is used to build the beat interval histogram. Different TempoHistogramProcessor classes provide the needed functionality for both online and offline mode, namely CombFilter, ACF and DBN. With the work done in #286 this change was unavoidable, otherwise TempoEstimationProcessor would have had too many options and parameters.

TODOs before this PR can be merged:

  • Make these histogram processors capable of processing the activations as a whole (i.e. single --online mode) or frame by frame (i.e. online mode).
  • Add option to set length of history to be considered when "integrating" the tempo. E.g. in offline mode comb filter histogram building sums all maxima of a musical piece. In online mode simply summing all values is not practicable, otherwise tempo changes cannot be tracked.
  • Decide if we want to keep interval_histogram and interval_histogram_online methods or refactor the histogram stuff into dedicated classes (with the usual process_offline and process_online methods).
  • Decide the output frequency in online mode, i.e. when to output the tempi. Output for every frame or whenever the tempo changes? Maybe this should be controllable via a parameter. (EDIT: outputting it at every frame now, could be changed easily if needed)
  • Add activation smoothing for online mode? (EDIT: see Add activation smoothing for online mode #343)
  • Refactor the visualisation stuff as mixins (EDIT: see refactor visualisation stuff #344)

@superbock superbock force-pushed the refactor_tempo branch 5 times, most recently from cc8fe4a to 005450d Compare June 20, 2017 11:48
@superbock superbock force-pushed the refactor_tempo branch 5 times, most recently from 48d0cf8 to 886937c Compare July 24, 2017 20:17
@superbock superbock force-pushed the refactor_tempo branch 7 times, most recently from 37e83bb to cbdbe8c Compare August 18, 2017 18:18
@superbock superbock force-pushed the refactor_tempo branch 9 times, most recently from 8777d30 to ceb5c74 Compare September 3, 2017 10:33
@superbock superbock changed the title [WIP] refactor TempoEstimationProcessor online TempoEstimationProcessor Sep 3, 2017
@superbock superbock force-pushed the refactor_tempo branch 5 times, most recently from dcdbb8b to 1c640e5 Compare September 19, 2017 13:19
@superbock superbock merged commit a534cb7 into master Oct 16, 2017
@superbock superbock deleted the refactor_tempo branch March 5, 2018 09:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants