JorenSix / Panako

The Panako acoustic fingerprinting system.
GNU Affero General Public License v3.0
185 stars 38 forks source link

Can you give more information about settings for strategy NFFT? #14

Closed VictorTrapenok closed 2 years ago

VictorTrapenok commented 5 years ago

Hello, Can you give more information about settings for strategy NFFT? I try use panako for detecting patterns in phone calls. For detecting answering machines by audio records. And I cannot found any addityonal information about this parametrs.

Now I try found best settings for my task using algorithm Simulated annealing.

    /**
     * The name of the MapDB database location.
     */
    NFFT_MAPDB_DATABASE("/opt/panako/dbs/nfft_panako_db"),
    /**
     * The sample rate of the input signal
     */
    NFFT_SAMPLE_RATE(8000), 
    /**
     * The size of the audio block and consequently the size (in samples) of the FFT.
     */
    NFFT_SIZE(512),
    /**
     * The size of the audio block step size (in samples).
     */
    NFFT_STEP_SIZE(256),

    /**
     * Allows only  a limited amount of event points each frame.
     * Especially useful for percussive onsets.
     */
    NFFT_EVENT_POINTS_MAX_PER_FFT_FRAME(3),

    /**
     * Minium euclidean distance between event points. 
     * The value is expressed in milliseconds cents
     */
    NFFT_EVENT_POINT_MIN_DISTANCE(600),
    /**
     * The maximum number of fingerpints per event points (fan-out).
     */
    NFFT_MAX_FINGERPRINTS_PER_EVENT_POINT(2),

    /**
     * The size of the Min filter halve of the MIN/MAX filter for 
     * spectral peak detection, it should be odd.
     */
    NFFT_MIN_FILTER_WINDOW_SIZE(7),
    /**
     * The size of the MAX filter halve of the MIN/MAX filter for 
     * spectral peak detection, it should be odd.
     */
     NFFT_MAX_FILTER_WINDOW_SIZE(15),

     /**
     * Use a hash based on refined pitch estimates using the phase
     * or not.
     */
    NFFT_USE_PHASE_REFINED_HASH("FALSE"),
JorenSix commented 2 years ago

Please do consult the reading material in the readme for further insights in the method.

Especially Six, Joren and Leman, Marc Panako – A Scalable Acoustic Fingerprinting System Handling Time-Scale and Pitch Modification (2014)