Skip to content

🎢 Generate real-time pure tones in React Native & Expo (Android, iOS, Web) β€” no audio files required!

License

Notifications You must be signed in to change notification settings

salvariable/react-native-pure-tone

Repository files navigation

🎧 react-native-pure-tone

Generate pure tones with configurable frequency and waveform in React Native and Expo β€” fully compatible with Android, iOS, and Web.

Ideal for educational apps, sound experiments, or musical tools. This module synthesizes audio in real-time, directly from native or web audio engines β€” no .mp3 files required.


πŸš€ Features

  • βœ… Cross-platform: Android, iOS, Web
  • πŸ“ Custom frequency input (e.g. 440Hz for A4)
  • 🌊 Selectable waveform: sine, square, triangle, sawtooth
  • 🎹 Multi-tone support (chords!)
  • βš™οΈ Native modules for high-performance audio
  • πŸ”§ Works with React Native CLI and Expo Dev Client

⚠️ Requirements

  • react-native >= 0.72
  • expo >= 50 (if using Expo)
  • ❌ Not compatible with Expo Go

You must use a custom Dev Client (via expo run:ios or expo run:android) because this library includes native code.


πŸ“¦ Installation

npm install react-native-pure-tone

For Expo users:

npx expo install
npx expo run:android
# or
npx expo run:ios

πŸ§ͺ Usage

import { playTone } from 'react-native-pure-tone';

playTone({
  frequency: 440, // A4 note
  duration: 1.5,  // seconds
  waveform: 'sine' // 'square', 'triangle', or 'sawtooth'
});

🧭 Roadmap

  • Cross-platform tone playback
  • Native Swift/Java modules
  • Waveform selection
  • Notes & chords support
  • ADSR envelope support
  • MIDI input / on-screen keyboard
  • Waveform visualizer

πŸ™Œ Contributions

Pull requests are welcome!
Help us shape the first fully-native audio synthesis module for the React Native ecosystem.


πŸ’‘ Why not expo-av or .mp3 files?

Because this is not just a player.
This module synthesizes sound from scratch, enabling real-time tuning, interactivity, and true instrument-like behavior β€” all without external assets.


πŸͺͺ License

MIT Β© 2025 Salvador Bolanos (Salvariable)

About

🎢 Generate real-time pure tones in React Native & Expo (Android, iOS, Web) β€” no audio files required!

Resources

License

Stars

Watchers

Forks

Packages

No packages published