Go Down

Topic: Reading Volume Through the Analog Pins (Read 1 time) previous topic - next topic

cmpalmer

I'm toying around with the idea of an Arduino based musical instrument and I have an odd idea for a breath controller...

I would like to take a microphone (any type that would be easiest) and read the intensity/volume through one of the analog inputs. The idea is to create a responsive "solid state" breath controller that could be easily protected from the moisture in your breath (those of you who play wind instruments know what I'm talking about) by isolating the microphone behind a sounding membrane that your breath would be funneled to. What the microphone should pick up behind that sounding membrane would be more or less white noise. I think the steps would look something like this:

Microphone picks up white noise
Amplify
Rectify
Filter/smooth
Scale to 0-5V range
Read through the analog pin and convert to 10bit digital value.

The "filter/smooth" step is the one I'm not sure about. I do have an oscilloscope, so I can experiment around with filters, but I want to know if I am basically on the right track before I get started and my analog electronics skills are lacking. Am I making this too complicated?

MikMo

Does it have to be a microphone ?

I know that preassure sensors exist that would probably make your project a lot easier.

cmpalmer

Actually, I do have a pressure sensor that I bought for that purpose, but I haven't got around to playing with it yet either. I got interested in the microphone type circuit as an alternative because I think that ultimately it would have a better response. In fact, I've also thought about not digitizing the volume curve but using it as an analog gain to modulate the audio output. I would like to be able to expressively control the musical output with breath, tonguing, humming or growling. The transducer may or may not work for that.

I saw an electronic wind instrument that used a pressure transducer in a sealed cavity where you didn't blow air through a mouthpiece, you just compressed the air in the mouthpiece cavity using your lungs and cheeks.

kg4wsv

I second the pressure sensor.  Freescale (formerly Motorola) has a model with an integrated amplifier (part number 6115, IIRC) that's pretty easy to hook up to the Arduino since the output is already scaled 0-5V.  I think I used one cap and one resistor in addition to the sensor (whatever the example circuit on the data sheet shows), and could see the value change when I blew at the sensor.

no idea what it would take for a mic.  probably an op-amp at least.

-j


kuuk

a few weeks ago i built a simple "light flute" using an electret microphone. i pumped up the signal using a bc-377 npn transistor. just blowing onto the mic gives some good white noise as you expect (still it's a microphone and you could as well sing into it, it's not nearly effective/LOUD as blowing air though, using the single transistor amp. not mentioning quality)  i read the signal into an atmega using an analog input.
what i didn't like about my prototype was "blowing against no resistance", which in my opinion makes it quite hard to control your breath. but that could be solved i guess. The microphoe approch works at least.


Go Up