Search packages, repositories and app categories

GitHub repositoryliamappelbe/wav

wav

Dart package for reading and writing wav files

wav project cover
Stars
20
Forks
7
Last push (UTC)
Jul 3, 2025
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

wav

pub package Build Status Coverage Status

Simple tools for reading and writing WAV and raw audio files. Written in pure Dart, with no dependencies.

This package currently supports reading and writing 8/16/24/32 bit PCM, and 32/64 bit float formats. Other formats can be added as needed (just file a bug).

This package also supports WAVE_FORMAT_EXTENSIBLE, but only for reading. Extensible WAVs are essentially treated as ordinary WAV files, because wValidBitsPerSample and dwChannelMask are ignored. Please file a bug if you have a use case for either of these metadata fields, or for writing extensible WAV files.

Usage

// Read a WAV file.
final wav = await Wav.readFile(filename);

// Look at its metadata.
print(wav.format);
print(wav.samplesPerSecond);

// Mess with its audio data.
for (final chan in wav.channels) {
  for (int i = 0; i < chan.length; ++i) {
    chan[i] /= 2;  // Decrease the volume.
  }
}

// Write to another WAV file.
await wav.writeFile(otherFilename);
Liam Appelbe GitHub avatar
GitHub author

Liam Appelbe ↗

LanguagesDart

Packages published by this repository

Dependencies used

Dependency list 2 items

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗