Bug #829

pYIN explodes when presented with a longish file

Added by Chris Cannam over 10 years ago. Updated over 10 years ago.

Status:NewStart date:2013-12-07
Priority:HighDue date:
Assignee:-% Done:

0%

Category:-
Target version:-

Description

Just tested Tony with a few audio files on Windows, and found that it blows up during the getRemainingFeatures call ("Windows Runtime has requested" etc, so probably an exception) when asked to extract features from a file of around 10 minutes duration. It was fine with files of 3 minutes or so.

(The longer file was "Nothin But Time" by Cat Power, in case it turns out that something other than duration is the cause)

History

#1 Updated by Matthias Mauch over 10 years ago

I couldn't really reproduce the exception, but I see that in getRemainingFeatures, memory usage is very high (>1.4GB).

Now it's not super-straight-forward to get around that if we keep the HMM as it is because we store two matrices (one float, one int) that have nFrame x nState elements. That's 960 or so states, and approx. 100,000 frames in 10 minutes, i.e. 96 million elements -- is that around 360MB in floats just for the one? Well, anyway, lots.

Two ways around that:

  • calculate observation probability on the fly -- that still leaves us with the int matrix ("psi" in the viterbi algorithm)
  • do a local Viterbi (fixed-lag smoothing)

--- things to think about.

Also available in: Atom PDF