1 {*****************************************************************************} 2 { 3 This file is part of the Free Pascal's "Free Components Library". 4 Copyright (c) 2014 by Mazen NEIFER of the Free Pascal development team 5 and was adapted from wavopenal.pas copyright (c) 2010 Dmitry Boyarintsev. 6 7 RIFF/WAVE sound file basic types and constants. 8 9 See the file COPYING.FPC, included in this distribution, 10 for details about the copyright. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 } 16 unit fpwavformat; 17 18 {$mode objfpc}{$H+} 19 20 interface 21 22 const 23 AUDIO_CHUNK_ID_RIFF = 'RIFF'; 24 AUDIO_CHUNK_ID_WAVE = 'WAVE'; 25 AUDIO_CHUNK_ID_fmt = 'fmt '; 26 AUDIO_CHUNK_ID_data = 'data'; 27 AUDIO_FORMAT_PCM = 1; 28 29 { WAVE form wFormatTag IDs } 30 WAVE_FORMAT_UNKNOWN = $0000; { Microsoft Corporation } 31 WAVE_FORMAT_PCM = $0001; { Microsoft Corporation } 32 WAVE_FORMAT_ADPCM = $0002; { Microsoft Corporation } 33 WAVE_FORMAT_IEEE_FLOAT = $0003; { Microsoft Corporation } 34 WAVE_FORMAT_VSELP = $0004; { Compaq Computer Corp. } 35 WAVE_FORMAT_IBM_CVSD = $0005; { IBM Corporation } 36 WAVE_FORMAT_ALAW = $0006; { Microsoft Corporation } 37 WAVE_FORMAT_MULAW = $0007; { Microsoft Corporation } 38 WAVE_FORMAT_DTS = $0008; { Microsoft Corporation } 39 WAVE_FORMAT_DRM = $0009; { Microsoft Corporation } 40 WAVE_FORMAT_WMAVOICE9 = $000A; { Microsoft Corporation } 41 WAVE_FORMAT_WMAVOICE10 = $000B; { Microsoft Corporation } 42 WAVE_FORMAT_OKI_ADPCM = $0010; { OKI } 43 WAVE_FORMAT_DVI_ADPCM = $0011; { Intel Corporation } 44 WAVE_FORMAT_IMA_ADPCM = (WAVE_FORMAT_DVI_ADPCM); { Intel Corporation } 45 WAVE_FORMAT_MEDIASPACE_ADPCM = $0012; { Videologic } 46 WAVE_FORMAT_SIERRA_ADPCM = $0013; { Sierra Semiconductor Corp } 47 WAVE_FORMAT_G723_ADPCM = $0014; { Antex Electronics Corporation } 48 WAVE_FORMAT_DIGISTD = $0015; { DSP Solutions, Inc. } 49 WAVE_FORMAT_DIGIFIX = $0016; { DSP Solutions, Inc. } 50 WAVE_FORMAT_DIALOGIC_OKI_ADPCM = $0017; { Dialogic Corporation } 51 WAVE_FORMAT_MEDIAVISION_ADPCM = $0018; { Media Vision, Inc. } 52 WAVE_FORMAT_CU_CODEC = $0019; { Hewlett-Packard Company } 53 WAVE_FORMAT_HP_DYN_VOICE = $001A; { Hewlett-Packard Company } 54 WAVE_FORMAT_YAMAHA_ADPCM = $0020; { Yamaha Corporation of America } 55 WAVE_FORMAT_SONARC = $0021; { Speech Compression } 56 WAVE_FORMAT_DSPGROUP_TRUESPEECH = $0022; { DSP Group, Inc } 57 WAVE_FORMAT_ECHOSC1 = $0023; { Echo Speech Corporation } 58 WAVE_FORMAT_AUDIOFILE_AF36 = $0024; { Virtual Music, Inc. } 59 WAVE_FORMAT_APTX = $0025; { Audio Processing Technology } 60 WAVE_FORMAT_AUDIOFILE_AF10 = $0026; { Virtual Music, Inc. } 61 WAVE_FORMAT_PROSODY_1612 = $0027; { Aculab plc } 62 WAVE_FORMAT_LRC = $0028; { Merging Technologies S.A. } 63 WAVE_FORMAT_DOLBY_AC2 = $0030; { Dolby Laboratories } 64 WAVE_FORMAT_GSM610 = $0031; { Microsoft Corporation } 65 WAVE_FORMAT_MSNAUDIO = $0032; { Microsoft Corporation } 66 WAVE_FORMAT_ANTEX_ADPCME = $0033; { Antex Electronics Corporation } 67 WAVE_FORMAT_CONTROL_RES_VQLPC = $0034; { Control Resources Limited } 68 WAVE_FORMAT_DIGIREAL = $0035; { DSP Solutions, Inc. } 69 WAVE_FORMAT_DIGIADPCM = $0036; { DSP Solutions, Inc. } 70 WAVE_FORMAT_CONTROL_RES_CR10 = $0037; { Control Resources Limited } 71 WAVE_FORMAT_NMS_VBXADPCM = $0038; { Natural MicroSystems } 72 WAVE_FORMAT_CS_IMAADPCM = $0039; { Crystal Semiconductor IMA ADPCM } 73 WAVE_FORMAT_ECHOSC3 = $003A; { Echo Speech Corporation } 74 WAVE_FORMAT_ROCKWELL_ADPCM = $003B; { Rockwell International } 75 WAVE_FORMAT_ROCKWELL_DIGITALK = $003C; { Rockwell International } 76 WAVE_FORMAT_XEBEC = $003D; { Xebec Multimedia Solutions Limited } 77 WAVE_FORMAT_G721_ADPCM = $0040; { Antex Electronics Corporation } 78 WAVE_FORMAT_G728_CELP = $0041; { Antex Electronics Corporation } 79 WAVE_FORMAT_MSG723 = $0042; { Microsoft Corporation } 80 WAVE_FORMAT_INTEL_G723_1 = $0043; { Intel Corp. } 81 WAVE_FORMAT_INTEL_G729 = $0044; { Intel Corp. } 82 WAVE_FORMAT_SHARP_G726 = $0045; { Sharp } 83 WAVE_FORMAT_MPEG = $0050; { Microsoft Corporation } 84 WAVE_FORMAT_RT24 = $0052; { InSoft, Inc. } 85 WAVE_FORMAT_PAC = $0053; { InSoft, Inc. } 86 WAVE_FORMAT_MPEGLAYER3 = $0055; { ISO/MPEG Layer3 Format Tag } 87 WAVE_FORMAT_LUCENT_G723 = $0059; { Lucent Technologies } 88 WAVE_FORMAT_CIRRUS = $0060; { Cirrus Logic } 89 WAVE_FORMAT_ESPCM = $0061; { ESS Technology } 90 WAVE_FORMAT_VOXWARE = $0062; { Voxware Inc } 91 WAVE_FORMAT_CANOPUS_ATRAC = $0063; { Canopus, co., Ltd. } 92 WAVE_FORMAT_G726_ADPCM = $0064; { APICOM } 93 WAVE_FORMAT_G722_ADPCM = $0065; { APICOM } 94 WAVE_FORMAT_DSAT = $0066; { Microsoft Corporation } 95 WAVE_FORMAT_DSAT_DISPLAY = $0067; { Microsoft Corporation } 96 WAVE_FORMAT_VOXWARE_BYTE_ALIGNED = $0069; { Voxware Inc } 97 WAVE_FORMAT_VOXWARE_AC8 = $0070; { Voxware Inc } 98 WAVE_FORMAT_VOXWARE_AC10 = $0071; { Voxware Inc } 99 WAVE_FORMAT_VOXWARE_AC16 = $0072; { Voxware Inc } 100 WAVE_FORMAT_VOXWARE_AC20 = $0073; { Voxware Inc } 101 WAVE_FORMAT_VOXWARE_RT24 = $0074; { Voxware Inc } 102 WAVE_FORMAT_VOXWARE_RT29 = $0075; { Voxware Inc } 103 WAVE_FORMAT_VOXWARE_RT29HW = $0076; { Voxware Inc } 104 WAVE_FORMAT_VOXWARE_VR12 = $0077; { Voxware Inc } 105 WAVE_FORMAT_VOXWARE_VR18 = $0078; { Voxware Inc } 106 WAVE_FORMAT_VOXWARE_TQ40 = $0079; { Voxware Inc } 107 WAVE_FORMAT_VOXWARE_SC3 = $007A; { Voxware Inc } 108 WAVE_FORMAT_VOXWARE_SC3_1 = $007B; { Voxware Inc } 109 WAVE_FORMAT_SOFTSOUND = $0080; { Softsound, Ltd. } 110 WAVE_FORMAT_VOXWARE_TQ60 = $0081; { Voxware Inc } 111 WAVE_FORMAT_MSRT24 = $0082; { Microsoft Corporation } 112 WAVE_FORMAT_G729A = $0083; { AT&T Labs, Inc. } 113 WAVE_FORMAT_MVI_MVI2 = $0084; { Motion Pixels } 114 WAVE_FORMAT_DF_G726 = $0085; { DataFusion Systems (Pty) (Ltd) } 115 WAVE_FORMAT_DF_GSM610 = $0086; { DataFusion Systems (Pty) (Ltd) } 116 WAVE_FORMAT_ISIAUDIO = $0088; { Iterated Systems, Inc. } 117 WAVE_FORMAT_ONLIVE = $0089; { OnLive! Technologies, Inc. } 118 WAVE_FORMAT_MULTITUDE_FT_SX20 = $008A; { Multitude Inc. } 119 WAVE_FORMAT_INFOCOM_ITS_G721_ADPCM = $008B; { Infocom } 120 WAVE_FORMAT_CONVEDIA_G729 = $008C; { Convedia Corp. } 121 WAVE_FORMAT_CONGRUENCY = $008D; { Congruency Inc. } 122 WAVE_FORMAT_SBC24 = $0091; { Siemens Business Communications Sys } 123 WAVE_FORMAT_DOLBY_AC3_SPDIF = $0092; { Sonic Foundry } 124 WAVE_FORMAT_MEDIASONIC_G723 = $0093; { MediaSonic } 125 WAVE_FORMAT_PROSODY_8KBPS = $0094; { Aculab plc } 126 WAVE_FORMAT_ZYXEL_ADPCM = $0097; { ZyXEL Communications, Inc. } 127 WAVE_FORMAT_PHILIPS_LPCBB = $0098; { Philips Speech Processing } 128 WAVE_FORMAT_PACKED = $0099; { Studer Professional Audio AG } 129 WAVE_FORMAT_MALDEN_PHONYTALK = $00A0; { Malden Electronics Ltd. } 130 WAVE_FORMAT_RACAL_RECORDER_GSM = $00A1; { Racal recorders } 131 WAVE_FORMAT_RACAL_RECORDER_G720_A = $00A2; { Racal recorders } 132 WAVE_FORMAT_RACAL_RECORDER_G723_1 = $00A3; { Racal recorders } 133 WAVE_FORMAT_RACAL_RECORDER_TETRA_ACELP = $00A4; { Racal recorders } 134 WAVE_FORMAT_NEC_AAC = $00B0; { NEC Corp. } 135 WAVE_FORMAT_RAW_AAC1 = $00FF; { For Raw AAC, with format block AudioSpecificConfig() (as defined by MPEG-4), that follows WAVEFORMATEX } 136 WAVE_FORMAT_RHETOREX_ADPCM = $0100; { Rhetorex Inc. } 137 WAVE_FORMAT_IRAT = $0101; { BeCubed Software Inc. } 138 WAVE_FORMAT_VIVO_G723 = $0111; { Vivo Software } 139 WAVE_FORMAT_VIVO_SIREN = $0112; { Vivo Software } 140 WAVE_FORMAT_PHILIPS_CELP = $0120; { Philips Speech Processing } 141 WAVE_FORMAT_PHILIPS_GRUNDIG = $0121; { Philips Speech Processing } 142 WAVE_FORMAT_DIGITAL_G723 = $0123; { Digital Equipment Corporation } 143 WAVE_FORMAT_SANYO_LD_ADPCM = $0125; { Sanyo Electric Co., Ltd. } 144 WAVE_FORMAT_SIPROLAB_ACEPLNET = $0130; { Sipro Lab Telecom Inc. } 145 WAVE_FORMAT_SIPROLAB_ACELP4800 = $0131; { Sipro Lab Telecom Inc. } 146 WAVE_FORMAT_SIPROLAB_ACELP8V3 = $0132; { Sipro Lab Telecom Inc. } 147 WAVE_FORMAT_SIPROLAB_G729 = $0133; { Sipro Lab Telecom Inc. } 148 WAVE_FORMAT_SIPROLAB_G729A = $0134; { Sipro Lab Telecom Inc. } 149 WAVE_FORMAT_SIPROLAB_KELVIN = $0135; { Sipro Lab Telecom Inc. } 150 WAVE_FORMAT_VOICEAGE_AMR = $0136; { VoiceAge Corp. } 151 WAVE_FORMAT_G726ADPCM = $0140; { Dictaphone Corporation } 152 WAVE_FORMAT_DICTAPHONE_CELP68 = $0141; { Dictaphone Corporation } 153 WAVE_FORMAT_DICTAPHONE_CELP54 = $0142; { Dictaphone Corporation } 154 WAVE_FORMAT_QUALCOMM_PUREVOICE = $0150; { Qualcomm, Inc. } 155 WAVE_FORMAT_QUALCOMM_HALFRATE = $0151; { Qualcomm, Inc. } 156 WAVE_FORMAT_TUBGSM = $0155; { Ring Zero Systems, Inc. } 157 WAVE_FORMAT_MSAUDIO1 = $0160; { Microsoft Corporation } 158 WAVE_FORMAT_WMAUDIO2 = $0161; { Microsoft Corporation } 159 WAVE_FORMAT_WMAUDIO3 = $0162; { Microsoft Corporation } 160 WAVE_FORMAT_WMAUDIO_LOSSLESS = $0163; { Microsoft Corporation } 161 WAVE_FORMAT_WMASPDIF = $0164; { Microsoft Corporation } 162 WAVE_FORMAT_UNISYS_NAP_ADPCM = $0170; { Unisys Corp. } 163 WAVE_FORMAT_UNISYS_NAP_ULAW = $0171; { Unisys Corp. } 164 WAVE_FORMAT_UNISYS_NAP_ALAW = $0172; { Unisys Corp. } 165 WAVE_FORMAT_UNISYS_NAP_16K = $0173; { Unisys Corp. } 166 WAVE_FORMAT_SYCOM_ACM_SYC008 = $0174; { SyCom Technologies } 167 WAVE_FORMAT_SYCOM_ACM_SYC701_G726L = $0175; { SyCom Technologies } 168 WAVE_FORMAT_SYCOM_ACM_SYC701_CELP54 = $0176; { SyCom Technologies } 169 WAVE_FORMAT_SYCOM_ACM_SYC701_CELP68 = $0177; { SyCom Technologies } 170 WAVE_FORMAT_KNOWLEDGE_ADVENTURE_ADPCM = $0178; { Knowledge Adventure, Inc. } 171 WAVE_FORMAT_FRAUNHOFER_IIS_MPEG2_AAC = $0180; { Fraunhofer IIS } 172 WAVE_FORMAT_DTS_DS = $0190; { Digital Theatre Systems, Inc. } 173 WAVE_FORMAT_CREATIVE_ADPCM = $0200; { Creative Labs, Inc } 174 WAVE_FORMAT_CREATIVE_FASTSPEECH8 = $0202; { Creative Labs, Inc } 175 WAVE_FORMAT_CREATIVE_FASTSPEECH10 = $0203; { Creative Labs, Inc } 176 WAVE_FORMAT_UHER_ADPCM = $0210; { UHER informatic GmbH } 177 WAVE_FORMAT_ULEAD_DV_AUDIO = $0215; { Ulead Systems, Inc. } 178 WAVE_FORMAT_ULEAD_DV_AUDIO_1 = $0216; { Ulead Systems, Inc. } 179 WAVE_FORMAT_QUARTERDECK = $0220; { Quarterdeck Corporation } 180 WAVE_FORMAT_ILINK_VC = $0230; { I-link Worldwide } 181 WAVE_FORMAT_RAW_SPORT = $0240; { Aureal Semiconductor } 182 WAVE_FORMAT_ESST_AC3 = $0241; { ESS Technology, Inc. } 183 WAVE_FORMAT_GENERIC_PASSTHRU = $0249; 184 WAVE_FORMAT_IPI_HSX = $0250; { Interactive Products, Inc. } 185 WAVE_FORMAT_IPI_RPELP = $0251; { Interactive Products, Inc. } 186 WAVE_FORMAT_CS2 = $0260; { Consistent Software } 187 WAVE_FORMAT_SONY_SCX = $0270; { Sony Corp. } 188 WAVE_FORMAT_SONY_SCY = $0271; { Sony Corp. } 189 WAVE_FORMAT_SONY_ATRAC3 = $0272; { Sony Corp. } 190 WAVE_FORMAT_SONY_SPC = $0273; { Sony Corp. } 191 WAVE_FORMAT_TELUM_AUDIO = $0280; { Telum Inc. } 192 WAVE_FORMAT_TELUM_IA_AUDIO = $0281; { Telum Inc. } 193 WAVE_FORMAT_NORCOM_VOICE_SYSTEMS_ADPCM = $0285; { Norcom Electronics Corp. } 194 WAVE_FORMAT_FM_TOWNS_SND = $0300; { Fujitsu Corp. } 195 WAVE_FORMAT_MICRONAS = $0350; { Micronas Semiconductors, Inc. } 196 WAVE_FORMAT_MICRONAS_CELP833 = $0351; { Micronas Semiconductors, Inc. } 197 WAVE_FORMAT_BTV_DIGITAL = $0400; { Brooktree Corporation } 198 WAVE_FORMAT_INTEL_MUSIC_CODER = $0401; { Intel Corp. } 199 WAVE_FORMAT_INDEO_AUDIO = $0402; { Ligos } 200 WAVE_FORMAT_QDESIGN_MUSIC = $0450; { QDesign Corporation } 201 WAVE_FORMAT_ON2_VP7_AUDIO = $0500; { On2 Technologies } 202 WAVE_FORMAT_ON2_VP6_AUDIO = $0501; { On2 Technologies } 203 WAVE_FORMAT_VME_VMPCM = $0680; { AT&T Labs, Inc. } 204 WAVE_FORMAT_TPC = $0681; { AT&T Labs, Inc. } 205 WAVE_FORMAT_LIGHTWAVE_LOSSLESS = $08AE; { Clearjump } 206 WAVE_FORMAT_OLIGSM = $1000; { Ing C. Olivetti & C., S.p.A. } 207 WAVE_FORMAT_OLIADPCM = $1001; { Ing C. Olivetti & C., S.p.A. } 208 WAVE_FORMAT_OLICELP = $1002; { Ing C. Olivetti & C., S.p.A. } 209 WAVE_FORMAT_OLISBC = $1003; { Ing C. Olivetti & C., S.p.A. } 210 WAVE_FORMAT_OLIOPR = $1004; { Ing C. Olivetti & C., S.p.A. } 211 WAVE_FORMAT_LH_CODEC = $1100; { Lernout & Hauspie } 212 WAVE_FORMAT_LH_CODEC_CELP = $1101; { Lernout & Hauspie } 213 WAVE_FORMAT_LH_CODEC_SBC8 = $1102; { Lernout & Hauspie } 214 WAVE_FORMAT_LH_CODEC_SBC12 = $1103; { Lernout & Hauspie } 215 WAVE_FORMAT_LH_CODEC_SBC16 = $1104; { Lernout & Hauspie } 216 WAVE_FORMAT_NORRIS = $1400; { Norris Communications, Inc. } 217 WAVE_FORMAT_ISIAUDIO_2 = $1401; { ISIAudio } 218 WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS = $1500; { AT&T Labs, Inc. } 219 WAVE_FORMAT_MPEG_ADTS_AAC = $1600; { Microsoft Corporation } 220 WAVE_FORMAT_MPEG_RAW_AAC = $1601; { Microsoft Corporation } 221 WAVE_FORMAT_MPEG_LOAS = $1602; { Microsoft Corporation (MPEG-4 Audio Transport Streams (LOAS/LATM) } 222 WAVE_FORMAT_NOKIA_MPEG_ADTS_AAC = $1608; { Microsoft Corporation } 223 WAVE_FORMAT_NOKIA_MPEG_RAW_AAC = $1609; { Microsoft Corporation } 224 WAVE_FORMAT_VODAFONE_MPEG_ADTS_AAC = $160A; { Microsoft Corporation } 225 WAVE_FORMAT_VODAFONE_MPEG_RAW_AAC = $160B; { Microsoft Corporation } 226 WAVE_FORMAT_MPEG_HEAAC = $1610; { Microsoft Corporation (MPEG-2 AAC or MPEG-4 HE-AAC v1/v2 streams with any payload (ADTS, ADIF, LOAS/LATM, RAW). Format block includes MP4 AudioSpecificConfig() -- see HEAACWAVEFORMAT below } 227 WAVE_FORMAT_VOXWARE_RT24_SPEECH = $181C; { Voxware Inc. } 228 WAVE_FORMAT_SONICFOUNDRY_LOSSLESS = $1971; { Sonic Foundry } 229 WAVE_FORMAT_INNINGS_TELECOM_ADPCM = $1979; { Innings Telecom Inc. } 230 WAVE_FORMAT_LUCENT_SX8300P = $1C07; { Lucent Technologies } 231 WAVE_FORMAT_LUCENT_SX5363S = $1C0C; { Lucent Technologies } 232 WAVE_FORMAT_CUSEEME = $1F03; { CUSeeMe } 233 WAVE_FORMAT_NTCSOFT_ALF2CM_ACM = $1FC4; { NTCSoft } 234 WAVE_FORMAT_DVM = $2000; { FAST Multimedia AG } 235 WAVE_FORMAT_DTS2 = $2001; 236 WAVE_FORMAT_MAKEAVIS = $3313; 237 WAVE_FORMAT_DIVIO_MPEG4_AAC = $4143; { Divio, Inc. } 238 WAVE_FORMAT_NOKIA_ADAPTIVE_MULTIRATE = $4201; { Nokia } 239 WAVE_FORMAT_DIVIO_G726 = $4243; { Divio, Inc. } 240 WAVE_FORMAT_LEAD_SPEECH = $434C; { LEAD Technologies } 241 WAVE_FORMAT_LEAD_VORBIS = $564C; { LEAD Technologies } 242 WAVE_FORMAT_WAVPACK_AUDIO = $5756; { xiph.org } 243 WAVE_FORMAT_ALAC = $6C61; { Apple Lossless } 244 WAVE_FORMAT_OGG_VORBIS_MODE_1 = $674F; { Ogg Vorbis } 245 WAVE_FORMAT_OGG_VORBIS_MODE_2 = $6750; { Ogg Vorbis } 246 WAVE_FORMAT_OGG_VORBIS_MODE_3 = $6751; { Ogg Vorbis } 247 WAVE_FORMAT_OGG_VORBIS_MODE_1_PLUS = $676F; { Ogg Vorbis } 248 WAVE_FORMAT_OGG_VORBIS_MODE_2_PLUS = $6770; { Ogg Vorbis } 249 WAVE_FORMAT_OGG_VORBIS_MODE_3_PLUS = $6771; { Ogg Vorbis } 250 WAVE_FORMAT_3COM_NBX = $7000; { 3COM Corp. } 251 WAVE_FORMAT_OPUS = $704F; { Opus } 252 WAVE_FORMAT_FAAD_AAC = $706D; 253 WAVE_FORMAT_AMR_NB = $7361; { AMR Narrowband } 254 WAVE_FORMAT_AMR_WB = $7362; { AMR Wideband } 255 WAVE_FORMAT_AMR_WP = $7363; { AMR Wideband Plus } 256 WAVE_FORMAT_GSM_AMR_CBR = $7A21; { GSMA/3GPP } 257 WAVE_FORMAT_GSM_AMR_VBR_SID = $7A22; { GSMA/3GPP } 258 WAVE_FORMAT_COMVERSE_INFOSYS_G723_1 = $A100; { Comverse Infosys } 259 WAVE_FORMAT_COMVERSE_INFOSYS_AVQSBC = $A101; { Comverse Infosys } 260 WAVE_FORMAT_COMVERSE_INFOSYS_SBC = $A102; { Comverse Infosys } 261 WAVE_FORMAT_SYMBOL_G729_A = $A103; { Symbol Technologies } 262 WAVE_FORMAT_VOICEAGE_AMR_WB = $A104; { VoiceAge Corp. } 263 WAVE_FORMAT_INGENIENT_G726 = $A105; { Ingenient Technologies, Inc. } 264 WAVE_FORMAT_MPEG4_AAC = $A106; { ISO/MPEG-4 } 265 WAVE_FORMAT_ENCORE_G726 = $A107; { Encore Software } 266 WAVE_FORMAT_ZOLL_ASAO = $A108; { ZOLL Medical Corp. } 267 WAVE_FORMAT_SPEEX_VOICE = $A109; { xiph.org } 268 WAVE_FORMAT_VIANIX_MASC = $A10A; { Vianix LLC } 269 WAVE_FORMAT_WM9_SPECTRUM_ANALYZER = $A10B; { Microsoft } 270 WAVE_FORMAT_WMF_SPECTRUM_ANAYZER = $A10C; { Microsoft } 271 WAVE_FORMAT_GSM_610 = $A10D; 272 WAVE_FORMAT_GSM_620 = $A10E; 273 WAVE_FORMAT_GSM_660 = $A10F; 274 WAVE_FORMAT_GSM_690 = $A110; 275 WAVE_FORMAT_GSM_ADAPTIVE_MULTIRATE_WB = $A111; 276 WAVE_FORMAT_POLYCOM_G722 = $A112; { Polycom } 277 WAVE_FORMAT_POLYCOM_G728 = $A113; { Polycom } 278 WAVE_FORMAT_POLYCOM_G729_A = $A114; { Polycom } 279 WAVE_FORMAT_POLYCOM_SIREN = $A115; { Polycom } 280 WAVE_FORMAT_GLOBAL_IP_ILBC = $A116; { Global IP } 281 WAVE_FORMAT_RADIOTIME_TIME_SHIFT_RADIO = $A117; { RadioTime } 282 WAVE_FORMAT_NICE_ACA = $A118; { Nice Systems } 283 WAVE_FORMAT_NICE_ADPCM = $A119; { Nice Systems } 284 WAVE_FORMAT_VOCORD_G721 = $A11A; { Vocord Telecom } 285 WAVE_FORMAT_VOCORD_G726 = $A11B; { Vocord Telecom } 286 WAVE_FORMAT_VOCORD_G722_1 = $A11C; { Vocord Telecom } 287 WAVE_FORMAT_VOCORD_G728 = $A11D; { Vocord Telecom } 288 WAVE_FORMAT_VOCORD_G729 = $A11E; { Vocord Telecom } 289 WAVE_FORMAT_VOCORD_G729_A = $A11F; { Vocord Telecom } 290 WAVE_FORMAT_VOCORD_G723_1 = $A120; { Vocord Telecom } 291 WAVE_FORMAT_VOCORD_LBC = $A121; { Vocord Telecom } 292 WAVE_FORMAT_NICE_G728 = $A122; { Nice Systems } 293 WAVE_FORMAT_FRACE_TELECOM_G729 = $A123; { France Telecom } 294 WAVE_FORMAT_CODIAN = $A124; { CODIAN } 295 WAVE_FORMAT_FLAC = $F1AC; { flac.sourceforge.net } 296 WAVE_FORMAT_EXTENSIBLE = $FFFE; { Microsoft } 297 298 type 299 TChunkID = array [0..3] of char; 300 TChunkHeader = packed record 301 ID: TChunkID; 302 Size: UInt32; 303 end; 304 TRiffHeader = packed record 305 ChunkHeader: TChunkHeader; 306 Format: TChunkID; 307 end; 308 TWaveFormat = packed record 309 ChunkHeader: TChunkHeader; 310 Format: UInt16; 311 Channels: UInt16; 312 SampleRate: UInt32; 313 ByteRate: UInt32; 314 BlockAlign: UInt16; 315 BitsPerSample: UInt16; 316 end; 317 318 implementation 319 320 end. 321 322