Determine speed of roulette ball through audio analysis?

Click For Summary
SUMMARY

This discussion focuses on the challenge of determining the speed of a spinning roulette ball through audio analysis using tools like FFT (Fast Fourier Transform) and autocorrelation. Participants suggest various methods, including using the Doppler effect to measure pitch changes as the ball moves relative to a microphone and employing autocorrelation to identify repetitive sound patterns. The conversation highlights the importance of selecting the appropriate frequency range for analysis, with suggestions to utilize software like Audacity for spectrogram generation and analysis. Ultimately, the discussion emphasizes the need for a combination of techniques to accurately track the ball's speed amidst background noise.

PREREQUISITES
  • Understanding of FFT (Fast Fourier Transform) for frequency analysis
  • Familiarity with autocorrelation techniques for time series analysis
  • Knowledge of the Doppler effect and its application in sound analysis
  • Experience with audio analysis software, particularly Audacity
NEXT STEPS
  • Research advanced techniques for audio signal processing using FFT
  • Explore the implementation of autocorrelation in real-time audio analysis
  • Investigate the Doppler effect in practical applications for speed measurement
  • Learn how to optimize frequency range settings in audio analysis software like Audacity
USEFUL FOR

Audio engineers, data analysts, and anyone interested in real-time audio processing and speed measurement techniques in dynamic environments.

fwbfwb
Messages
1
Reaction score
0
I'm trying to find a way to track the speed of a spinning roulette ball in real time through audio analysis, i.e. have a computer report the speed of the spinning ball it hears through a microphone.Here is a video of a spinning ball:

I've tried watching a real time spectrum analyser (FFT), but haven't found any dominant frequencies to focus on, and there was a lot of noise. It might be possible if I find a very specific range of bins to track but I haven't found any yet.

Here is a snapshot of the frequency domain 20 seconds in. It doesn't change much except get slightly quieter overall as the spin goes on.
f4cnkiB.png


Here is what the audio of one spin looks like in the time domain. My brain can see the trend of the ball's speed slowing, but tracking amplitude alone would not work with background noise like music or talking.
kHx2CYr.png
Any ideas? My brain can perceive the ball slowing when I listen so it must be somehow possible to get a computer to recognize it.
 
Physics news on Phys.org
@fwbfwb
Hi. Great video of the ball rolling around the roulette wheel.
I must say, though, finally a rival has arrived to challange the champion "Watching Paint Dry".:rolleyes:

Seriously though, a good question.
Unfortunately, I cannot think of anything at the moment to add to help you your analysis.

except maybe to ask if,
You haven't found any occurrence of repetative spikes, frequencies, etc on each revolution?
 
My first reaction to this is that you could try autocorrelation of the time waveform. That would have the effect of finding the time interval between repeats of 'identical' clicks. Because the ball is slowing down, it may be wise to window the waveform.
It could be worth while calibrating your system with an optical measurement.
Is this a new idea for a Casino Heist?
 
  • Like
Likes   Reactions: fwbfwb
what about using the Doppler effect?
If the microphone is not directly above or below the table you should be able to detect a rhythmic rise and fall in the pitch as the ball moves toward, then away from the microphone. That would at least give you the duration of each revolution, which should give you a rate of decay function that you can use to calculate the speed of the ball at any given point on any given orbit.
 
  • Like
Likes   Reactions: fwbfwb
mrspeedybob said:
what about using the Doppler effect?
I'm not sure how you could implement that, in the presence of all the shash in the time and frequency domain data. `There will be a number of possible approaches but they would be better if they could use large numbers of samples in order to get the information out of all those apparently random values. Low pass filtering of the frequency data would be throwing away a lot of potentially useful data. Autocorrelation would look for repeats in time. But even then, as the speed is decreasing, it could be better to do something really smart and change the time steps, used in the integration to take the acceleration into account. That would require some idea of the acceleration involved - or perhaps, just assume linear acceleration and then sweep through, looking (and identifying) when the resulting waveform 'looks' best. A lot of trial and error processing, I guess but there are many packages that will do it at the push of a button.
 
For what it's worth here is a spectrogram of the first spin in the video.
upload_2015-12-13_16-12-51.png

I can't make out any useful change of pattern.

(Generated using the freeware Audacity.)
upload_2015-12-13_16-12-51.png
 
  • Like
Likes   Reactions: fwbfwb
DrGreg said:
For what it's worth here is a spectrogram of the first spin in the video.

I can't make out any useful change of pattern.

(Generated using the freeware Audacity.)View attachment 93313
The frequency scale on the attachment seems to have a lower limit of 300Hz (?- there are no labels on the axes so I may be making assumptions). The frequency range, relating to the speed of the ball would be around 10Hz (the rate it hits the sides of the dents on the wheel. Can you change the frequency range on the software to include the appropriate frequency?
Of course, there is the other issue of finding the actual speed of rotation of the wheel . . . . Analysis of the sound will only give the relative speeds.
 
sophiecentaur said:
The frequency scale on the attachment seems to have a lower limit of 300Hz (?- there are no labels on the axes so I may be making assumptions). The frequency range, relating to the speed of the ball would be around 10Hz (the rate it hits the sides of the dents on the wheel. Can you change the frequency range on the software to include the appropriate frequency?
Of course, there is the other issue of finding the actual speed of rotation of the wheel . . . . Analysis of the sound will only give the relative speeds.
Sorry, I should have said the vertical scale is Hz and the horizontal scale is seconds.

Here's one which goes down 1 Hz, with a 16384-point Hanning window. (I tried other window sizes and types, but none seemed to reveal more detail. It's difficult to find the right trade-off between time-resolution and frequency-resolution.) The sampling rate is 48 kHz.

Is it my imagination, or is there something dropping from about 7 Hz to 4 Hz and then vanishing at 32 s?

We must bear in mind the sound has come from a youtube video and has therefore been subject to lossy compression. Some of the mush may be compression artefacts.

upload_2015-12-13_17-18-14.png


upload_2015-12-13_17-18-14.png
 
  • Like
Likes   Reactions: fwbfwb
I think you could be right about the low frequency bits. There seem to be three definite horizontals (5,7,and 9 Hz ish). I wonder what the three of them mean. Plus there are a number of horizontals at higher frequencies. Your guess is as good as mine.
The "lossy compression" will certainly have done its bit to spoil those lf components. You don't hear them so compression won't look after them and they could even be non linear products.
It would be interesting to see what the same software makes of the original data.
 
  • Like
Likes   Reactions: fwbfwb

Similar threads

  • · Replies 5 ·
Replies
5
Views
3K
Replies
17
Views
5K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 4 ·
Replies
4
Views
6K
Replies
2
Views
713
  • · Replies 22 ·
Replies
22
Views
4K
  • · Replies 58 ·
2
Replies
58
Views
5K
  • · Replies 1 ·
Replies
1
Views
6K
  • · Replies 12 ·
Replies
12
Views
2K
Replies
2
Views
3K