The PitchSpeller module contains work toward a flexible pitch spelling algorithm, as formalized in my Harvard undegrad thesis. This project aims to take unspelled pitch information (e.g., MIDI note numbers), and produce optimal spelled versions of them, given the musical context and user preference.
PitchSpeller builds off of the dn-m ecosystem making use of the musical, notational and algebraic structures defined in dn-m/Music, dn-m/NotationModel and dn-m/Structure.
Work on this package requires Swift 5.0.
Clone the repo.
git clone https://github.com/bwetherfield/PitchSpellerDive inside.
cd PitchSpellerAsk Swift Package Manager to update dependencies (all are dn-m).
swift package updateCompiles code and runs tests in terminal.
swift testAsk Swift Package Manager to generate a nice Xcode project.
swift package generate-xcodeprojOpen it up.
open PitchSpeller.xcodeproj/