I'm a Computer Science Bsc (Hons) student at Newcastle University with a passion for bringing ideas into reality whether that be through code, art or music.
My current goal post graduation is to become a software engenieer as I feel thats where I can make most of my creativity, however, I am also exploring paths in data science and cyber security. For third year, I have chosen to take the DevOps, Distributed Sytems, Network and System Security and Data Analysis and Visualisation modules.
Outside of studies, I am a creative at heart, I love painting, DJing, and experimenting with music production. I enjoy combining my technical skills with my creative pursuits, often building project solving problems that I have with them.
What I'm currently working on right now is a web app that generates tablature from a user uploaded video or youtube video of them playing guitar. This solves my problem of loving to play very specifically brazilian jazz, but not knowing how to read sheet music or any music theory in that case. This will involve computer vision with hand tracking to verify that the tablature generated from pitch detection is correct, as with a guitar, the same note can be played in multiple different places across the fret board (one to many).
I am also working on a new personal portfolio website using libraries like GSAP and Three.js to show off more of my artistic intuition as this one is rather boring.
Spotify Music Finder
The Problem
When DJing, you spend 80% of the time finding and downloading music to play rather than actually DJing. This can be a tedious process as UIs like Spotify or Soundcloud aren't designed for DJs; they hide important metadata like key, bpm and record label. Services designed for DJs like beatport are expensive and have a limited library of music.
I saw this as an opportunity to build my own take on music discovery and learn how searching algorithms work.
My Solution
I developed a web application enabling users to discover music showing the metadata they need and with more searching algorithms whilst retaining the large music library of Spotify.
It works via the Spotify API and Playback SDK to utilise live playback and Spotify's large library. The Spotify API provides the valuable metadata which is normally hidden to the user. This metadata would be used to search for similar songs using algorithms like cosine similarity.
Reflection
However, when I was nearing the end of the project, Spotify depricated fundamental API endpoints that I used to get the metadata of songs. This was due to people abusing the TOS by using the API to train AIs and also due to Spotify a few months later releasing their own DJ tool called Spotify DJ.
At the time, my solution to this was to implement another external API being the Reccobeat API but their library wasn't merely as large as Spotify's. This taught me an important lesson of being weary of relying on external APIs for core functionality of your project as they can change or go down at any time.
Guitar Tabs Generator
Work in progress...