Skip to content

Latest commit

 

History

History
68 lines (53 loc) · 4.77 KB

README.md

File metadata and controls

68 lines (53 loc) · 4.77 KB

Waveforms and audio levels for React Native. Decode a file once, natively and off the JS thread, then draw it at any size, zoom and style instantly.

  • Decode once, render many. One pass produces min, max and RMS per bucket. Changing the bar count, zooming or switching the metric is cheap JS, not another decode.
  • Presets or every knob. waveformPresets.chat, .player and .editor are tuned for voice messages, scrubbers and precise views. Spread one and override anything.
  • Fast and bounded. A C++ core on a background thread, chunked decoding with constant memory, progress and AbortSignal cancellation.
  • Formats. WAV, FLAC, MP3 and OGG Vorbis everywhere, plus AAC/M4A and whatever else iOS or Android can decode.
  • Any source. File paths, file:// URIs, http(s):// URLs (downloaded and cached, with headers) and ArrayBuffers.
  • Bare React Native and Expo, built on Nitro Modules.
A voice message bubble, a player scrubber and a min/max envelope, all rendered from real recordings
Rendered from real recordings with the library's own code. More examples →

Getting started

Install it in a bare React Native app or an Expo development build by following Installation, then draw your first waveform with the Chat bubbles guide.

Documentation

Chat bubbles Presets, list performance, caching results
Players and zoom Scrubbers, progress, zooming without rescaling
Drawing Views, SVG and Skia paths, min/max envelopes
Sources and caching URLs, headers, ArrayBuffers, cancellation, the download cache
Supported formats Codecs per platform and which decoder handles them
How it works · Metrics and scaling Buckets, RMS vs peak, linear vs dB
Migrating from v3 · Troubleshooting
API reference Every function and option

Example apps

apps/rn-cli-example (bare React Native) and apps/expo-example (Expo development build) show the same demo: a chat bubble and a full waveform with every knob. See CONTRIBUTING.md to run them.

Contributing

Issues and pull requests are welcome. CONTRIBUTING.md covers the monorepo, tests and releases.

License

MIT