Giter VIP home page Giter VIP logo

Comments (1)

alexanderlerch avatar alexanderlerch commented on June 9, 2024

Hi,
and yes, that's absolutely possible. The reason is that the goal for my scripts are really to show an algorithm rather than provide a practically usable implementation. They are intended for you to understand the algorithm, so they do not deal with prudent extra processing.

As for when the output should be undefined, this is mostly if

  1. the input energy is very low (e.g., no useful tonal signal but low amplitude noise)
  2. the input signal is noise like (e.g., singer singing shshshsh/inhaling)
  3. more than one input pitch is available (e.g., in a reverberant environment).
    While there is no easy remedy for the latter but changing the pitch detection algorithm, you can deal with the first two scenarios by a combination of allowed conditions and pre- as well as post-processing steps. This might include
  • pre-processing: don't do pitch detection of low-energy frames
  • processing: check the confidence measure of the pitch estimate (in the case of ACF, maybe the height of the maximum) and don't report values with low confidence
  • post-processing: detect unusual values or trajectories - if the detected fundamental frequency jumps from block to block erratically and/or has extreme values, most likely your input signal is not tonal and you can ignore these results.

Of course, there are plenty of other options to optimize and tweak your algorithm, and their success also depends on the what the typical input signal is in your case.

Hope that helps,
Alexander

from pyaca.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.