Crates.io | bwavfile |
lib.rs | bwavfile |
version | 2.0.1 |
source | src |
created_at | 2020-11-20 19:42:17.435443 |
updated_at | 2023-06-03 04:09:08.586043 |
description | Rust Wave File Reader/Writer with Broadcast-WAV, MBWF and RF64 Support |
homepage | https://github.com/iluvcapra/bwavfile |
repository | |
max_upload_size | |
id | 314439 |
size | 5,820,268 |
Wave File Reader/Writer library in Rust, with Broadcast-WAV, RF64 and production metadata support
bwavfile provides a reader WaveReader
and writer type WaveWriter
for
reading and creating new wave audio files.
WaveReader
and WaveWriter
support:
WaveWriter
, wave files are transparently upgraded from RIFF
to RF64 when required.WaveFormat
and extended WaveFormatEx
wave data format.The library has extensive metadata support, with emphasis on film and video production metadata:
Broadcast-Wave metadata extension, including long description, originator, SMPTE UMID and coding history.
Reading and writing of embedded iXML and axml/ADM metadata.
Reading and writing of timed cues and and timed cue regions.
Multichannel, surround, and ambisonic audio data description including
surround channel maps, ADM AudioTrackFormat
, AudioChannelFormatRef
and
AudioPackRef
data structures.
Some features that may be included in the future include:
Broadcast-Wave levl
waveform overview data reading and writing.
Sampler and Instrument metadata.
Performance improvements.
WaveWriter
to create a new
file with BLITS alignment tones.WaveReader
and WaveWriter
to
interleave several input Wave files into a single polyphonic Wave file.WaveReader
and WaveWriter
to de-interleave an input Wave file into several monoarual Wave files.All of the media for the integration tests is committed to the respository
in zipped form. Before you can run tests, you need to cd
into the tests
directory and run the create_test_media.sh
script. Note that one of the
test files (the RF64 test case) is over four gigs in size.