anthonio9 / penn

Pitch Estimating Neural Networks (PENN)
MIT License
0 stars 0 forks source link

Fix pitch data overhangs in freq domain #7

Open anthonio9 opened 6 months ago

anthonio9 commented 6 months ago

Just noticed that the data pitch labels are wrong. Many beginnings and endings of the pitch seem to overhang like in the picture below. This is totally unacceptable and very possibly the cause of the poor raw pitch accuracy of around 80%.

Image

Fix that!

Check:

anthonio9 commented 6 months ago

After the initial review of the original data sets my conclusion is that the dataset is really bad or at least the pitch values are. Every ending is indeed seen noted as falling down in pitch, even though such fall isn't audible in the recordings (not even those with the separated strings). This means that the dataset needs to have those endings cut manually or have all the pitch tracking redone with a better method, perhaps with the original penn?

anthonio9 commented 6 months ago

There must be a problem with the data processing, the nodes that are so much below the other ones do not exist in the labeled data, below is the file of 05_BN3-119-G_solo_mic.wav

image

anthonio9 commented 6 months ago

Some data seems to be missing, this is indeed missing as it is present in the audio. The next step is to write a program printing the original data labels over the STFT image. I don't see any other way than comparing what was there originally with what I got after preprocessing. Still analyzing 05_BN3-119-G_solo_mic.wav

image

anthonio9 commented 5 months ago

This is already slightly better, got rid of putting 'zeros' into the almost raw data, it seems that all the overhangs are still there, but at least not the most ridiculous ones, again file 05_BN3-119-G_solo_mic.wav.

image

anthonio9 commented 5 months ago

It could be possible to slighly help with deleting the unwanted values with plotly! https://plotly.com/python/v3/selection-events/?_gl=1*1fq1w1w*_ga*MTI0MDkzODAyNy4xNzA1NDM5MTky*_ga_6G7EE0JNSC*MTcwNjgyNTcxNi4zLjEuMTcwNjgyODM2NC41MS4wLjA.

anthonio9 commented 5 months ago

This may also be helpful for learning more about the FigureWidget https://medium.com/@jacky.kaub/build-custom-widgets-with-ipywidgets-and-plotly-a454cb3b2b4f

anthonio9 commented 5 months ago

I was really hoping that midi would help with seeing where the proper parts of the node end, sadly that is not the case. Anyway, midi is now printed on top of the spectrogram and pitch data. The next step is to try to fix the endings of the pitch notes with some kind of a simple algorithm.

This is what the plot looks like now:

image

anthonio9 commented 5 months ago

Another small break through. Resampling was obviously the issue! To get rid of unwanted fields in strange spots that were not in the original data it was enough to disable resampling for sampling rates that divide the GuitarSet native sampling rate of 44100 Hz without a remainder - that leaves the 11025, 22050 sampling rates without the need to resample.