react-native-pitch-tracker
TypeScript icon, indicating that this package has built-in type declarations

0.4.2 • Public • Published

react-native-pitch-tracker

NPM

React Native Pitch Tracker implemented with Tensorflow Lite Model

  • iOS/iPadOS Implementation
  • Android Implementation

Installation

npm install --save react-native-pitch-tracker react-native-permissions

Usage

Prerequisites (iOS/iPadOS)

  • First, Download this(Download Link : Onsets and Frames TFLite) Model.
  • After that, add this file to your XCode Project.
  • Double check that the file is successfully imported to project.
    • Check the .tflite model is in your Project File -> Build Phases -> Copy Bundle Resources
  • Open your project's Info.plist in XCode, and add NSMicrophoneUsageDescription row.
    • Or in other editor, add this row in the plist.
    <key>NSMicrophoneUsageDescription</key>
    <string>YOUR TEXT</string>
  • Open your project's Podfile and update with these lines.
target 'YourAwesomeProject' do
 
  # … 
 
  permissions_path = '../node_modules/react-native-permissions/ios'
 
  pod 'Permission-Microphone', :path => "#{permissions_path}/Microphone.podspec"
 
end

Prerequisites (Android)

  • Copy the downloaded file(tflite model) to {ProjDirectory}/android/app/src/main/assets.
  • After that, update the build.gradle
android {
 
    // …
 
    aaptOptions {
        noCompress "tflite"
    }
}

Usage in React Native Code

import PitchTracker from "react-native-pitch-tracker";
 
// ...
 
// Must do before start()  
PitchTracker.prepare()
 
// Event Subscription (Add function to parameter)
PitchTracker.noteOn((res) => {
    console.log('Note On: ' + res['midiNum']);
}); // Note On: 60
PitchTracker.noteOff((res) => {
    console.log('Note Off: ' + res['midiNum']);
}); // Note Off: 60
 
// Start PitchTracker Engine
PitchTracker.start()
 
// Stop PitchTracker Engine
PitchTracker.stop()

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT

Package Sidebar

Install

npm i react-native-pitch-tracker

Weekly Downloads

1

Version

0.4.2

License

MIT

Unpacked Size

1.29 MB

Total Files

220

Last publish

Collaborators

  • fylsunghwan