A audio visualizer for ukuleles
Switch branches/tags
Nothing to show
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
hoike-body final code with USART with atmega1284 Mar 15, 2018
hoike-main Adding demo code Mar 15, 2018
LICENSE Initial commit Feb 27, 2018
ProjectProposal.pdf adding project proposal Mar 15, 2018
README.md Adding youtube thumbnail Mar 16, 2018

README.md

Hoike

A audio visualizer and teaching tool for the ukulele. Hōkū is Hawaiian for display.

Hoike Logo

Hoike

YouTube Demo

Hoike turns your analog ukulele into a audio visualizer and learning tool. With LED strips attached to the neck and body of the ukulele, you'll be able introduce a light show to your acoustic melodies.

Visualization Mode

Hoike reads in the current audio with a microphone and will produce a hash that gets interpretted as a HEX value for the LED strip. This will ensure that each string/chord can produce a unique and repeatable color. Below are a few examples of the recorded audio spectrum:

G String

G String

C Chord

C Chord

Training Mode

Hoike also teaches the user how to play the Ukulele. With pre-programmed songs, Hoike will walk the user through how to play different chords. The LEDs will light up under the fret where the user has to put their fingers.

Training Simulation

Parts List

Pinout

Pinout

Software

State Machine

Complexities

Completed Complexities:

  • Hash function to map sound to red, blue, green, and brightness values
  • USART between the atmega 1284 and Arduino Uno
  • Used the LCD screen to act as a menu and provide user information
  • Using EEPROM to store the position of learning mode. THis way the user doesn't have to skip forward to go back to where they left off.

Incomplete Complexities:

  • Addressing individual LEDs on the LED strip

Known Bugs and Shortcomings

  • Some LEDs in the fret board were blown while testing so many chord combinations cannot be shown
    • Can be fixed by using the correct resistors and rewiring
  • LED strip sometimes does not turn off after switching from visualization mode to home
    • Need to send zero'd values before switching from visualization mode to home mode over USART
  • Microphone input has a lot of noise, even in a quiet room the lights still react
    • Read in a baseline value (most likely in amplitude) and only visualize the difference between the baseline and the current amplitude

Future Work

  • Making the wiring nicer and more compact so the Ukulele can be portable
  • Adding a tuner, lights will be red if you're flat, blue if you're sharp, and green if you're in tune