Currently in the process of working on a ScaleKit in swift. Created with the intent of containing a database of scales, with the ability to play those scales.
- Create a scale, given a tonic and scale type.
- Traverse the notes of a scale in ascending, decending, and both.
- Play a given step of a scale.
- Favorite a scale.
- Name/save a custom scale.
- Transcribe a given scale.
- Search for a scale, given a description, steps, or type.
- Creating a pitch
- Compairing pitches
- Searching for a pitch
- Getting all pitches
- Getting pitches with id
- Getting pitches with description
- Creating a note
- Testing the MIDI value
- Testing the frequency
- Testing the english description
- Testing the musical description
- Getting all scale types
- Getting simmilar scale types
- Test calculated notes
Undecided
- Figure out how to use AudioKit with ScaleKit
- Other possible resources include AVFoundation, CoreMidi, and AVMIDIPlayer
Unknown
CoreData - Promising
Text
JSON
UserDefaults
Would have to allow all database classes to be saved in CoreData.
Some things that need to be saved include:
- Custom Name
- Binary Pattern
- Step Shifts
- Tonic???
- ScaleKit
- SKDatabase - Responsible for storing data
- SKRhythm
- SKTempo
- SKScale
- SKScaleType
- SKScaleCategory
- SKNote
- SKOctave
- SKPitch
- SKPitchType
- SKScaleType
- SKManager - Responsible for logic and sound
- Logic, possibly interactions with AudioKit
- SKDatabase - Responsible for storing data
Tasks | Completed |
---|---|
Database Class | No |
Pitch Class | Close |
Pitch Test | No |
Note Class | Close |
Note Test | No |
ScaleType Class | Close |
ScaleType Test | No |
Scale Class | No |
Scale Test | No |
Middleware Class | No |
AudioKit | No |
Cleaning | No |
Append "SK" to ScaleKit classes | No |