Hi .. I have to detect some low amplitude sound wave and take action based on the amplitude recorded . So I thought of using a sound card with 24-bit adc with built in preamp to detect the sound from a microphone and connect the sound card to arduino for processing and output . I am using a sound card because the sound i record has to be as close to original as possible .Also will debugging become very difficult later?
Leave out the sound card and just use a simple transistor or opamp microphone circuit. The ADC in the Arduino is quite capable of the resolution you need, and can also do the FFT in realtime. The sound card route-- building an ISA bus controller-- is far beyond in terms of complexity and cost than what you are trying to accomplish...
I need to be concerned with sound level and give my output based on that .... not recording it
please also see this link for details : Arduino Forum
I am using a sound card because the sound i record has to be as close to original as possible
is at odds with this one:-
I need to be concerned with sound level and give my output based on that
If it is only the level you need it doesn't have to be 24 bits.
Connecting a sound card is very tricky because most of them are USB and you have to make a USB master. The arduino can't do this. There are some shields to add a USB master (host) but these will not work with the high speed transfer mode needed by the sound card.
will this work ?
actually my prof insists on using a sound card and arduino and asked me to find ways out
this was given at http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1241065918/15
I used to be a prof at a University, and sadly your Prof has asked you to do something impossible. No that will not work because the USB protocol has several transfer modes and the modes supported by that interface are simply not fast enough to support the data transfer rate of a sound card.
Go back to him and tell him I said it was impossible and ask him how something with only 2K of RAM is supposed to do anything with high speed data sample transfer.
i need a 24 bit adc to increase resolution (on board 10 bit is not suffice) .. so my prof suggested a sound card i think
so can you please suggest some higher resolution (>10) adc to connect to arduino
How about an approach like this
But record to SRAM for higher speed capture if you need that.
I wonder, what is the source of the sound, that would require 24 bits?
And what is the microphone you gonna to use, to drive sound card?
My guess, is why your Prof. asks to design a project bases on 24-bit cards, it's just "exploit" likely
better SNR of the cards preamplifier and ADC, rather than their wider dynamic range. Even it would make sense for submarine sonar design, complexity and cost of the project became too high for simple "train warning" system. I'm not sure, if it possible with arduino at all.
i need a 24 bit adc to increase resolution (on board 10 bit is not suffice)
Is this a result of some tests, some theory or just a guess?
Do you really mean sensitivity not resolution?
Having 24 bits in a sound sample is not going to make it easier to distinguish your chosen noise from anything else.
Show your prof these postings and if he still insists on a sound card then I would advise you to change institutions because you are not getting a proper education at the one you are at.
If I may, you shall keep in mind the "KISS" concept (Keep it Simple and Stupid, don't complicate things)
Why would you need a soundcard? Use an analog amplifier to get your wanted signals.
The amplitude range will fluctuate? Use automatic gain control. Chips like compressors (I have the SSM2165 in mind) will help you to handle multiple input levels within time.
The issue to the accuracy relies in the analog electronic world.
When you'll need processing horsepower for let's say high precision time/frequency transformation, you'll think about adding a powerfull soudcard.
But first, dig into the analog world.