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

Unify online and single mode? #246

Closed
superbock opened this issue Jan 30, 2017 · 1 comment
Closed

Unify online and single mode? #246

superbock opened this issue Jan 30, 2017 · 1 comment
Milestone

Comments

@superbock
Copy link
Collaborator

#185 introduces a new online mode for programs which can be used to process live input signals. If an input file is given, this is used instead. However, this behaviour greatly overlaps with the existing single mode.

Therefore I propose to unify these two modes (i.e. use only the single mode) and use it for processing of either a single input file or live audio input.

This would further clarify the meaning of the online parameter, which is used to change the behaviour of certain processors (e.g. uni- or bi-directional RNNs, Viterbi or forward decoding). These processors can then be then called with both online and offline settings either on a frame-by-frame basis (saves memory) or processed at once (saves time).

Any comments?

@superbock superbock added this to the v0.15 milestone Jan 30, 2017
superbock pushed a commit that referenced this issue Jan 31, 2017
Framewise processing of signals is basically the same as processing a single
file, thus the former `online` mode is merged into `single` mode. This avoids
confusion with `online` argument to select certain parameters suitable for
online (i.e. real-time live input) processing.
superbock pushed a commit that referenced this issue Jan 31, 2017
Framewise processing of signals is basically the same as processing a single
file, thus the former `online` mode is merged into `single` mode. This avoids
confusion with `online` argument to select certain parameters suitable for
online (i.e. real-time live input) processing.
superbock pushed a commit that referenced this issue Jan 31, 2017
Framewise processing of signals is basically the same as processing a single
file, thus the former `online` mode is merged into `single` mode. This avoids
confusion with `online` argument to select certain parameters suitable for
online (i.e. real-time live input) processing.
@superbock
Copy link
Collaborator Author

I think it is better to keep both modes, to make the calling interface clearer and less error prone.

While unifying the two modes would have required to pass extra options to the single mode, it is much clearer calling ProgramXY online instead of ProgramXY single --online. Still, the latter is supported with input files.

With the latest attempt to fix this issue the single mode has the following use cases:

  • process online processors without the overhead of calling it frame-by-frame
  • process offline processors with multiple cores
  • process online processors with blocks of given size (TBD)

superbock pushed a commit that referenced this issue Feb 11, 2017
superbock pushed a commit that referenced this issue Feb 13, 2017
@superbock superbock mentioned this issue Feb 13, 2017
17 tasks
superbock pushed a commit that referenced this issue Feb 13, 2017
superbock pushed a commit that referenced this issue Feb 16, 2017
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

No branches or pull requests

1 participant