Go Down

Topic: Analyzing Audio w/ Arduino FFT (Read 6864 times) previous topic - next topic

funfrancis

Hi

Very true

The issue is that in my case, I am using the LoRa module for Arduino for  sending its data wirelessly.

The LoRa module doesn't support Arduino libraries and with some research I managed to get it working for DS18B20, Humidity sensor (SHT15), Gas sensor (MQ2)

So for FFT, I need to make it work in the same pattern.
Is there any other simpler FFT-Arduino project that you could share with me
 

rexhex

Buy the teensy 3.2 and audio board that Mr. Stroffregen has created. The FFT library he has created is much easier to use.

Trust me it is well worth the money and time waiting for it to come in the mail.

pjrc

The LoRa module could be a real issue.  Even if it can work with Teensy, from the nature of the many questions already asked, I doubt I could help much to resolve whatever technical issues come up.

rexhex

Is that real!? https://www.cooking-hacks.com/documentation/tutorials/extreme-range-lora-sx1272-module-shield-arduino-raspberry-pi-intel-galileo/

I have no application for this but it is pretty cool. I can see this being good for a DIY security for a large business. A large business should probably pay a security business to handle that though...

"The Hydrophones- Arduino UNO will be mounted on a Aerial vehicle whose purpose is to float on water, capture sound of underwater mammals and transmit them to the base station. Transmission  part is easy as I have tried it with other sensors and it works fine" That sounds exciting.

Why do you want to use FFT to record mammals underwater?

funfrancis

Is that real!? https://www.cooking-hacks.com/documentation/tutorials/extreme-range-lora-sx1272-module-shield-arduino-raspberry-pi-intel-galileo/

I have no application for this but it is pretty cool. I can see this being good for a DIY security for a large business. A large business should probably pay a security business to handle that though...

"The Hydrophones- Arduino UNO will be mounted on a Aerial vehicle whose purpose is to float on water, capture sound of underwater mammals and transmit them to the base station. Transmission  part is easy as I have tried it with other sensors and it works fine" That sounds exciting.

Why do you want to use FFT to record mammals underwater?
Hi

I am building  a Quadcopter for marine conservation whose purpose is to land , float on water. The hydrophones will be attached to the quadcopter and submerged under water. The Hydrophones will capture the sound of underwater mammals and trigger up the FFT pattern through the UNO (to which they are connected). As a result, we will be able to fly the aerial vehicle to that particular location and analyze their behavior.

The LoRa module gives a relatively large range and so we opted to use it.

rexhex

I can see how having a large range would be useful for that application. What mammals are you interested in monitoring? This sounds like a fun project. Where is your group located?

I was having a hard time getting usable results from the FFT library your using. My application is for lights and music. I switched over from the UNO to the Teensy 3.2 and the FFT library that Mr. Stoffregen wrote. It is much better I think you will be happy with the results. Plus if your looking to strap this on a drone that floats it will save more space. His audio shield has a mic input so you wont have to worry about an opamp circuit for your hydromic.

funfrancis

I can see how having a large range would be useful for that application. What mammals are you interested in monitoring? This sounds like a fun project. Where is your group located?

I was having a hard time getting usable results from the FFT library your using. My application is for lights and music. I switched over from the UNO to the Teensy 3.2 and the FFT library that Mr. Stoffregen wrote. It is much better I think you will be happy with the results. Plus if your looking to strap this on a drone that floats it will save more space. His audio shield has a mic input so you wont have to worry about an opamp circuit for your hydromic.
Hi rexhex

I am working as a researcher in an university in Singapore and we are focusing on dolphins

I am a big fan of Teensy and its added libraries that support various sound processing but the module that I am having for data transfer (LoRa module) has a great range but does not support Teensy, So I am using the library

Did you modify your codes ?
How were you able to identify that the FFT was responding to your sound in UNO?

pjrc

#37
Mar 02, 2016, 04:36 pm Last Edit: Mar 02, 2016, 04:43 pm by Paul Stoffregen
Perhaps you should use both Teensy and Uno, connected together by serial (pin 1 on Uno to pin 0 on Teensy, and pin 1 on Uno to pin 0 on Teensy).  On Teensy, you'd use Serial1 for those pins, and on Uno there's only one Serial.

Maybe you could program Teensy to simply send the FFT data to Uno?  The FFT example already sends data to USB serial.  Maybe you could just use that, with Serial changed to Serial1, so it transmits the data to your Uno?

All 512 points sent 88 times per second might be more data (and a higher baud rate needed) than Uno can handle.  But if you don't care about higher frequencies, you could just send the lower bins.  Then instead of the extremely difficult task of FFT on Uno, you'd only have to write code on Uno to receive the data Teensy sends.

You're still going to have to do significant programming on the Uno side, and maybe a small amount on the Teensy side to edit the code to send less data and maybe adapt the format for something you can more easily parse on the Uno side.  If you're not skilled with programming, you might need to find someone to help with that coding (and no, I'm not going to do it for you, even if you buy a Teensy, not even if you buy a lot of Teensys)

But at least Teensy and the audio shield can make the FFT part fairly simple.

funfrancis

#38
Mar 04, 2016, 03:38 am Last Edit: Mar 05, 2016, 12:06 am by funfrancis
Perhaps you should use both Teensy and Uno, connected together by serial (pin 1 on Uno to pin 0 on Teensy, and pin 1 on Uno to pin 0 on Teensy).  On Teensy, you'd use Serial1 for those pins, and on Uno there's only one Serial.

Maybe you could program Teensy to simply send the FFT data to Uno?  The FFT example already sends data to USB serial.  Maybe you could just use that, with Serial changed to Serial1, so it transmits the data to your Uno?

All 512 points sent 88 times per second might be more data (and a higher baud rate needed) than Uno can handle.  But if you don't care about higher frequencies, you could just send the lower bins.  Then instead of the extremely difficult task of FFT on Uno, you'd only have to write code on Uno to receive the data Teensy sends.

You're still going to have to do significant programming on the Uno side, and maybe a small amount on the Teensy side to edit the code to send less data and maybe adapt the format for something you can more easily parse on the Uno side.  If you're not skilled with programming, you might need to find someone to help with that coding (and no, I'm not going to do it for you, even if you buy a Teensy, not even if you buy a lot of Teensys)

But at least Teensy and the audio shield can make the FFT part fairly simple.
That sound nice but with the LoRa could complicate things.

Go Up