Inspiration

Our friend Chris is a pretty epic guitarist. So we made C.H.R.I.S. to help him and guitar players like him practice and play better.

What it does

C.H.R.I.S. takes in a guitar tab (as a .txt file) and BPM (integer value) specified by the user, and presents the tab to them as they play through it. The user is then scored on their overall accuracy through the song. It is currently still a prototype.

How we built it

We used Python to develop C.H.R.I.S.

Challenges we ran into

  • The greatest challenge that we faced was figuring out how to turn audio files into a frequency that we could then represent as a 'note' on the guitar.
  • We also struggled with determining how to score and evaluate users; namely, should we record the user's notes in tab format and compare the two files at the end, or should we evaluate the user's performance as they go through? We ended up selecting the latter option.

Accomplishments that we're proud of

We're super proud of our 1 A.M. breakthrough regarding how to transduce live audio signals into frequency values.

What we learned

We're all first-time hackers with varying levels of programming knowledge, so HackWestern was a new experience for all of us. One specific skill that we learned was working with Python libraries (matplotlib, scipy, etc.),

What's next for C.H.R.I.S. (Cycling Human Readable Instrumental Score)

  • Personalized Feedback: We hope to score users as they use C.H.R.I.S., so that they can receive specific feedback on the sections of the song that they performed more poorly on.
  • Further Gamification: To gamify C.H.R.I.S., we would allow users to track their progress over time for each song, and provide rewards as users engaged with C.H.R.I.S. and improved their scores.
  • Improving Note Recognition: The current version of C.H.R.I.S. uses a relatively unsophisticated method of recognizing notes. A future update would fine-tune this process to make C.H.R.I.S. better at recognizing chords and other multi-note combinations.

Built With

Share this project:

Updates