Comments (1)
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
- the input energy is very low (e.g., no useful tonal signal but low amplitude noise)
- the input signal is noise like (e.g., singer singing shshshsh/inhaling)
- 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)
- Update BeatHisto HOT 1
- Update NoveltyFlux
- add fingerprint extraction
- refactor downmixing and normalization into new helper functions
- add more helper functions HOT 6
- add simple chord estimation
- add viterbi
- modify ComputeNoveltyFunction
- refactor
- update readme and auto-documentation HOT 1
- add kmeans
- add nmf
- add pca
- add instantaneous frequency
- add gmm: https://github.com/alexanderlerch/ACA-Code/commit/0032baddce3d0c442dc60ef2eae4f3e851d961c1
- add kNN
- add LOO cross validation
- add feature forward selection
- add computeSpectrogram
- MFCC extraction produces nan at low sample rates
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyaca.