Search packages, repositories and app categories

just_waveform cover
Package detailsv0.0.7

just_waveform

Extracts waveform data from an audio file suitable for visually rendering the waveform.

AndroidiOSmacOS
30-day downloads
27.4K
Likes
276
Pub points
160

Install package

flutter pub add just_waveform

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

Just Waveform is a Flutter/Dart package that extracts waveform data from audio files, enabling developers to visually render waveforms in their applications. Designed for music and audio apps, it processes audio files efficiently on Android, iOS, and macOS. The package provides raw amplitude data suitable for custom visualizations, offering flexibility without built-in UI components. It's ideal for creating audio players with real-time waveform displays or visualizers.

Use cases

  • Audio player waveform visualization
  • Real-time audio waveform rendering
  • Music app development
  • Audio file analysis
  • Custom audio visualizers

Key features

  • Extracts raw waveform amplitude data
  • Supports Android, iOS, and macOS
  • Lightweight and efficient
  • No built-in UI components
  • Simple API for waveform extraction

Suitable for

  • Developers building audio players
  • Creators of music visualization tools
  • Apps requiring audio waveform analysis
  • Cross-platform audio applications
  • Projects needing lightweight audio processing

Considerations

  • Does not include UI rendering
  • Requires manual implementation of visual display
  • Limited to amplitude data extraction
  • Not optimized for very large audio files
  • Depends on external audio decoding

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

just_waveform

This plugin extracts waveform data from an audio file that can be used to render waveform visualisations.

waveform screenshot

Usage

final progressStream = JustWaveform.extract(
  audioInFile: '/path/to/audio.mp3',
  waveOutFile: '/path/to/waveform.wave',
  zoom: const WaveformZoom.pixelsPerSecond(100),
);
progressStream.listen((waveformProgress) {
  print('Progress: %${(100 * waveformProgress.progress).toInt()}');
  if (waveformProgress.waveform != null) {
    // Use the waveform.
  }
});

Categories

Dependencies

Dependency list 2 items

Source repository

Projects using this package