Popularity
5.8
Stable
Activity
0.0
Stable
606
25
49
Code Quality Rank:
L4
Programming language: Swift
License: MIT License
Latest version: v0.3
MusicKit alternatives and similar libraries
Based on the "Audio" category.
Alternatively, view MusicKit alternatives based on common mentions on social networks and blogs.
-
EZAudio
An iOS and macOS audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations. -
PandoraPlayer
🅿️ PandoraPlayer is a lightweight music player for iOS, based on AudioKit and completely written in Swift. -
AudioPlayer
AudioPlayer is syntax and feature sugar over AVPlayer. It plays your audio files (local & remote). -
IQAudioRecorderController
A drop-in universal library allows to record audio within the app with a nice User Interface. -
TheAmazingAudioEngine2
The Amazing Audio Engine is a sophisticated framework for iOS audio applications, built so you don't have to.
WorkOS - The modern identity platform for B2B SaaS
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Promo
workos.com
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of MusicKit or a related project?
README
MusicKit
MusicKit is a framework and DSL for creating, analyzing, and transforming music in Swift.
Examples
Functional harmony
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]
Chord recognition
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 I/O
let midi = MIDI(name: "WholetoneClusters")
midi.noteHandler = { messages in
if let first = messages.first {
midi.send([first, first.transpose(2), first.transpose(3)])
}
}