Skip to content

shingt/HarmonyKit

Repository files navigation

HarmonyKit

CI Status iOS 12.0+ Swift 5.0

Tool to generate audio frequencies.

Synopsis

let notes = HarmonyKit.tune(
    configuration: .init(
        temperament: .equal,
        pitch: 442,
        transpositionTone: .C,
        octaveRange: 1..<2
    )
)
notes.forEach { print($0) }

// =>
// tone: E, octave: 1, frequency: 41.390736
// tone: F, octave: 1, frequency: 43.851955
// tone: B♭, octave: 1, frequency: 58.53534
// tone: G♭, octave: 1, frequency: 46.459526
// tone: A♭, octave: 1, frequency: 52.149055
// tone: E♭, octave: 1, frequency: 39.06765
// tone: C, octave: 1, frequency: 32.851845
// tone: B, octave: 1, frequency: 62.016026
// tone: D, octave: 1, frequency: 36.87495
// tone: G, octave: 1, frequency: 49.222153
// tone: A, octave: 1, frequency: 55.25
// tone: D♭, octave: 1, frequency: 34.80532

You can also specify pure temperament:

let pureMajorNotes = HarmonyKit.tune(
    configuration: .init(
        temperament: .pure(.major, rootTone: .C),
        pitch: 442,
        transpositionTone: .C,
        octaveRange: 1..<2
    )
)

let pureMinorNotes = HarmonyKit.tune(
    configuration: .init(
        temperament: .pure(.minor, rootTone: .C),
        pitch: 442,
        transpositionTone: .C,
        octaveRange: 1..<2
    )
)

Installation

HarmonyKit is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "HarmonyKit"

Example

See Tests/HarmonyKitTests/HarmonyKitTests.swift.

Author

shingt

License

HarmonyKit is available under the MIT license. See the LICENSE file for more info.

About

Tool to generate harmony in audio frequencies in Swift.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published