Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to generate a buzzer sound like this one in matlab.

enter image description here

When you look at the waveform, it's got sinusoidal notches cut into an otherwise normal looking sinewave.

I generate a sinewave tone,

fs = 44100 ;
t = 0 : (1/fs) : 2 ;
f = 200 ;
y = 0.5*(sin( f*2*pi*t )) ;
sound( y, fs ) ;

I don't know how to cut the notches! How would you do it, so it sounds "buzzy"?

The spectrum:

enter image description here

share|improve this question
Look at a spectrum of the signal. Maybe that software has a spectrum analyzer or else download Audacity or convert to wav and open the file in Matlab. – endolith Dec 5 '12 at 1:23
up vote 1 down vote accepted

Based on the spectrum, it looks to me like this was generated by FM synthesis. The mathematics of starting with a sound and working backwards to generate it using FM synthesis can be time consuming. The best reference I know of is Computer Music. I've seen pdf editions of this book online that I thought were legal, but I'm only seeing illegal looking things now, so I'm not linking.

Some simpler approximations that might work, but almost certainly won't sound the same:

  1. white noise with a bandpass filter. (maybe plus a little clipped sine wave)
  2. a clipped sine wave or square wave through a low pass filter. (subtractive synthesis)
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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