Open-Source Sound project

willsonman

Builder Extraordinare
Mentor
I've had it rolling in my head for a couple of years now to try and make a sound module for model aircraft. The Benedini and Mr RCSound modules are nice but far too expensive for how inexpensive the tech really is. You can get an amplifier and speaker from amazon for $23 (shipped Prime). So the other part is the computing part and the software. While I initially looked at an arduino unit, several local buddies seemed to think that the processing power is insufficient and that I should look at a Raspberry pi.With the new pi zero ($5) its looking quite promising.

The last part is where I need help. I need the software. I'm not a programmer by any means. Basically the need is to convert the PWM signal from the throttle channel and convert it to play and modulate sound files. I was thinking of a similar generation of sound as RealFlight does. There are multiple sound files of the same motor but at differing RPMs. As you throttle up the sound is modulated up toward the next sample and the next sample is modulated down to transition with the previous sample. and on and on up.

This KnifeEdge thread may be better at explaining it.
http://www.knifeedge.com/forums/showthread.php?t=28417

With this general idea folks can actually record engine sounds and create their own sound profiles and share them openly. I think to have the hardware cost around $50 is reasonable especially if the software and sound profiles are all free.

If you are a hardware/software guy that is willing to help with this project I would really welcome it. I think there is a real need for this and could become something huge.
 

Rubicon

Member
I have not done much with The raspberry pie but I don't think it would be to difficult. Just need to determine the best way to decode the throttle channel. Hmm. might have to research this a little tonight.
 

willsonman

Builder Extraordinare
Mentor
Have you looked at the Ess-air unit from banggood? $59

Not until just now. Interesting. It seems that banggood is still selling at a reduced price. The cost at the main site suggests $100... again this is all still with proprietary sounds that you have to rely on the manufacturer to produce. While $60 is closer to the right price range, the flexibility is not what I'm looking for.
 

AkimboGlueGuns

Biplane Guy
Mentor
I'd like a nice sound unit for a certain plane sitting in a brown box in the basement. It'd also be a great addition to the SBO corsair (if it gets finished this year), as well as the christen eagle, and...

Come to think of it, sound just makes every thing more awesome.
 

Rubicon

Member
Are you sure you would want to go the route of a transducer? Some materials don't fair well after prolonged use.
 

makattack

Winter is coming
Moderator
Mentor
I love this idea, but the problem with PWM input processing on a RPi with a multiprocessing OS like linux is that you won't have precise reading of PWM values over the GPIO port. If that's not an issue -- which is my thinking for this project -- it's not like you're looking for flight control input... it should be no problem. This application would basically be looking for high/low values and not values in between right? Looking for essentially an on or off state? Anything else might require fancy software filters.

I can help out with the coding if you want to go the route of Linux/RPi. If you want to keep the software opensource, I suggest a scripting language vs a compiled language. Python instead of C/C++ for example.

Hmm... looks like this might be pretty straight-forward with the Arduino if you're going to be playing back sound samples:
https://www.arduino.cc/en/Tutorial/SimpleAudioPlayer

coupled with:
http://www.benripley.com/diy/arduino/three-ways-to-read-a-pwm-signal-with-arduino/
 
Last edited:

willsonman

Builder Extraordinare
Mentor
Yeah, so if you are going in steps by 10 you have 20 segments to go through from -100 to 100. So that can be the basis for the different rpm recordings. No need to be super precise as the more samples you have the larger the size you will need for the recordings.

No idea on coding. Whatever you think would be best. Some sort of iPC interface would be nice to read/write downloaded it recorded content.
 

willsonman

Builder Extraordinare
Mentor
BTW I do have samples from an ASP FS400AR:

I have samples at 1400, 1500, 2100, 2600, 3000, 3500, 4100, 4600, 5000, 5500, 6500, and 7000 RPM.
 

makattack

Winter is coming
Moderator
Mentor
Well, I started looking for a sdcard reader, and low and behold: I found a sdcard reader, amplifier, dac/mp3 decoder all-in-one!

http://www.banggood.com/DFPlayer-Mini-MP3-Player-Module-For-Arduino-p-969191.html

Couple that with this:

http://www.banggood.com/ATmega328P-Nano-V3-Controller-Board-Compatible-Arduino-p-940937.html

and we're talking about an inexpensive and smallish setup!

Here are the details for that DFPlayer/shield that totally makes this a simple project:

http://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299

four wires soldered directly between the arduino and the dfplayer (vcc, gnd, tx, rx) and speakers soldered or connected via pins/adapters to the dfplayer.

With a 32gb micro sdcard, the shopping cart from the us warehouse is $24.30.

With speakers: http://us.banggood.com/Wholesale-Wa...-Stereo-Woofer-Loudspeaker-wp-Usa-978610.html
 
Last edited:

willsonman

Builder Extraordinare
Mentor
You would still need an amplifier. 3W is not very loud at all. Basically that is what drives the speaker on a transmitter like the Taranis or DX9. Good finds though!
 

makattack

Winter is coming
Moderator
Mentor
LM386 Audio Amplifier Module 200 Times Input 10K Adjustable Resistance
https://bnc.lt/m/bxWTnREI8o

It's $4.11 from the US warehouse. Not sure if it's powerful enough for what you had in mind. Don't know the input limits either.

Ah never mind. The specs on the lm386 indicated they at most output 1W


Hmm... this amp might work well...

http://www.banggood.com/DIY-TDA2030A-TDA2030-Single-Track-Power-Amplifiers-Board-Kit-p-956658.html

4 or 8ohm speakers. States 10W with 4ohm...

http://www.adafruit.com/products/17...vJzlJxnOcqhShoCmDjCfwpJen8tZCjgb_waAtfq8P8HAQ

It seems speakers are going to be there expensive part, next to sdcards.
 
Last edited:

willsonman

Builder Extraordinare
Mentor
That amp looks reasonable. More for the DIYer but good.

Yes, speakers can be quite expensive. The issue also becomes weight. Larger speakers inherently become more heavy. Better speakers usually have larger magnets, also increasing weight. Larger magnets create a better field for the voice coil to travel through. It creates more precise movement which makes better quality sound. The thing is that they are heavy. IMHO it is better to have a smaller speaker with a larger magnet than a larger speaker with a small magnet.

That said, larger speakers are able to produce louder volumes of low-end frequencies. Simple physics there. You need more mass/surface area to generate more sound energy. A lot of my knowledge here extends from my high school days doing car audio. Since I traveled a TON as a musician it was just part of my thing to have a very high-end stereo for my travels. To this day, I am still in love with the JBL GTi1200, not the newer W12. The larger 4" voice coil transferred energy to the cone far more efficiently with better clarity than other woofers of the time because of the ratio. 4" voice coil to a 12" cone. Others use a 3" or even 2" coil. The clarity, even today, is hard to replicate. Further still, for the real rumble of scale engines you need some sort of acoustical resonance. The transducers are nice because of the weight but they sound too much like cheap toys from the 80's. Again, JMHO. These sound systems should really only be used in the larger scale planes where 1: you need the added weight up front and 2: because of the size you can include a resonant chamber for the speaker to project the low-end frequencies. Free-air speakers are different but require the infinite baffle that would require the speaker to be more or less exposed to the outside of the airplane... not practical. You also introduce vibrations to the airframe that electrics are not designed for... so do we go back to designs intended for IC?

Its all trade-offs but there are options now that allows for more situations to be catered to.
 

makattack

Winter is coming
Moderator
Mentor
Ah, that's great! I forgot you were also a musician and an audio engineer, but that's probably why you started this project, eh?

Yeah, I'll have to rely on your audio expertise as that's not my wheelhouse at all. Ha, I thought 3W was plenty!

Here's a prebuilt amp: http://www.banggood.com/12V-Mini-Hi...eo-Amplifier-Board-Dual-Channel-p-933675.html

It's a little excessive in that it's 2 channel, but seems small enough and easy enough to wire up especially with all the connectors built in.

$6 seems a little high for it, but I the time saved...

Oooo... and here's another digital class-d amplifier for low cost that uses the same PAM8610:
http://www.banggood.com/PAM8610-Dig...15W-Two-Channel-Stereo-Class-D-p-1003966.html
 
Last edited:

willsonman

Builder Extraordinare
Mentor
Class D would be better as it is more energy efficient and runs cooler. You would have to make sure the speakers could handle that or make sure your gain is turned down. The first one I linked to be purchased on amazon as well.
 

ScottyWarpNine

Mostly Harmless
I've built a simple sound module using an Arduino Nano with a micro SD card reader, a cheap 2 channel amplifier, and a salvaged speaker. It uses an input pin to sense the throttle position from PWM from the receiver and based on throttle position it plays one of 5 sound files off of the SD card, from startup and idle to full throttle. It actually worked pretty good. I'll post up some pictures and code samples when I get a chance.

I built it based on an RCgroups post I found, I'll try to find it.
 

willsonman

Builder Extraordinare
Mentor
I think I've seen that post. I like the idea of using arduino but I really want the transitioning between sounds.