Heya!
I have a background in video game programming and I love physics, but I can't barely remember anything about using physical tech components, connecting circuits, and others... I need some help with this, please:
Objective:
I want to create an LED wristband/bracelet to wear on my ankle/wrist so the objective is to be at random places and make the LED sound depending on the ambient sounds.
For example: I want the bracelet to react to the "bip bip bip" when the train doors close, when the microwave finishes with the "piiim", or even when the classic Windows error sound shows up on my screen.
So I know I have to somehow record the sounds in a clean way to get the frequencies, then store them somehow and associate colors, and then it needs to be able to automatically play the sounds when I'm out there enjoying life.
How can I build that?? What do I need?? Any examples anyone can provide to me so I can follow some steps while learning??
I have been searching but due to my lack of knowledge in circuits/tech components/etc, I'm not sure how to start and where to look to get this specific project done.
In my opinion, this task is not easy. How do you plan to filter out the surrounding noise to isolate only the sounds you need? How will you power this accessory? If it runs on battery how long should it run autonomously? What and how many LEDs will there be and how long and with what brightness should they light up? I don't know if a microcontroller like ATmega328@16MHz will have enough computing power for this task. I guess you'll need something like a software FFT or use a chip like the MSGEQ7 to isolate some frequencies. If, for example, you have an Android phone (or another suitable one), perhaps a program running on it can perform all these tasks and only command the colors of the accessory via Bluetooth, perhaps.
Hi!
That's why I need some advice. Thanks for replying!
I'm looking for the best approach based on the knowledge of others if they can help me.
It would be super nice to be able to recognise the frequencies out there with the background noise. Something like: background noise + registered frequency like the train doors closing (if possible). Otherwise, the bracelet could light up anytime when the recorded frequencies are accidentally matched I guess...
Maybe cleaning the recordings so I can best get the correct frequency without ambient noise (Audacity??). I'm just guessing, sorry if it doesn't make sense.
The bracelet power is another thing I would like to have a recommendation for, as I don't know if it's possible to do this project with such small pieces. I don't care if it's not aesthetic. I want it to work.
It would be nice to include a battery (I don't know how, sorry) and charge it via USB or other means. And including a switch to turn it on and off.
For now, I don't really care about the number of LEDs and their brightness power. I'm more focused on the working part (then I can add more or less/better and worse later for polish)
And yes! I thought about using my phone to control the bracelet via Bluetooth as a second option in case the bracelet can't independently work. Whether it's to turn it on and off, control brightness if possible, change update colors in real-time, and even include/register new sounds by recording with the phone (even if they will be quite dirty).
I'm aware this looks like a wishlist, but I really want to do something like this if possible.
Sorry for my lack of knowledge tho!
Not a problem, that is a question(s) you have not had answered. This stuff takes time, and it is constantly changing so none of us can stay current for very long.
Sound recognition is hard - and should be where your focus is first if you want to get a project like this off the ground. Keep in mind that Google, Apple, Amazon and the others that offer voice recognition use what amounts to a supercomputer to process the data, to recognise the words etc. Your request for req
When you're able to somewhat reliably detect these sounds, you will be in a much better spot to figure out how to make LEDs react to that, which is a rather trivial part of the whole exercise.
So yeah... The Arduino isn't powerful enough to identify particular sounds or for speech recognition, etc.
But a lot of people make "Music Visualizers" or "Spectrum Analyzers" (YouTube). A spectrum analyzer shows the frequency on the X-axis and and amplitude on the Y-axis. So these effects normally split the audio into frequency (pitch) bands with an LED "VU meter" for each frequency band.
Traditionally, the low frequencies (bass) are on the left and the high frequencies (treble) on the right.
Once you have the amplitude & frequency information (which can be done in hardware with the MSGEQ7 or in software with the FFT or FHT library), you can do lots of "fun things"!
Microphone boards for the Arduino are common. (A microphone needs a preamp and the Arduino needs a biased signal because it can't read the negative half of the audio signal. A microphone board is ready-to-go.)
There are different kinds of microphone boards. Typically you want one that puts-out an analog audio signal (like what would go into an audio amplifier).
WS1812;s (what Adafruit calls "NeoPixels") are addressable RGB LEDs that are super-easy to use. The software is complicated, but a software library takes care of most of it.
Adafruit has some wearable products and sample projects.
P.S.
To get started with a baby-step, take a look at my World's Simplest Lighting Effect. It blinks the built-in LED on when the sound level is above average and off when below average. It works with a microphone board (one that puts-out an analog output), or with the bias circuit it works with a line-level or headphone-level audio signal,
Before getting more hardware spend some time and research "color organ". They will probably do what you want with a lot less money and effort. Check this link, it has some great ideas for a similar project.