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.