Handling metadata in WAV files

Reading audio details

The GroupDocs.Metadata API supports extracting technical audio information from WAV files.

The following are the steps to read audio details.

  1. Load a WAV audio
  2. Get the root metadata package
  3. Extract  the native metadata package using the WavRootPackage.getWavPackage method
  4. Read the WAV audio properties

advanced_usage.managing_metadata_for_specific_formats.audio.wav.WavReadNativeMetadataProperties

try (Metadata metadata = new Metadata(Constants.InputWav)) {
	WavRootPackage root = metadata.getRootPackageGeneric();
	if (root.getWavPackage() != null) {
		System.out.println(root.getWavPackage().getAudioFormat());
		System.out.println(root.getWavPackage().getBitsPerSample());
		System.out.println(root.getWavPackage().getBlockAlign());
		System.out.println(root.getWavPackage().getByteRate());
		System.out.println(root.getWavPackage().getNumberOfChannels());
		System.out.println(root.getWavPackage().getSampleRate());
	}
}

Extract RIFF INFO chunk metadata

The WAV format is derived from the RIFF container which acts as a wrapper for various audio and video coding formats. As a derivative of RIFF, WAV files can be tagged with metadata in the INFO chunk. The chunk may include information such as the title of the work, the author, the creation date, and copyright information. Here is an example of how the RIFF INFO metadata can be extracted:

advanced_usage.managing_metadata_for_specific_formats.audio.wav.WavReadInfoMetadata

try (Metadata metadata = new Metadata(Constants.InputWav)) {
    WavRootPackage root = metadata.getRootPackageGeneric();
    if (root.getRiffInfoPackage() != null) {
        System.out.println(root.getRiffInfoPackage().getArtist());
        System.out.println(root.getRiffInfoPackage().getComment());
        System.out.println(root.getRiffInfoPackage().getCopyright());
        System.out.println(root.getRiffInfoPackage().getCreationDate());
        System.out.println(root.getRiffInfoPackage().getSoftware());
        System.out.println(root.getRiffInfoPackage().getEngineer());
        System.out.println(root.getRiffInfoPackage().getGenre());
 
        // ...
    }
} 

Working with XMP metadata

GroupDocs.Metadata for Java also allows managing XMP metadata in WAV files. For more details please refer to the following guide: Working with XMP Metadata

More resources

GitHub examples

You may easily run the code above and see the feature in action in our GitHub examples:

Free online document metadata management App

Along with full featured Java library we provide simple, but powerful free Apps.

You are welcome to view and edit metadata of PDF, DOC, DOCX, PPT, PPTX, XLS, XLSX, emails, images and more with our free online Free Online Document Metadata Viewing and Editing App.