The Ultimate Guide to Piano LED (Step by Step Full Tutorial)

Поділитися
Вставка
  • Опубліковано 23 лип 2024
  • In this tutorial, learn how to create captivating LED visualizations that synchronize with your piano playing. Watch as we guide you through the step-by-step process of integrating LEDs with your piano using an Arduino Due microcontroller. Links to materials down below.
    Discover how to capture the piano's input, whether through MIDI or audio, and process it to control the LED behavior. We'll explore different techniques to make the LEDs react to the intensity, pitch, or other parameters of the notes played on the piano.
    No prior electronics or programming experience is required. We'll explain the concepts in a beginner-friendly manner, making it easy for anyone to follow along and create their own mesmerizing piano-LED light show.
    Free Sheet Music Download: linktr.ee/clearliu
    Table of Contents
    0:00 Intro
    1:04 The Process
    3:56 Microcontroller Explained
    4:18 Arduino Selection
    8:05 Rasperberry Pi should you get it?
    9:38 Adruino or Raspberry Pi
    10:05 Buying LED Light Strip
    15:03 Buying Arduino
    16:31 Buying Dupont Wires (M-M)
    17:49 Extra Things
    18:20 Buying Midi Cable
    18:50 Material List
    18:56 Unboxing Items
    20:56 Connecting LED to Arduino
    22:42 Installing FREE Software on PC
    28:35 Setting Up Lights onto Piano
    32:24 Demo
    The only download link you will need
    github.com/serifpersia/pianol...
    Don't forget to like, comment, and subscribe to our channel for more tutorials and creative projects.
    Materials used in this tutorial:
    - WS2812B LED Strips 144 LEDS 2m
    - Arduino Uno, Leonardo, or Due microcontroller
    - MIDI to USB cable (or audio-to-MIDI converter)
    - Dupont/Jumper wires
    - USB Extender (optional)
    QUICK disclaimer, when you buy an LED strip that is 144, make sure to get a Leonardo or Due as your microcontroller to have the sufficient processing power. Using Uno for 144 will cause a noticeable delay.
    I recommend these instead:
    - WS2812B LED Strips 144 LEDS 2m
    - Arduino Leonardo
    - MIDI to USB cable (or audio-to-MIDI converter)
    - Dupont/Jumper wires
    Recommended links to get the materials you need
    Arduino UNO - amzn.to/44qAsBc
    Arduino LEONDARDO - amzn.to/3NR9H1S
    Arduino DUE - amzn.to/3pLRquP
    LED Strip - amzn.to/3DlgziR
    Dupont Wires - amzn.to/3DaWlsl
    USB Extender - amzn.to/3rpJYG5
    Midi Cable (older) - amzn.to/3PRhOxY
    Midi Cable (newer) - amzn.to/44FOrDv
    Micro USB - amzn.to/46JKQWp
    USB A/B - amzn.to/44FOrDv
    ▼ Socials
    Instagram: / klearliu
    TikTok: / klearliu
    Threads: klearliu
    UA-cam: ‪@klearliu‬
    ▼ Gears
    Yamaha DGX-660
    Insta360 Link
    Adobe Premiere Pro
    Tracktion Waveform
    SeeMusic
    #PianoLEDReaction #LEDVisualization #ArduinoTutorial #MusicProjects
  • Наука та технологія

КОМЕНТАРІ • 50

  • @user-xo8yc5jd4w
    @user-xo8yc5jd4w 4 місяці тому

    the best tutorial !!

  • @Star..._
    @Star..._ 11 місяців тому

    Beautifully explained. Thank you and God bless you

    • @klearliu
      @klearliu  11 місяців тому

      You are very welcome. Hopefully my 3hr diagrams was a masterpiece in your eyes :)

  • @tiokaiba266
    @tiokaiba266 14 днів тому +1

    I went for the DUE and I'm REALLY upset, sometimes the key even light up and sometimes the light freezes and I need to hit again to lights fade out, what am I doing wrong?

  • @GabrielPiano1
    @GabrielPiano1 3 місяці тому +1

    how are you recording the midi??? to make the falling notes

  • @derfabian3377
    @derfabian3377 6 місяців тому

    very nice thx but i got a question. I did everythin exactly like you and when i was finished I was trying to play the keyboard and the lights didnt light up. i have to press one key multiple times to light it up and when they light up, they stay and wont go away, idk why pls help

  • @Chinziano
    @Chinziano 4 місяці тому +3

    how much it totally costs?

  • @shanshannon2010
    @shanshannon2010 3 місяці тому +1

    COME ON GET 50K LIKES!!

  • @hagopjozakian4491
    @hagopjozakian4491 2 місяці тому

    If you play a midi file in the laptop do the LEDs light too?

  • @kmusical00
    @kmusical00 4 місяці тому +3

    Your way of explaining is great! I have installed it and its working! Could you please answer that since the leds are powered through usb port can we supply additional power supply to the board by also connecting a micro usb to the other port or powering it through the DC 5V port because it seems to flicker when used in high brightness. THANKYOU!

    • @eduardogonzajose50
      @eduardogonzajose50 4 місяці тому

      Got a question how do u line up the lights to the note if the lights are all of the place for 88 keys or does it have to be 144 led per m

    • @kmusical00
      @kmusical00 4 місяці тому

      @@eduardogonzajose50 I am using 144 led per meter in my yamaha dgx 670 and have placed it where the keys starts (simply using double tape of the rgb strip). As mentioned in the video, after installing the drivers, software itself calibrate the lights).
      You can also check in the link that he has provided in the description.

    • @eduardogonzajose50
      @eduardogonzajose50 3 місяці тому

      ​@@kmusical00got another question thanks ,can I see how u setup your code or how many led you control because my flicks out

    • @kmusical00
      @kmusical00 3 місяці тому

      @@eduardogonzajose50 According to me, your lights are flickering because of low power supply. I personally have attached a mobile charging adapter(5v 3A) to the strip and changed the value of maximum current to 3A in Arduino controller software. Info. regarding it is published in the github link provided in the description.
      By the way, if you want photos of the setup you can mention your insta id if you are comfortable to do so.

    • @GabrielPiano1
      @GabrielPiano1 3 місяці тому +1

      Heyyy!!!! Is your LED still working today? I'm going to create mine this week

  • @PianistOFlores
    @PianistOFlores 11 місяців тому

    Hi, thank you for your tutorial, it helps a lot, I just have a question about how the led turns on. On your example multiple leds turns on and not only the led below the key. I thought it was because of smaller led strips but I have seen other videos using also 144 and only turning on the leds under key playing. The difference I have seen is that other videos use Raspberry, could be that the reason?

    • @klearliu
      @klearliu  11 місяців тому

      The LEDs power on through the connected micro USB, so there is no need for additional power
      For the demo I went to the software settings>LED Mode>Splash. That's the reason why there are additional lights surrounding the keys being played. By changing the LED mode, you can adjust it so it only lights up the key you play.
      Pi and Arduino (for this project's extent) does not matter. It's just a software that made the LED pattern like that.

    • @PianistOFlores
      @PianistOFlores 11 місяців тому

      @@klearliu Thank you very much! I appreciate your respond!

  • @Tombt_1
    @Tombt_1 11 місяців тому

    is there a way to do this on an acoustic piano? i know it sounds stupid but like surely someone out there has done some touch sensitive thingy idk

    • @klearliu
      @klearliu  11 місяців тому

      LOL actually there is.
      One thing that comes to mind is to use:
      Piezoelectric sensors or contact microphones
      Attach the sensors to the analog input pins on the Arduino board. Each sensor or contact will represent a piano key and generate an analog voltage. Then we can light the matching LEDs.

  • @sweillerYT
    @sweillerYT 8 місяців тому

    Hi,
    I like you and your video ... Very kind !
    Would be nice without PC BTW :)
    Take care !

    • @klearliu
      @klearliu  8 місяців тому

      After reading that comment, I believe I am forced to take care :D. Truly would be but sadly arduino is only a micro controller (no OS support) t.t

  • @tmhpiano
    @tmhpiano 3 місяці тому

    Where are your covers? :(
    Great video tho

  • @djemtheman0588
    @djemtheman0588 7 місяців тому

    Hey is it possible to link my arduino due to my keyboard after I put the code on it. So that I dont have to use my computer all the time and use a 5V power supply

    • @klearliu
      @klearliu  7 місяців тому +1

      Once the code is uploaded onto the Arduino board using a computer, it can operate independently without needing to be connected. To replace the PC of the project, we will need an extension for the Arduino to recognize USB input.
      Sadly, the Arduino Due cannot independently handle computations for the lights and piano inputs.
      Directly interfacing a MIDI keyboard with an Arduino through USB can be complex because most MIDI keyboards use USB for communication and require a host device (meaning a computer) to interpret the MIDI signals. Arduinos, in terms of piano, need help to handle that.
      Some devices were researched prior to this build to make it without a computer:
      - MIDI Shield
      - USB Host Shield
      The program heavily relies on the computer to interpret the MIDI signals, leading to the discontinuation of the plan. Hopefully, mentioning something about using MIDI and USB Host shields in this reply will inspire a solution.

    • @djemtheman0588
      @djemtheman0588 7 місяців тому

      Oke thanks for the reaction.
      Btw didnt you have issue's with using the app and led's that hang if you dont use splash mode. If so I know a sollution for the due

    • @klearliu
      @klearliu  7 місяців тому

      Splash mode is my favourite do tell :)

    • @djemtheman0588
      @djemtheman0588 7 місяців тому

      @klearliu I understand but dont you have a problem with the other modes. Were the led's hang?

    • @GabrielPiano1
      @GabrielPiano1 3 місяці тому

      @@djemtheman0588 how are you recording the midi??? to make the falling notes

  • @silv3rgotsaved
    @silv3rgotsaved 4 місяці тому

    I need help. I got mixed up because when I tried to upload on the Arduino IDE it says, "Failed uploading: no upload port provided." I tried looking up the error message and it just says that either my Arduino isn't plugged in or I haven't selected it on the top left corner of the Arduino IDE. I have done both of those things and I now have no idea what to do.
    Edit: Nevermind I got it :)

    • @GabrielPiano1
      @GabrielPiano1 3 місяці тому

      how are you recording the midi??? to make the falling notes

    • @silv3rgotsaved
      @silv3rgotsaved 3 місяці тому

      @@GabrielPiano1 Are you asking how I record something with falling notes onto the piano?

  • @GabrielPiano1
    @GabrielPiano1 3 місяці тому +1

    You are god bro! ❤

  • @EmanuelRosado_official
    @EmanuelRosado_official Місяць тому

    Help! I have a problem :(
    I made all of the steps correctly, but when I press a key of my piano, the lights continue ON...
    I use
    -Arduino Uno
    -Keyboard Casio CTK-3500
    -LED ws2812b+144 5050 RGB (3.2FT)

    • @MiyuCols
      @MiyuCols Місяць тому

      It could be that your fade settings are at zero. What version does your pianoLUX environment say? for example v4.3.6

    • @MiyuCols
      @MiyuCols Місяць тому

      First try adjusting the Fade slider to halfway and see if it works. Also sometimes the program could crash so just close the connection and reupload the arduino code. It may help.

    • @EmanuelRosado_official
      @EmanuelRosado_official Місяць тому

      @@MiyuCols well, first I tried PianoLux v4.1.3 (as the tutorial), and I thought that the error was by the .exe ( an "old" version) so I upgraded it to the latest version and modify the the Arduino Code...but I had the same error.
      I decided to read for more in the official website and I see that the error wasn't in the software, 'cuz it could be in the Arduino or the lights, but I think that it's by the lights (I use 3.2FT of light for a 61-keys piano, not for 88)

    • @MiyuCols
      @MiyuCols Місяць тому

      @@EmanuelRosado_official ​ @aemanuelrosado6763 It does seem like it might be the Arduino uno if you are having compiling errors. I recently tried using an arduino uno (although it is a clone arduino rather than official). It seems like the processor for the microcontroller might not be enough to handle FastLED. I use the arduino uno r4 wifi and it works fine with only a few extra steps including having to port FastLED from github. Try running the code I provided below in a new Arduino sketch and see if it works or not over a long runtime (youtube is being weird though I'm not sure if it will let me paste it):

    • @MiyuCols
      @MiyuCols Місяць тому +2

      It does seem like it might be the Arduino uno if you are having compiling errors. I recently tried using an arduino uno (although it is a clone arduino rather than official). It seems like the processor for the microcontroller might not be enough to handle FastLED. I use the arduino uno r4 wifi and it works fine with only a few extra steps including having to port FastLED from github. Try running the code I provided below in a new Arduino sketch and see if it works or not over a long runtime:
      //debug test for WS2812B led strip
      #include
      //blue light should turn on for half a second at the beginning of the loop
      //the green and red light switch positions
      //Code provided by Miyu Cols
      #define LED_PIN 5
      #define MAX_NUM_LEDS 160 //how many leds you have (change as needed) must be > than 30
      int NUM_LEDS = MAX_NUM_LEDS; //the distance space filled with white led
      CRGB leds[MAX_NUM_LEDS];
      void setup() {
      FastLED.addLeds(leds, NUM_LEDS);
      FastLED.clear();
      FastLED.show();
      }
      int j;
      int whiteFill = 20;
      void loop() {
      j = NUM_LEDS;
      leds[30] = CRGB(0, 0, 50);
      FastLED.show();
      delay(500);
      for (int i = whiteFill; i < NUM_LEDS; i++) {
      FastLED.clear();
      for (int k = 0; k < whiteFill; k++) {
      leds[k] = CRGB(10, 10, 10); // this will be a dim white light
      }
      j--;
      leds[j] = CRGB(0, 255, 0);
      leds[i] = CRGB(255, 0, 0);
      FastLED.show();
      delay(10);
      }
      }

  • @jopiano
    @jopiano 5 місяців тому

    piano keys -> 72 keys/m *2 -> 144 so 2 leds/key

  • @GabrielPiano1
    @GabrielPiano1 3 місяці тому

    how are you recording the midi??? to make the falling notes