New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

react-native-fft-frequency

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-native-fft-frequency

A powerful and efficient React Native library for real-time audio frequency analysis using Fast Fourier Transform (FFT). Ideal for audio visualization, spectrum analyzers, and music applications.

latest
Source
npmnpm
Version
1.0.6
Version published
Maintainers
1
Created
Source

React Native FFT Frequency

A React Native library for real-time audio frequency detection using Fast Fourier Transform (FFT). This native module provides efficient frequency analysis capabilities for both Android and iOS platforms.

Features

  • Real-time audio frequency detection
  • Configurable FFT parameters
  • High-performance native implementation
  • Easy-to-use React Native hooks
  • Support for both Android and iOS
  • Customizable frequency range and sensitivity

Installation

npm install react-native-fft-frequency
# or
yarn add react-native-fft-frequency

iOS Setup

Add the following to your Podfile:

pod 'react-native-fft-frequency', :path => '../node_modules/react-native-fft-frequency'

Then run:

cd ios && pod install

Android Setup

No additional setup required for Android.

Usage

Basic Example

import { useFrequency, rnfftFrequency } from 'react-native-fft-frequency';

function App() {
  const frequency = useFrequency();

  const startListening = () => {
    rnfftFrequency.start();
  };

  const stopListening = () => {
    rnfftFrequency.stop();
  };

  return (
    <View>
      <Text>Current Frequency: {frequency} Hz</Text>
      <Button title="Start" onPress={startListening} />
      <Button title="Stop" onPress={stopListening} />
    </View>
  );
}

Advanced Configuration

You can customize the FFT parameters using the setConfiguration method:

rnfftFrequency.setConfiguration({
  fftSize: 4096,        // FFT size (power of 2)
  highPassHz: 70.0,     // High-pass filter frequency
  lowPassHz: 400.0,     // Low-pass filter frequency
  calibrationOffset: 1.0 // Calibration offset for frequency detection
});

API Reference

Hooks

useFrequency()

A React hook that returns the current detected frequency in Hz.

Methods

RNFFTFrequency.start()

Starts the frequency detection.

RNFFTFrequency.stop()

Stops the frequency detection.

RNFFTFrequency.setConfiguration(config: FFTConfiguration)

Configures the FFT parameters.

Types

interface FFTConfiguration {
  fftSize?: number;
  highPassHz?: number;
  lowPassHz?: number;
  calibrationOffset?: number;
}

Technical Details

The library uses native implementations to perform real-time audio processing:

  • Android: Uses AudioRecord API with native FFT implementation
  • iOS: Implements audio capture using AVFoundation and performs FFT analysis
  • Sample rate: 44.1kHz
  • Default FFT size: 4096 samples
  • Default frequency range: 70Hz - 400Hz

Permissions

The library requires microphone permissions:

Android

Add to your AndroidManifest.xml:

<uses-permission android:name="android.permission.RECORD_AUDIO" />

iOS

Add to your Info.plist:

<key>NSMicrophoneUsageDescription</key>
<string>This app needs access to microphone for frequency detection.</string>

Contributing

Contributions are welcome! Please read our Contributing Guide for details.

License

MIT License - see the LICENSE file for details.

Keywords

react-native

FAQs

Package last updated on 27 Aug 2025

Related posts