🎼
swift-music
Introduction
swift-music is a swift package that provides an easy-to-use API for music related developments.
Currently available module:
- MusicTheory: Notes, chords, scales.
MusicTheory
import MusicTheory
Interval Arithmetic
Note.D - Note.E // Interval.m7
Create a Chord
// Create with notes contained.
let Esus4 = Chord(root: .E, [.E, .A, .B])
// Create with root and quality.
let Abm = Chord(root: .A_flat, quality: .minorTriad)
// Create with name need to be marked with the try! keyword.
let A7 = try! Chord("A7")
Get summary of a chord
A7.summary
// This is a chord named A7, with root note A, and component notes C#, E, G, which are
// respectively major third, perfect fifth, minor seventh above the root.
Is this chord in my scale?
try! Chord("Dbm").isIn(scale: .init(.B, .major)) // true
Other API
- Consonance and dissonance of interval, notes, or chord
- Checking if a note in a chord
- Create chord with both sharps and flats
- Create slash chords
- Support for 20+ chord qualities
- Support for 10+ modes (To be implemented)
Installation
Xcode Project
File - Add Packages - https://github.com/sh3l6orrr/swift-music.git
Swift Package Manager
Inside Package.swift, add the followings:
dependencies: [
.package(url: "https://github.com/sh3l6orrr/swift-music.git", .upToNextMajor(from: "1.0.0"))
]
targets: [
.target(
name: "YourTarget",
dependencies: [.product(name: "MusicTheory", package: "swift-music")]
)
]
Documentation
Documentation is contructed with DocC. To build, in Xcode:
Product - Build Documentation
License
This project is published under the Apache License 2.0.