Home | Tutorial | Documentation | WAVE-hul Module | Distribution | Links |
The WAVE-hul module recognizes and validates the Audio for Windows format (WAVE) [WAVE,WAVEFORMAT]. WAVE is a variant of the Microsoft RIFF format [RIFF], which is itself an implementation of the Electronic Arts IFF 85 format [IFF].
The module is invoked by the:
command line option.jhove ... -m WAVE-hul ...
The WAVE-hul module recognizes and validates the following public profiles:
The following criteria must be met by an WAVE object for JHOVE to consider it well-formed:
The following criteria must be met by a WAVE file for JHOVE to consider it valid:
The MIME type is reported as: audio/x-wave.
In addition to the standard JHOVE representation information, the following WAVE-specific properties are reported:
The WAVE module recognizes the following chunks:
The AIFF module reports audio properties using the draft AES-X098B, Core audio metadata XML definition, currently under development by the Audio Engineering Society (AES) SC-03-06 Working Group on Digital Library and Archive Systems.
WAVE is a format for uncompressed or compressed sampled audio. The format is defined informally by references to various Microsoft API data structures [WAVEFORMAT, PCMWAVEFORMAT, WAVEFORMATEX, WAVEFORMATEXTENSIBLE]. The baseline "fmt " chunk is defined by the WAVEFORMAT structure with a length of 14:
where WORD indicates a 16-bit unsigned integer and DWORD indicates a 32-bit unsigned integer.WORD wFormatTag WORD nChannels DWORD nSamplesPerSec DWORD nAvgBytesPerSec WORD nBlockAlign
The specific form of the sampled data is specified by the "fmt " chunk wFormatTag field [RFC 2361].
Common format tags include, but are not limited to:
Tag Description 0 0x0000 Unknown 1 0x0001 Microsoft PCM 2 0x0002 Microsoft ADPCM 3 0x0003 IEEE Float 4 0x0004 Compaq VSELP 5 0x0005 IBM CVSD 6 0x0006 Microsoft ALAW 7 0x0007 Microsoft MULAW 16 0x0010 OKI ADPCM 17 0x0011 Intel DVI ADPCM 18 0x0012 Videologic MediaSpace ADPCM 19 0x0013 Sierra ADPCM 20 0x0014 Antex Electronics G.723 ADPCM 21 0x0015 DSP Solution DIGISTD 22 0x0016 DSP Solution DIGIFIX 23 0x0017 Dialogic OKI ADPCM 24 0x0018 MediaVision ADPCM 25 0x0019 HP CU 32 0x0020 Yamaha ADPCM 33 0x0021 Speech Compression Sonarc 34 0x0022 DSP Group True Speech 35 0x0023 Echo Speech EchoSC1 36 0x0024 Audiofile AF36 37 0x0025 APTX 38 0x0026 AudioFile AF10 39 0x0027 Prosody 1612 40 0x0028 LRC 48 0x0030 Dolby AC2 49 0x0031 Microsoft GSM610 50 0x0032 Microsoft MSNAudio 51 0x0033 Antex ADPCME 52 0x0034 Control Res VQLPC 53 0x0035 Digireal 54 0x0036 DigiADPCM AC2 55 0x0037 Control Res CR10 56 0x0038 NMS VBXADPCM AC2 57 0x0039 Roland RDAC 58 0x003A EchoSC3 59 0x003B Rockwell ADPCM 60 0x003C Rockwell Digit LK 61 0x003D Xebec 64 0x0040 Antex Electronics G.721 65 0x0041 Antex Electronics G.728 CELP 66 0x0042 Microsoft MSG723 80 0x0050 MPEG 82 0x0052 Voxware RT24 83 0x0053 InSoft PAC 85 0x0055 MPEG Layer 3 89 0x0059 Lucent G.723 96 0x0060 Cirrus 97 0x0061 ESPCM 98 0x0062 Voxware 99 0x0063 Canopus Atrac 100 0x0064 APICOM G.726 ADPCM 101 0x0065 APICOM G.722 ADPCM 102 0x0066 Microsoft DSAT 103 0x0067 Microsoft DSAT Display 105 0x0069 Voxware Byte Aligned 112 0x0070 Voxware AC8 113 0x0071 Voxware AC10 114 0x0072 Voxware AC16 115 0x0073 Voxware AC20 116 0x0074 Voxware Metavoice 117 0x0075 Voxware Metasound 118 0x0076 Voxware RT29HW 119 0x0077 Voxware VR12 120 0x0078 Voxware VR18 121 0x0079 Voxware TQ40 128 0x0080 Softsound 129 0x0081 Voxware TQ60 130 0x0082 MSRT24 131 0x0083 AT&T G.729A 132 0x0084 Motion Pixels MVI MV12 133 0x0085 DF G.726 134 0x0086 DF GSM610 136 0x0088 ISIAudio 137 0x0089 Onlive 145 0x0091 Siemens SBC24 146 0x0092 Dolby AC3 SPDIF 151 0x0097 ZyXEL ADPCM 152 0x0098 Philips LPCBB 153 0x0099 Packed 256 0x0100 Rhetorex ADPCM 257 0x0101 BeCubed IRAT 273 0x0111 Vivo G.723 274 0x0112 Vivo Siren 291 0x0123 DEC G.723 512 0x0200 Creative ADPCM 514 0x0202 Creative FastSpeech8 515 0x0203 Creative FastSpeech10 544 0x0220 Quarterdeck 768 0x0300 Fujitsu FM Towns Snd 1024 0x0400 BTV Digital 1664 0x0680 AT&T VME VMPCM 4096 0x1000 Olivetti OLIGSM 4097 0x1001 Olivetti OLIADPCM 4098 0x1002 Olivetti OLICELP 4099 0x1003 Olivetti OLISBC 4100 0x1004 Olivetti OLIOPR 4352 0x1100 LH Codec 5120 0x1400 Norris 5121 0x1401 AT&T ISIAudio 5376 0x1500 AT&T Soundspace Music Compression 8192 0x2000 DVM 65534 0xFFFE WAVE_FORMAT_EXTENSIBLE 65535 0xFFFF Experimental
This is an extension to the WAVEFORMAT profile in which the fmt chunk is defined by the PCMWAVEFORMATEX structure with a length of 16 [PCMWAVEFORMAT]:
WAVEFORMAT WORD wBitsPerSample
Profile requirements include:
This is an extension to the PCMWAVEFORMATEX profile supporting both PCM and non-PCM audio formats [WAVEFORMATEX].. The fmt chunk is defined by the WAVEFORMATEX structure with a length ≥ 18:
where UNION is a C-style union structure and CHAR is an 8-bit unsigned integer.PCMWAVEFORMATEX WORD cbSize
Profile requirements include:
This is the most recent version of the Microsoft WAVE format for audio sample data with greater than 2 channels or 16-bit sampling [WAVEFORMATEXTENSIBLE]. The fmt chunk is defined by the WAVEFORMATEXTENSIBLE structure with a length ≥ 40:
WAVEFORMATEX UNION samples { WORD wValidBitsPerSample WORD wSamplesPerBlock WORD wReserved } DWORD dwChannelMask GUID subFormat { DWORD f1 WORD f2 WORD f3 CHAR f4[8] }
Profile requirements include:
Broadcast Wave Format (BWF) is an extension of the WAVEFORMATEX profile defined by the European Broadcast Union (EBU) as EBU Technical Specification 3285 [BWF, BWF Supp 1, BWF Supp 2, BWF Supp 3, BWF Supp 4, BWF Supp 5].
Profile requirements include:
Home | Tutorial | Documentation | WAVE-hul Module | Distribution | Links |