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