I am working on a personal project involving the analysis of a stream of audio data and the identification of (non-verbatim) repeated subsequences.
My research on time series has so far lead me to publications on LSTMs, CTC, wavelet packets, and motif discovery using "shapelets". However, I am unsure as to whether or not these strategies are applicable to my particular situation.
As an undergraduate EE student, none of my classes so far have covered time series or data streams in much detail, if at all.
In case a more specific description of my aims would help, I've included one below. If you'd rather skip to the questions, see "Uncertainties" at the end of this post.
I am not sure which direction to go in and would really appreciate any guidance or suggestions.
Thanks!
Three-Point Outline
Input
- Two time series streams (or "streaming time series"), A0 and B0, each consisting of a different set of features computed from a stream of input data.
Intermediate Stage
In no particular order (or potentially simultaneously):
- Calculate another time series (stream) B1, consisting of the derivative (change) in each of the features B0.
- Calculate another time series (stream) A1, indicating redundant (or loosely redundant), superseded subsequences in A0 (see below). Note that A0 is multivariate while A1 is univariate.
Output
- Another time series, C, indicating the locations of portions of A0 to remove based on the repetition information (A1) and contour cues from B0 and B1.
Definition of Redundancy
A segment Q is considered redundant if there is an earlier-in-time segment P whose content closely resembles that of Q.
"Close resemblance" allows differences in timing, short insertions, short deletions, and brief variation (when surrounded by otherwise consistent material).
Ideally, "close resemblance" also permits exchanges in position of sub-sub-sequences of sufficient length. (I.e. "ABCDE" closely resembles "ADBCE" and vice versa.)
When this "close resemblance" coincides with appropriate cues in B0 and B1, the earlier segment P is considered to be superseded by the later segment Q, and so P is marked for removal.
This designation for removal may be to some degree "fuzzy", if for example the exact start and end points of P cannot be identified with total precision.
Note that there may be several non-identical segments P1, P2, P3 (possibly with very short intervening material between them) that are all superseded by Q. (In such a case, P2 likely supersedes P1, and P3 likely supersedes P2.)
The lengths of P and Q are not guaranteed to be the same, nor are they defined as parameters.
There may be a relatively short segment of intervening material between P and Q.
Uncertainties
How to process an input data stream and also preserve some amount of it for the processing of a subsequent portion or portions
How to use the derivative of a feature set time series as an additional feature set time series
How to efficiently examine the input for reuse of similar subsequences, and then produce another time series reflecting the locations of these