0
$\begingroup$

does anyone know if there is a technic to estimate the pitch of a given signal by analysing only one pitch period.

I'm asking because I read about a program called AudioMotors. https://lesound.io/product/audiomotors-pro/ If I'm right, you can load in a recording of your car, where you recorded the rpm from idle constantly rising to max rpm. Then you can jump to any position u want and hold the rpm at this point. There are a lot more features this program provides. But I'm only interested in the part where you can hold a chosen rpm and let it sound pretty good.

I'm not an expert in dsp but I thought you can jump to a position you want. Then you select a few samples. From these samples you have to estimate the pitch of the first period and match the pitch of all following pre selected samples (pitch scaling). After this you can loop these samples and not hear any pitch change. And maybe let it sound ok.

If you can help me with this or have any suggestions on how to program a "light" version of AudioMotors pls let me know.

Thanks in advance.

$\endgroup$

bumped to the homepage by Community yesterday

This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.

  • 1
    $\begingroup$ It is possible that that app is not detecting pitch over just one period, but interpolating pitch to a point after analyzing a much longer segment of frequency modulated audio. $\endgroup$ – hotpaw2 Jan 19 at 19:40
  • 1
    $\begingroup$ It seems a chicken or the egg situation. If you don't know the pitch, how can you tell that you acquired 1 whole pitch period? $\endgroup$ – Ben Jan 23 at 18:16
  • $\begingroup$ you need one complete period plus a little bit more. the pitch detector for the AXON guitar synth had a 13 ms detection delay. but the lowest note (E, approx 165 Hz fundamental) has a 12.1 ms period. so they were able to somehow correlate 0.9 ms of the second period to the corresponding part of the first period and work out the period length from that. $\endgroup$ – robert bristow-johnson Jan 23 at 20:40
0
$\begingroup$

If the RPM was in a known range I might try putting the audio through a lowpass filter to get rid of the higher harmonics and then interpolating the zero crossings of the waveform to estimate the period. If that doesn't work you could perhaps try an autocorrelation of a waveform that contains multiple cycles and look for the first/biggest peak in the autocorrelation spectrum.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.