-1

I'm new to signal processing and i'm developing an application that involves extracting pitch of a sound playing wav file, tried a few approaches to directly extract pitch using java (using FFT and DFT) however, it was not possible to go on with it cause of the low accuracy gained through extraction.

I was told of an approach to determine the frequencies of the notes in the sound signal using matlab and then finally you get a .csv format script which has to be converted to java. Problem is i have no clue on how to do this so can someone shed some light on how to extract the frequencies? How to use this information in java?

dav191
  • 75
  • 2
  • 7
  • you cannot directly or accurately estimate the pitch using FFT/DFT alone. You need something slightly more sophisticated, try something like RAPT (Robust Algorithm for Pitch Tracking) you can download the function and call it in matlab to estimate the pitch vector for your wav file. After which you can save it as a `csv` and read it into your Java program – GameOfThrows Apr 06 '16 at 08:10

1 Answers1

0

I don't see why you should use Matlab and then switch to Java. You can get pretty good results with optimized algorithms directly in Java. An example of Java library you might want to look at is TarsosDSP.

Hatim Khouzaimi
  • 515
  • 4
  • 11