Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Human voice pitch detection #42

Open
kasravi opened this issue Oct 26, 2022 · 6 comments
Open

Human voice pitch detection #42

kasravi opened this issue Oct 26, 2022 · 6 comments
Assignees
Labels
question Further information is requested

Comments

@kasravi
Copy link

kasravi commented Oct 26, 2022

I haven't seen any notion that human voice pitch detection is covered or not but since the claim is to be instrument agnostic I thought it is better to give you a repro. If this is out of context please close and sorry for the inconvenience.

I used the online version at https://basicpitch.spotify.com/ and fed it with a clean noiseless voice from https://samplefocus.com/samples/solo-voice-aah-solo. the result is far from being usable:

image

Is there a plan to support fundamental frequency detection?

@rabitt
Copy link
Contributor

rabitt commented Oct 27, 2022

Hey @kasravi ! We do support human voice - (check out our about page) - but not every recording will work perfectly out of the box. On the website, you can try clicking on the MIDI adjustments menu below the transcription, which you can use to get a better transcription. For a quick demo of how the sliders work, you can see this demo here.

@rabitt rabitt added the question Further information is requested label Oct 27, 2022
@kasravi
Copy link
Author

kasravi commented Oct 28, 2022

Hey @rabitt , thanks for the reply. I intentionally used a sound that is relatively easy to detect pitches just by analyzing its FFT. From your reply, I understand that for each transcription you need to fine-tune the result manually. So this model is not meant to be used in an unsupervised environment?

image

@achimmihca
Copy link

achimmihca commented May 19, 2023

I am missing an option to have only a single note at a time.
I could imagine that the results might be better when the model knows that there is no polyphony, e.g. for human vocals of a single person.

@samuelbradshaw
Copy link

samuelbradshaw commented Jun 11, 2023

I have also found that Basic Pitch is great at detecting piano notes – played alone or simultaneously – but not as accurate for human voice (humming or whistling into a microphone). It seems to throw in unexpected staccato notes and high notes that weren't sung. I would love for this to be improved! I like the suggestion above of a non-polyphonic setting that maybe could improve accuracy for the use case of humming a tune. Maybe a setting to reduce pitch bend detection (round to the nearest note more aggressively) would also help.

@achimmihca
Copy link

In case you are interested in pitch detection of human voice only:

The paper on Basic Pitch by Spotify is interesting and provides good pointers towards other automatic music transcription (AMT) systems.

From the conclusion:

NMP (i.e. the model behind basic pitch) achieves state-of-the-art results on GuitarSet. It however did not outperform the instrument-specific models for piano and vocals.

The vocals comparison was done with Vocano.

Vocano [9] is a monophonic vocal transcription method which first performs vocal source separation, then applies a pre-trained pitch extractor followed by a note segmentation neural network, trained on solo vocal data.

[9] J.-Y. Hsu and L. Su, “VOCANO: A note transcription frame-work for singing voice in polyphonic music,” in Proc. ISMIR, 2021

The VOCANO paper used Patch-CNN for pitch detection.

@achimmihca
Copy link

In case you are interested in pitch detection of human voice only:

CREPE is another "monophonic pitch tracker".

A comparison of Basic Pitch, CREPE and others with respect to human voice pitch detection would be nice ( see also #45 )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants