MusicKit 0.2.0

MusicKit 0.2.0

测试已测试
语言语言 SwiftSwift
许可 MIT
发布最后发布2015 年 9 月
SPM支持 SPM

Ben Guo 维护。



MusicKit 0.2.0

  • Ben Guo

MusicKit

MusicKit 是一个用于在 Swift 中创建、分析和转换音乐的框架和 DSL。

示例

功能性和声

let C5 = Pitch(midi: 72)
let neapolitan = Major.bII
print(neapolitan(C5))               // [C♯5, E♯5, G♯5]
let G4 = Chroma.G*4
let plagalCadence = [Major.IV, Major.I]
print(plagalCadence * G4)           // [[C5, E5, G5], [G4, B4, D5]]
let V7ofV = HarmonicFunction.create(Scale.Major, degree: 5, chord: Major.V7)
print(V7ofV(C5))                    // [D6, F♯6, A6, C7]

和弦识别

let pitchSet: PitchSet = [Chroma.B*0, Chroma.Cs*2, Chroma.F*3, Chroma.G*4]
print(Chord.name(pitchSet))        // G7♭5/B
let descriptor = Chord.descriptor(pitchSet)
print(descriptor)                  // root: G, quality: 7♭5, bass: B

MIDI 输入/输出

let midi = MIDI(name: "WholetoneClusters")
midi.noteHandler = { messages in
    if let first = messages.first {
        midi.send([first, first.transpose(2), first.transpose(3)])
    }
}

框架概述