PitchPal
My partner(Thomas Mahok) and I designed and prototpyed PitchPal, digital tuning device which provides real time, adaptive feed, for musicians and vocalist.
Project Features
Pitch Feedback:
- PitchPal is able to give real time feedback about a person pitch accuracy
Note Identification:
- PitchPal is able to listen real world audio, and identify what pitch is being played
Audio feedback:
- PitchPal is able to play notes to give a user a refrence point for the practice
Problem Statement:
To develop a user friendly device to assist musicians at all skill levels by providing a reference pitch and feedback on their accuracy, addressing the challenges of traditional ear tuning, especially in the context of internet-based music recording where precise pitch alignment is crucial.
The Codebase
Out codebase can be found here. We followed declarative and state design principles when creating out project.
Our project consists of 3 main file:
- Main.cpp
- Input.cpp
- Output.cpp
With relevant header files, as well as header files to store constant values.
Project Breakdown
Our prototype consited of a mutliplexer which was able to convert 16 buttons into a 4 pin input. We also incorperated a speaker, microphone, and LCD screen
Challenges and Learning outcomes
Developing an interactive and visual user interface turned out to be more time-consuming than initially anticipated. Additionally, memory constraints posed several challenges, prompting us to optimize some of our more data-intensive calculations and handling. Debugging optimization issues consumed a significant portion of our time, overshadowing the actual coding process.
In the course of this project, we delved into audio processing and music theory to meet our objectives. Beyond technical skills, we discovered the value of friendship and teamwork, realizing their profound impact on our collaborative efforts.
-T J Scholtz