Skip to content

FYLSunghwan/react-native-pitch-tracker

Repository files navigation

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

About

React Native Pitch Tracker implemented with Tensorflow Lite

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published