I am trying to make a project for a school assignment that will cause a buzzer to go off while someone is talking by using some sort of decibel meter. The problem is that once the buzzer starts, I don't know how to turn it off once someone has stopped talking. I thought of turning the buzzer off every half second or so and then rechecking for talking but i would prefer a solid tone rather than beeping if it could be avoided. Another solution that I found while researching this was to use a MSGEQ7 and use the different frequency bands to isolate the talking from the buzzer, with would be a higher pitch than the human voice and therefore occupy a separate frequency band so that the buzzer would be isolated from the ambient noise. I am also not sure if there would be any specific microphone requirements as well. If this solution could work, I would love some help with the exact implementation or suggestions for better alternatives.
First, figure out how to detect when someone is talking (i.e. separate voice from background noise).
This is much, much more difficult to do than you think, and may not even be possible with the standard Arduino and/or the MSGEQ7, so spend some time with Mr. Google.
I don't need voice recognition, just some sort of decibel meter to detect something above the ambient noise or a specific decibel threshold.
I did not mention "voice recognition". You have a lot to learn.
You can build an active filter with a deep "notch" at the beeper frequency. Try to keep the beeper signal as close to a sine wave as possible.