React Native Piano Sampler : Reads sf2 with FluidSynth(on Android) or sfz with AudioKit(on iOS)
- iOS/iPadOS Implementation
- Android Implementation
npm install --save react-native-piano-sampler
- First, Download this(Upright Piano KW) soundfont. And unarchive as
UprightPianoKW-SFZ-20190703
.- The Folder structure must be like this.
UprightPianoKW-SFZ-20190703 ├── photo.jpg ├── readme.txt ├── samples │ ├── A0vH.wav │ └── A0vL.wav │ ... └── UprightPianoKW-20190703.sfz
- After that, add this folder to your XCode Project.
- Double check that the folder is successfully imported to project.
- Check the
UprightPianoKW-SFZ-20190703
folder is in yourProject File -> Build Phases -> Copy Bundle Resources
- Check the
- Goto
Project File -> Signing & Capabilities
, then press the+ Capability
button below the tab menu, and press Background Modes. Check theAudio, AirPlay, and Picture in Picture
checkbox. - Goto the iOS project folder, and do
pod install
- Download the soudfont(Full Grand Piano) and move to
{ProjDirectory}/android/app/src/main/assets
. - You are good to go 😄
import PianoSampler from "react-native-piano-sampler";
// ...
// Must do before playNote(), and stopNote()
PianoSampler.prepare();
// Play the piano sound from selected midiNum, and velocity until stopNote() is call.
// midiNum is midi Number, and velocity is the intensity.
PianoSampler.playNote(midiNum, velocity);
// Stop the pian sound
PianoSampler.stopNote(midiNum);
// Set Volume 0~1.0
PianoSampler.setVolume(0.5);
See the contributing guide to learn how to contribute to the repository and the development workflow.
MIT