An iOS piano keyboard view for iPhone or iPad, written in Swift 5.
Has an IBDesignable preview in interface builder with IBInspectable properties for:
Other features
All images are drawn using Core Graphics.
To use via CocoaPods, add the following line to your Podfile:
pod 'PianoKeyboard'
With Xcode 11+ you can add PianoKeyboard to your project using the Swift Package Manager. From the File menu select Swift Packages and then select Add Package Dependency. A dialogue then will request the package repository URL, enter:
https://github.com/garynewby/PianoKeyboard.git
The Example app demonstrates how to integrate and use PianoKeyboard in your project. It includes a simple AVAudioEngine/AVAudioUnitSampler based sound source.
func pianoKeyDown(_ keyNumber: Int) {
// Called when the key corresponding to midi number keyNumber is pressed
}
func pianoKeyUp(_ keyNumber: Int) {
// Called when the key corresponding to midi number keyNumber is released
}
Swift
A key’s label must be assigned a value for it to show:
keyboard.setLabel(for: 60, text: "Do")
keyboard.setLabel(for: 62, text: "Re")
keyboard.setLabel(for: 64, text: "Mi")
for noteNumber in 65...72 {
keyboard.setLabel(for: noteNumber, text: Note.name(for: noteNumber))
}
Author: Gary Newby
GitHub: http://github.com/garynewby/PianoKeyboard
#piano keyboard #audio #swift #ios #mobile-apps