HarmonyKit
生成音频频率的工具。
概述
首先你需要定义一个调谐设置
let setting = HarmonyKit.Setting(
pitch: 442,
scaleType: .equal,
rootTone: .C,
transpositionTone: .C,
octaveRange: 1..<2
)
然后
let harmonies = HarmonyKit.tune(setting: setting)
let sortedHarmonies = harmonies.sorted()
sortedHarmonies.forEach { print($0) }
// =>
// tone: A, octave: 1, frequency: 55.25
// tone: Bb, octave: 1, frequency: 58.5353
// tone: B, octave: 1, frequency: 62.016
// tone: C, octave: 1, frequency: 32.8518
// tone: Db, octave: 1, frequency: 34.8053
// tone: D, octave: 1, frequency: 36.875
// tone: Eb, octave: 1, frequency: 39.0676
// tone: E, octave: 1, frequency: 41.3907
// tone: F, octave: 1, frequency: 43.852
// tone: Gb, octave: 1, frequency: 46.4595
// tone: G, octave: 1, frequency: 49.2222
// tone: Ab, octave: 1, frequency: 52.1491
如果你为 scaleType
特定 .pureMajor
sortedHarmonies.forEach { print($0) }
// =>
// tone: A, octave: 1, frequency: 54.7544
// tone: Bb, octave: 1, frequency: 59.1335
// tone: B, octave: 1, frequency: 61.5983
// tone: C, octave: 1, frequency: 32.8518
// tone: Db, octave: 1, frequency: 34.2212
// tone: D, octave: 1, frequency: 36.9581
// tone: Eb, octave: 1, frequency: 39.4213
// tone: E, octave: 1, frequency: 41.0645
// tone: F, octave: 1, frequency: 43.8013
// tone: Gb, octave: 1, frequency: 45.6271
// tone: G, octave: 1, frequency: 49.2791
// tone: Ab, octave: 1, frequency: 51.3302
.pureMinor
:
sortedHarmonies.forEach { print($0) }
// =>
// tone: A, octave: 1, frequency: 54.7544
// tone: Bb, octave: 1, frequency: 59.1335
// tone: B, octave: 1, frequency: 61.5983
// tone: C, octave: 1, frequency: 32.8518
// tone: Db, octave: 1, frequency: 35.4792
// tone: D, octave: 1, frequency: 36.9581
// tone: Eb, octave: 1, frequency: 39.4213
// tone: E, octave: 1, frequency: 41.0645
// tone: F, octave: 1, frequency: 43.8013
// tone: Gb, octave: 1, frequency: 47.3071
// tone: G, octave: 1, frequency: 49.2791
// tone: Ab, octave: 1, frequency: 52.5634
安装
HarmonyKit 可通过CocoaPods 获取。要安装它,简单地将以下行添加到您的 Podfile 中
pod "HarmonyKit"
示例
查看 Tests/HarmonyKitTests/HarmonyKitTests.swift
。
作者
shingt
许可
HarmonyKit可遵循MIT许可证。有关更多信息,请参阅LICENSE文件。