Skip to content

software-mansion/react-native-audio-api

Repository files navigation

React Native Audio API

High-performance audio engine for React Native based on web audio api specification

NPM latest NPM next github ci

react-native-audio-api provides system for controlling audio in React Native environment compatible with Web Audio API specification, allowing developers to generate and modify audio in exact same way it is possible in browsers.

Installation

check out the Getting Started section of our documentation for detailed instructions!

Roadmap

  • Released in 0.1.0 Sound synthesis and system audio 🐣
    Access to devices audio engines and threads, basic nodes for sound synthesis, simple effects and audio graph implementation

  • Released in 0.2.0 Graph Processing πŸ›ŽοΈ
    Support for multi-channel audio processing, audio-graph route optimizations, improved react-native layer for managing audio nodes

  • Released in 0.3.2 Audio Files 🎸
    Support for local and remote audio file resources: MP3, WAV, FLAC.

  • Released in 0.4.0 Analyser Node 🌊
    Ability to draw, animate or simply debug audio data in time or frequency domain.

  • Released in 0.5.0 Pitch correction, extending the web πŸ’₯
    Ability to modify playback speed without affecting pitch of the sound

  • Coming in 0.6.0 System configuration πŸ› οΈ
    Full control of system audio settings, remote controls, lock screen integration and most importantly configurable background modes

  • Microphone support πŸŽ™οΈ
    Grab audio data from device microphone or connected device, connect it to the audio graph or stream through the internet

  • Connect audio param 🀞
    Ability to connect Audio nodes to audio params, which will allow for powerful and efficient modulation of audio parameters, creating effects like tremolo, vibrato or complex envelope followers.

  • JS Audio Worklets 🐎
    Ability to run JS functions connected to the audio graph running on audio thread allowing for full customization of what happens to the audio signal.

Web Audio API Specification Coverage

Our current coverage of Web Audio API specification can be found here: Web Audio API coverage.

Examples

The source code for the example application is under the /apps/common-app directory. If you want to play with the API but don't feel like trying it on a real app, you can run the example project. Check Example README for installation instructions.

Your feedback

We are open to new ideas and general feedback. If you want to share your opinion about react-native-audio-api or have some thoughts about how it could be further developed, don't hesitate to create an issue or contact the maintainers directly.

License

react-native-audio-api library is licensed under The MIT License. Some of the source code uses implementation directly copied from Webkit and copyrights are held by respective organizations, check COPYING file for further details

Credits

This project has been built and is maintained thanks to the support from Software Mansion

swm

Community Discord

Join the Software Mansion Community Discord to chat about React Native Audio API or other Software Mansion libraries.

react-native-audio-api is created by Software Mansion

Since 2012 Software Mansion is a software agency with experience in building web and mobile apps. We are Core React Native Contributors and experts in dealing with all kinds of React Native issues. We can help you build your next dream product – Hire us.