Easy Audio Visualizer Using Arduino FFT

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ธ.ค. 2024

ความคิดเห็น • 102

  • @Tech-Random
    @Tech-Random  4 ปีที่แล้ว +3

    Thanks everyone who entered the contest! Brandon Xicon was the winner, scroll down to see what he said!
    Thanks for all the support! I started this channel for fun and it's really starting to grow!

  • @baseldaoudrajha3835
    @baseldaoudrajha3835 4 ปีที่แล้ว

    I was looking for a small audio analyzer for my project for my Christmas tree and here it goes easy and cheap.
    I looked in the internet all of them use a long FFT-codes which is lot of work for small project
    thank you broo

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว +1

      Glad I could help!

  • @wilok
    @wilok 4 ปีที่แล้ว +1

    ws2812b for life!

  • @solsticex0049
    @solsticex0049 4 ปีที่แล้ว +3

    Im thinking a smart mirror build would be cool, or if you are focused more on lights, a table that you can play 8 bit pong on, like have the board that displays your players location and the ball, and then on each side some buttons to change position of your player

  • @abdu43551
    @abdu43551 4 ปีที่แล้ว +1

    This might be a lot of work but you should do optic fiber star with meteor shower engine on your ceiling. With all the lighting you have, it would look great, and you explain things really well in all your videos. Keep up the good work!

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว +1

      I’ve been thinking of something like this for a while. I’ve seen some great videos of people making these but they always seem like a ton of work. Maybe I could make something that’s a stand alone unit that attaches to the ceiling that would be easier to follow along with. Thanks for the idea!

    • @abdu43551
      @abdu43551 4 ปีที่แล้ว

      @@Tech-Random oooo now I really hope you do this project soon haha. And no problem! 👍

  • @Limeaway
    @Limeaway 3 ปีที่แล้ว +1

    Loving the aviator safety glasses LOL

    • @Tech-Random
      @Tech-Random  3 ปีที่แล้ว +1

      Gotta stay cool while staying safe

  • @garlicyum
    @garlicyum 3 ปีที่แล้ว +1

    The sound sensor you linked only has a digital output and can only detect wether the sound is above a certain threshold. So how come you plug it into A0 and how can you detect volume of the sound?

    • @Tech-Random
      @Tech-Random  3 ปีที่แล้ว

      I never checked the data sheet for those mics but that explains a lot of headache. I spent hours trying to figure out why I was only getting 0 or 1023 😂

  • @alessandrogiuliani2915
    @alessandrogiuliani2915 4 ปีที่แล้ว

    I was watching 2/3 yours videos and they are awesome! And how only 450 subscribers?!? Complimenti 🇮🇹

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว

      Thanks for the support! I have some big projects coming up so hopefully the sub count will go up ;)

    • @alessandrogiuliani2915
      @alessandrogiuliani2915 4 ปีที่แล้ว

      They will going up at 100%✌🏻 i can't wait to see the new videos!

  • @mechanicalflesh8253
    @mechanicalflesh8253 3 ปีที่แล้ว

    I think I am having trouble with the code. When I use the color palette everything works fine but when I use the code supplied in the link, it either has a few stationary lights or no lights at all. Any suggestions?

  • @garlicyum
    @garlicyum 3 ปีที่แล้ว +1

    What kinds of values are you supposed to get from the analog read?. Mine seems to just hoover around 32 no matter what noise I make. Using KY-038

    • @garlicyum
      @garlicyum 3 ปีที่แล้ว

      played around with the potentimeter and now its around 520 and make small movements when i clap my hands and such. But none of my LEDs turn on. Im using your exact sketch

    • @Tech-Random
      @Tech-Random  3 ปีที่แล้ว

      Different microphone modules output different sensitivities. It’s been a while since I wrote the sketch but it’s listening for a specific range from the microphone (0 - 1023 I think?). You should use a sketch that reads analog input and prints it to the serial monitor so you can adjust the mic to hit that range. Alternatively, you can change the mapping function to map to your range instead. I’m sure you already did this but run a fastLED example to make sure your LEDs are wired correctly. Hope this helps, thanks for trying one of my projects!

    • @garlicyum
      @garlicyum 3 ปีที่แล้ว

      @@Tech-Random Thanks for your response. Yeah they're wired correctly. I've made a 24x24 gif display, but wanted to add this as a mode after stumbling across your video because it looked so cool. I'll give it a go but seems the range I'm getting is so tiny.. like 519 when quiet and 522 when clapping. Maybe I'll just buy the same sensor you're using

  • @wycliffeo4656
    @wycliffeo4656 3 ปีที่แล้ว +1

    Very cool project, in addition to an external powersupply what values so i need to tweak on the code in order to use more LEDs? Thanks

  • @ShocktorGaming
    @ShocktorGaming 4 ปีที่แล้ว +2

    Do you know if there is a way to turn up the mic sensitivity on the Arduino board for the LED visualizer? Also, is this a full spectrum analyzer/visualizer?

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว +1

      The microphone module has a variable resistor to change sensitivity with a small screwdriver. This only has 8 bands and from my testing it covers 500Hz to 2kHz. With some tweaking the code can go all the way up to 20kHz though. There are some other really good examples of this online if you search for Arduino FFT

  • @lilinfeng5437
    @lilinfeng5437 2 ปีที่แล้ว

    I don't quite understand how you represent the x-axis as the different frequency

  • @rumiloghmani3987
    @rumiloghmani3987 4 ปีที่แล้ว +2

    does the left side of the visualizer visualize bass and the right side visualize trebble?

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว +2

      Yes more or less. Each bar represents a different frequency and you can play around with the values to get more range

  • @detlengemtd1895
    @detlengemtd1895 2 ปีที่แล้ว

    do you have to use adresseble LED strips or can you use what ever. and if what do i have to change?

  • @DungTran-nn9me
    @DungTran-nn9me 4 ปีที่แล้ว +2

    my display backwards. how to fix it.thank

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว +1

      You’d have to change the code to start displaying from the correct location. The code assumes your LEDs are set up in a specific pattern so any other configuration will have to be changed in the code.

    • @DungTran-nn9me
      @DungTran-nn9me 4 ปีที่แล้ว

      @@Tech-Random please show me that place. I'm an amateur.thanks

    • @nerissacheung
      @nerissacheung 3 ปีที่แล้ว

      Hi, have you figured out how to fix the pattern?

  • @kristofszova4509
    @kristofszova4509 3 ปีที่แล้ว +1

    Hey! I like your project. I was wondering if I was able to replace the microphone with a jack but I'm not sure they work on the same voltages. What's your suggestion?

  • @jasonparker8912
    @jasonparker8912 3 ปีที่แล้ว

    Thanks Chris working great. do you have a later version with other modes from pin 3 button?

  • @TheMcgamer123
    @TheMcgamer123 3 ปีที่แล้ว +1

    is there a limit to how many LEDs can be handled by the Arduino? Was looking to make a larger version with more LEDS/m

    • @Tech-Random
      @Tech-Random  3 ปีที่แล้ว

      The arduino can only handle about .75 amps output so you’ll definitely want to use a power supply for anything larger than this. Honestly if I were to redo this project I would probably use a dedicated power supply to make sure the arduino lasts longer.

  • @nerissacheung
    @nerissacheung 3 ปีที่แล้ว

    Hi! Thank you for this code, can you help me how to turn off the sepentine pattern for led matrix?

  • @henrylo6773
    @henrylo6773 3 ปีที่แล้ว +1

    Is it receptive? Doesn't it feel "laggy" because of all the delay from sensor to processing to displaying? I also plan to implement a visualizer using a mic because I dont wanna make an app or something but idk if its a good idea.

    • @Tech-Random
      @Tech-Random  3 ปีที่แล้ว +1

      Lag is certainly something you should keep in mind when writing the code. Generally, you need less than 100 ms of latency so it feels responsive and not laggy. Microcontrollers are surprisingly fast at calculations so it’s pretty easy to stay within that time frame. I just finished my college capstone project and it has responsive sound reactive animations like this does while also listening for updates from a web server

  • @98Distruttore98
    @98Distruttore98 2 ปีที่แล้ว

    Hi, i've found you project really interesting. I need help for 1 changement to the code: Actually you are using 8 led for each string, with each led representing a different frequency. If i'd like to Transposed the effect (so each string has leds of the same color) what i should do?

  • @miftachulhuda6341
    @miftachulhuda6341 4 ปีที่แล้ว +1

    Hey thanks for sharing before, I am using your code , why the first row is always on when there is no sound at all? Can you explain

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว +1

      I have it set to keep the first row on because I prefer the way it looks. I was looking over the code and I’m not sure there’s a way to change it easily but you can play around with the Intensity array to try and get it to go to zero.

  • @MOOKCONSUMER
    @MOOKCONSUMER 4 ปีที่แล้ว +2

    Also I subscribed I think you should make a LED board like that but you could make it look like people, take a photo of them and it wold appear on the Led board👍👍👍

  • @lofiandchill6062
    @lofiandchill6062 2 ปีที่แล้ว

    okay, but WHAT DID YOU DO WITH THE RESISTORS? WHY DID THEY DISAPPEAR?

  • @tombonge
    @tombonge 4 ปีที่แล้ว

    Can you try to do a video on a mode for your Led wall that shows different 8x8 bitmaps when tiles are pressed. Like 8x8 mario, pacman, minecraft blocks, etc...

  • @ZachMattson
    @ZachMattson 4 ปีที่แล้ว

    I think you should attempt some type of scoreboard! You can use it to keep score when playing pong with the roommates! Keep putting together the great content

  • @sagarmgandhi
    @sagarmgandhi 3 ปีที่แล้ว +1

    Would have been nice to show the Adruino setup as well, which i guess many here might want to know

    • @Tech-Random
      @Tech-Random  3 ปีที่แล้ว +1

      The setup is pretty simple. Just connect the LEDs to any digital pin and connect the mic to any analog pin.

    • @sagarmgandhi
      @sagarmgandhi 3 ปีที่แล้ว +1

      @@Tech-Random I see. Well another question - Does the led only light up on low frequencies OR through out the frequency spectrum, since in the video I felt it reacted only to bass frequencies

    • @Tech-Random
      @Tech-Random  3 ปีที่แล้ว

      Good observation. In the video it’s only reacting to low frequencies but you can adjust the range of frequencies by changing the sample rate or the number of samples being taken. In the video I’m showing the 8 lower frequencies stored in the vreal array.

    • @sagarmgandhi
      @sagarmgandhi 3 ปีที่แล้ว

      @@Tech-Random Oh i see. Thanks for explaining

  • @djlogic937
    @djlogic937 4 ปีที่แล้ว +2

    Nice!! As I mentioned in another comment, I'm very novice when it comes to Arduino programming. Can you give any general guidance as to what in your code to modify to change the rainbow display to have the columns be alternating specific colors of only two colors? (e.g., columns blue, white, blue, white, blue, white, etc.)?

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว +2

      To get the rainbow effect I have an integer for color that gets incremented after each bar is displayed. Instead of incrementing each bar you could have a Boolean value and an if statement. For example: bool colorValue = 1; if colorValue == 1 color = 115 ; else color = 200; colorValue = !colorValue

  • @AmitRaj-zz9vp
    @AmitRaj-zz9vp 3 ปีที่แล้ว

    Hi brother; can we use line in functionality instead of mic input in this sketch by any how?

  • @thezombieguy426
    @thezombieguy426 3 ปีที่แล้ว

    Thanks a lot man ❤
    I have tried it on uno but it seems like it kinda lags for me when I play any music. Idk what's the problem with my Arduino

  • @ShocktorGaming
    @ShocktorGaming 4 ปีที่แล้ว

    I notice you have a usb cord running out of the board -- where does it go? Also, can this be powered by a power supply (powers the board, which, in turn powers the lights)?
    I'm going to attempt this project but use 3D printed parts and no wood.

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว

      The Arduino Mega can’t be powered by 5v unless it’s going through the USB port. Originally I just used a power bank for this but I ended up modifying a power cable and soldering it to the 5v from the power supply that powers the LEDs. To power an Arduino Mega via the Vin pin you’ll need to supply 7.5-12V which you could do with a voltage step up circuit but it would need more current.

    • @ShocktorGaming
      @ShocktorGaming 4 ปีที่แล้ว

      @@Tech-Random 7.5 to 12 volts or amps? Like for your LED panels, you powered your light strips with a 5v 10a power supply, then powered the Arduino board separately? Can that be done here? Two power supplies (maybe a little overkill)?

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว

      Two power supplies would work great! 7.5 to 12 volts for the arduino. Just be sure to connect all the grounds together

    • @ShocktorGaming
      @ShocktorGaming 4 ปีที่แล้ว

      @@Tech-Random Would you recommend using the Arduino mega 2560 over the Uno you used in this video? Also, thank you for your responses!

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว

      Oh my god I thought this was a comment on my LED wall video lol. An uno is perfect for this project and you can power it with 5v. The usb cable in this video is connected to a power bank because I didn’t buy a power supply. A single 5v supply would be perfect for this project. Sorry for the misleading information, hope this helps!!!

  • @MOOKCONSUMER
    @MOOKCONSUMER 4 ปีที่แล้ว +1

    Dang you have more subs than me in a couple months GOOD JOB DUDE

    • @MOOKCONSUMER
      @MOOKCONSUMER 4 ปีที่แล้ว

      This is Keaton btw

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว +1

      Thanks for the support! Hope your channel grows too!

  • @VideoGuy9461
    @VideoGuy9461 4 ปีที่แล้ว +1

    Have you by chance updated the code to work with a larger frequency range?

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว +1

      I have not but there’s a better tutorial by someone else that does. Search for “ESP32 spectrum analyzer” by Scott Marley and you’ll see what this project *should* look like

    • @VideoGuy9461
      @VideoGuy9461 4 ปีที่แล้ว

      @@Tech-Random Awesome, thanks! I got your code to work just now with my project, but I'm wanting to double the X and Y axes so that it's larger, but I can't get it to work. Any ideas?

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว

      I did everything in terms of xres and yres so changing the values of these at the top of the code where it says #Define should work

    • @VideoGuy9461
      @VideoGuy9461 4 ปีที่แล้ว

      @@Tech-Random Tried that and when I change them to 16 they stop working altogether. I've tried changing it with the NUM_LEDS value too and it doesn't do anything. Thank you so much btw for responding!
      Edit: I think I've figured it out. I just doubled everything. 8x8 to 16x16. But 64 doubled is 128, which is not 16x16. That's what I think is wrong.

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว +1

      Let me know if that’s working! That’s what I was going to suggest

  • @TheBussFamilyLife
    @TheBussFamilyLife 4 ปีที่แล้ว

    Nice! - An infinity mirror with programable LEDs would be great for a bathroom

  • @dunkleo4655
    @dunkleo4655 4 ปีที่แล้ว

    Hi, how would one change the code for a different size of matrix?

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว

      At the top of the code there are some values for the X resolution and Y resolution. Changing those and increasing samples to 128 can allow for a larger grid

  • @wjgiles50
    @wjgiles50 4 ปีที่แล้ว

    Well done, again. Keep up the good work. Love your vids. So what will your next project be?

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว

      I haven’t decided yet but I think I’m going to try something with a diy touch screen.

    • @wjgiles50
      @wjgiles50 4 ปีที่แล้ว

      @@Tech-Random I was making fun of your board "What project should I do next?" But that's cool. Touch screens are still too expensive. I have an ole Kindle I been dreaming about using with arduino.

    • @wjgiles50
      @wjgiles50 4 ปีที่แล้ว

      How big a touch screen do you want to use. I would send y0u a kindle to use.

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว

      @@wjgiles50 Very kind but I want to try and build my own large scale touchscreen using IR light. I'm not sure how much work this will be and may end up caving and buying one off amazon though. I actually just got another suggestion that I'm going to build first so this build will probably be around the end of august!

  • @dandy9751
    @dandy9751 4 ปีที่แล้ว

    Good video I can't wait to see more

  • @1966Chuckles
    @1966Chuckles 4 ปีที่แล้ว

    I like this sound activated board. Looks great. For you next project I think you should do a round sound activated infinity mirror end table. Get the table from Facebook market place or one of the free give a way site. That would look good. Hope to hear my name called for the winner. Thanks again and keep up the great videos. You got this!!

  • @chathurafernando1299
    @chathurafernando1299 4 ปีที่แล้ว

    Make a WIRELESS VU meter like a pole.(At least 2 poles ) It will be awesome because you can place it where ever you want. Also can you do some projects with esp32/82666 !!! Btw your contents are awesome bro. Keep it up !! Subscribed ❤️💪 Much love from Sri Lanka 🇱🇰 ❤️

  • @djlogic937
    @djlogic937 4 ปีที่แล้ว

    Would a Nano work in place of the Uno?

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว +1

      Yes! I only used an uno for this because elegoo sent it to me. The clock speed might not be the same so your bars might move to different frequencies

  • @xXIBON3ZIXx
    @xXIBON3ZIXx 4 ปีที่แล้ว

    Im a new subscriber.
    You should make a smart mirror or a app controlled rgb display to individually select each light.

  •  4 ปีที่แล้ว

    amazing video!

  • @distraktor5538
    @distraktor5538 4 ปีที่แล้ว

    Are you powering 64 LEDs just with an Arduino UNO?

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว

      Yeah haha. The code caps each LED at 30% brightness so 64 * 0.5 * 0.3 is less than the 1 amp the arduino can output

    • @distraktor5538
      @distraktor5538 4 ปีที่แล้ว

      @@Tech-Random Ok, thanks.
      But even so, you should be aware that the Arduino has a max current output of only 40 mA per pin. I'd highly recommend an external power supply.

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว

      For some reason I thought each pin could do a full amp lol. Thanks for the tip!

  • @persianrogue4614
    @persianrogue4614 4 ปีที่แล้ว

    I'm surprised how it did ended up. How about you create video comparing broke Builds with legit one.for example Build nanoleaf with lowest budget possible but keep the good look🤦‍♂️ and then go crazy on creating one with all good stuff u can😁 I think it would become popular topic for your channel ✌

  • @thedabblingwarlock
    @thedabblingwarlock 4 ปีที่แล้ว +1

    Cool project. Have a sub. 😁

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว

      Thanks for the support!

  • @alessandrogiuliani2915
    @alessandrogiuliani2915 4 ปีที่แล้ว

    Marshmello helmet!

  • @ShocktorGaming
    @ShocktorGaming 4 ปีที่แล้ว

    Did anyone ever answer the question? The next project you are doing is updating your popular LED Wall.... though technically, you did a fire pit.
    EDIT: nevermind, I see your note that someone did answer -- I thought you gave the answer when you said you were updating your wall. :D

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว

      Sorry you missed this one. I’ll probably do another giveaway soon so look out for that

  • @jackboizxx
    @jackboizxx 4 ปีที่แล้ว

    yeeeeoooo where is new videos bro?

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว

      I got so busy with school I still haven’t finished the project I started in September. New video probably won’t be up until December

  • @samsixx7087
    @samsixx7087 4 ปีที่แล้ว +2

    Looks like it's not detecting highs, mids and lows correctly

    • @Tech-Random
      @Tech-Random  4 ปีที่แล้ว

      Shh we don’t talk about that....
      What’s actually happening is a miss use of the FFT arduino library. When I made this video I didn’t really understand how a Fourier transform worked so it’s only actually measuring the lows (20-300 Hz)

  • @djluispedradamaioba1353
    @djluispedradamaioba1353 3 ปีที่แล้ว

    muito bom

  • @PleaseWait...
    @PleaseWait... 3 ปีที่แล้ว

    Hi