| Title: | Read and Write WAV Files |
| Version: | 0.2.0 |
| Description: | Efficiently read and write Waveform (WAV) audio files https://en.wikipedia.org/wiki/WAV. Support for unsigned 8 bit Pulse-code modulation (PCM), signed 12, 16, 24 and 32 bit PCM and other encodings. |
| License: | MIT + file LICENSE |
| Encoding: | UTF-8 |
| RoxygenNote: | 7.3.3 |
| LinkingTo: | Rcpp |
| Imports: | Rcpp |
| Suggests: | covr, testthat (≥ 3.0.0), patrick |
| Config/testthat/edition: | 3 |
| URL: | https://github.com/mlverse/wav, https://mlverse.github.io/wav/ |
| BugReports: | https://github.com/mlverse/wav/issues |
| NeedsCompilation: | yes |
| Packaged: | 2026-04-28 12:18:58 UTC; dfalbel |
| Author: | Tomasz Kalinowski [ctb, cre], Daniel Falbel [aut, cph], Posit, PBC [cph], David Reid [cph] (For the vendored dr_wav.h code.) |
| Maintainer: | Tomasz Kalinowski <tomasz@posit.co> |
| Repository: | CRAN |
| Date/Publication: | 2026-04-28 14:50:02 UTC |
Read/write wav files
Description
Efficiently read and write WAV files.
Usage
read_wav(path)
write_wav(x, path, sample_rate = 44100, bit_depth = 32, ..., normalize = TRUE)
Arguments
path |
Path to file that will be read or written to. |
x |
Numeric matrix with dimensions |
sample_rate |
Sample rate in Hz of the associated samples. |
bit_depth |
Bit depth of associated samples. This only affects the precision data is saved to the file. |
... |
Currently unused. |
normalize |
Boolean idicating wheter integers should be normalized before
writing. Only used when |
Value
When reading: A numeric matrix with samples. It also contains the attributes
sample_rateandbit_depth.When writing: A boolean which is
TRUEif writing was sucessful andFALSEotherwise.
Functions
-
write_wav(): Write a wav file.
Examples
x <- matrix(sin(440 * seq(0, 2*pi, length = 44100)), nrow=1)
tmp <- tempfile(fileext = ".wav")
write_wav(x, tmp)
y <- read_wav(tmp)
all.equal(as.numeric(x), as.numeric(y), tolerance = 1e-7)