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.
- β 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
react-native >= 0.72expo >= 50(if using Expo)- β Not compatible with Expo Go
You must use a custom Dev Client (via
expo run:iosorexpo run:android) because this library includes native code.
npm install react-native-pure-tonenpx expo install
npx expo run:android
# or
npx expo run:iosimport { playTone } from 'react-native-pure-tone';
playTone({
frequency: 440, // A4 note
duration: 1.5, // seconds
waveform: 'sine' // 'square', 'triangle', or 'sawtooth'
});- Cross-platform tone playback
- Native Swift/Java modules
- Waveform selection
- Notes & chords support
- ADSR envelope support
- MIDI input / on-screen keyboard
- Waveform visualizer
Pull requests are welcome!
Help us shape the first fully-native audio synthesis module for the React Native ecosystem.
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.
MIT Β© 2025 Salvador Bolanos (Salvariable)