I've always wanted to be able to do improve of the piano, and I think if I had perfect pitch that'd be a whole lot easier to do than just knowing chord progressions, so I thought this would be a good tool to help me toward this goal

What it does

It's mostly a guessing game. The App calls the wolfram API to get a MIDI key, as well as the note and octave the key belongs to. From there, I have a MIDI sampler that was made with AVFoundation, and a lot of googling. You then tap the staff to hear the Note, and guess away.

How I built it

I used mostly Apple's stack, and I used wolfram to get information on each note. I also used a lot of caffeine.

Challenges I ran into

I couldn't think of what to work on until Saturday so time was a challenge, and I was way passed finding a group so working alone was also kind of daunting. Also, parsing JSON with swift was a lot harder than I thought it would be (I should've looked for a framework).

What I learned

  • Wolfram API calls
  • Parsing JSON
  • AVFoundation and using MIDI with Apple
  • Async with iOS
  • App Transport Security
  • Labels need strong outlets if you want to change them.

What's next for pitch-trainer

First I'd like to add support for Sharp/Flat keys. I'd also like to add support for Chords. There is also a lot of cleaning up that needs to be done in the code base, it's a mess.

Share this project: