Stress level detection

Hi all,

I'm new to Arduino and I want to create a simple interactive project: I have a "Breakout Board for Electret Microphone" (https://www.sparkfun.com/products/9964) and I want to connect it to Arduino and when people shout at the microphone, the Arduino would measure their "stress level"/decibels and do some visual effects with that numeric value.

Is it feasible?

Cheers! :slight_smile:

hen people shout at the microphone, the Arduino would measure their "stress level"/decibels and do some visual effects with that numeric value.

Have YOU the knowledge/reference on how to code the stress identification routine?

Arduino boards can process analog waveform using mathematical modeling (FFT/other) across the human voice range of 300Hz to 3000Hz and maybe higher depending on the specific algorithm.

Ray

Look here h t t p ://coolarduino.wordpress.c o m/2013/01/09/audio-vu-meter/

@Magician-
Very cool.
But Op needs a "stress algorithm" to filter the audio stream. I am aware that proprietary algorithms exist, but I have not gone out into Google land looking for public domain routines for the Op.

I'm definitely am going to have to build the UV-meter, however!

Ray

I am aware that proprietary algorithms exist

It's not to complicate, to detect a stress in the voice - polygraph. Awhile ago I've seen a circuitry in Elector electronics magazine based on analog filtering low frequencies. Subject modulate a voice with a frequencies below 16 Hz, which practically (modulation) absent in normal speech. My project "Voice recognition" would be capable to track a lier quite easily -);
Though, I haven't tested it on this matter

@Magician:
Seems reasonable but the input filter(s) would need to be adaptive to the below 16Hz. Perhaps a better approach would be FFT with a bias toward the low-buckets? A set of "control" questions would set the normalization parameter then a weighting constructed of deviation?
I personally have not experimented in this area, so your knowledge and experience trumps mine by a significant amount :smiley:

Ray

FFT algorithm is the best for such filtering, and voice recognition is based on fft with bins width 8 Hz AFAIR.

would set the normalization parameter then a weighting constructed of deviation?

I don't understand your vocabulary, frankly speaking, but I do know that all this fancy words deeply related to a model, which is never only one, accounting sensitivity of the topic

Wow! Thanks for all the feedback! :slight_smile:

Detecting stress in a voice is an interesting project to do, but firstly I would like to get the decibels of people's voice, only. Is it difficult? I'm beggining and I want to go step by step. Thanks!

Here is more info:

arduino spl meter

Thank you very much for all the info! I have to do research now.

I will write here all the progress of the project! :slight_smile:

Magician:
Subject modulate a voice with a frequencies below 16 Hz, which practically (modulation) absent in normal speech.

Note the word modulate - the question here is - vibrato or tremolo? The latter is dead easy to measure, the former quite difficult.