BAR HARBOR — In his final two years in high school, Mount Desert Island High School trumpet player Devin Christianson went from computer programming novice to award-winning mobile device application creator.
His Chord Calculator app was the second-place winner out of more than 20 entries in the Blue Ox Challenge, a competition for high school app developers sponsored by the Caribou-based tech company of the same name.
The music theory app plays basic chords and shows the notes they contain. Users choose the root, or tonic note, and whether they want a major, minor, dominant, diminished, half-diminished or augmented chord.
The notation shows the notes in sequence, not stacked together as a chord, to make the notes easier to read for musicians who play one-note-at-a-time instruments like the trumpet. But the app’s audio plays all the notes in the chord together.
A statement from Blue Ox praised the app’s “streamlined approach to solving a problem for beginner students.”
“It’s designed for beginners,” Christianson said. “Once you know this stuff, you don’t have to do the calculations in your head to figure out the chord. But for people who aren’t there yet, there’s a lot to remember. This can help you check your work.”
He has been playing the trumpet since fifth grade. But computer programming is still relatively new to him. He took the class Exploring Computer Science at MDIHS his junior year and progressed to AP Computer Science this past fall. Both are taught by Megan McOsker, who also coaches the high school robotics team.
McOsker has introduced and expanded the program at MDI in recent years. Only 20 schools in Maine offered the AP Computer Science course in the 2015-2016 school year, according to advocacy organization Code.org. 165 students took the AP exam last spring, 23 of whom were female.
“I always liked math,” he said, “and programming tied in with that. It’s all a big logic problem, and it made sense to me.”
His computer science classes focused on the classic programming language C, but he built this app in Swift, which is the language developed by Apple for use with iOS and MacOS systems. He used an external module called “Audio Kit” to interact with the device’s audio system.
Christianson developed the app as his Senior Ex project, with Apple education specialist Tim Hart serving as his mentor.
The technical challenges in the project were a good education in music theory, he said, though he has never formally studied it.
He decided to program the audio using “pure tuning ratios” rather than “equal temperament,” meaning the code identified the root of the chord and played the other notes by calculating the interval between them (four half steps in a major third, for example).
He found that sounded better than telling the program the “names” of the two notes to play.
Then there was the problem of “enharmonics,” different names for the same note on the keyboard, like C sharp and D flat. Some diminished or augmented chords even have double sharps or flats, which moves the note all the way to the next letter, but to stay in the correct key signature, they’re better notated with the double accidental.
Christianson plans to attend the University of Maine in Orono in the fall and continue studying computer science. He also hopes to stay involved in music programs there, such as the college’s pep and jazz bands.