Our only real “last minute” hardware change was our Bluetooth chip. The new (only recently available) chip will be able to support BT 5.0 in the future. We redesigned the command protocol from the first chip (could only do ~50 commands per second) to the new chip which supports up to 1,500 commands per second. A huge performance upgrade!
MIDI File System
While MIDI widely accepted and implemented, its structure can vary wildly from author to author. This forced us to normalize the details to find a universal solution. We built a general purpose transcoder, which is flexible enough to handle and to standardize dozens of different “styles” of MIDI authorship.
We had to approach music from a purely technical and mathematical standpoint. MIDI uses integers (0-128) to denote musical notes and almost every single note can be played from different locations on the guitar. We constructed an algorithm which generates and analyzes all combinations of the song. Progressively, this algorithm prunes bad paths until a clear winner is decided.
Example Note Locations (Source: https://144notes.org/#)
We will allow users to begin uploading their own MIDI files through our website once the app is live and will support composition and editing in the app in a future update.
We want Fret Zealot to grow into being a visual “Swiss-Army Knife” for guitar players old and new. To do this, we needed a massive dataset. We started with 17 of the most popular chord types (e.g. Major, sus, dim ,etc), playable for any root note, with multiple optional voicings for each chord. Not bad- that gives us around 600 chords in the standard tuning, which is on par with most existing datasets. However, we’re going to include support for 59 Alternate guitar tunings. That means we’re going to have somewhere around 36,000 chords displayable in the app.
We’ve since been hard at work expanding what the Fret Zealot app can do and will be introducing alternate voicings, arpeggios, the circle of fifths, and much, much more!