react-native-piano-sampler
v0.3.2
Published
React Native Piano Sampler : Reads sf2 with FluidSynth(on Android) or sfz with AudioKit(on iOS)
Downloads
9
Maintainers
Readme
react-native-piano-sampler
React Native Piano Sampler : Reads sf2 with FluidSynth(on Android) or sfz with AudioKit(on iOS)
- [x] iOS/iPadOS Implementation
- [x] Android Implementation
Installation
npm install --save react-native-piano-sampler
Usage
Prerequisites (iOS/iPadOS)
- 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
Prerequisites (Android)
- Download the soudfont(Full Grand Piano) and move to
{ProjDirectory}/android/app/src/main/assets
. - You are good to go :smile:
Usage in React Native Code
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);
Contributing
See the contributing guide to learn how to contribute to the repository and the development workflow.
License
MIT