{- - All raw data in here is copied from: - http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/RIFF.html -} -- | The Data section of WAVE files can contain many different types of encoded data. It -- can contain everytihng from raw PCM data (which this library uses as it's base -- encoding) to a development encoding. The encoding that was used is saved in the Format -- Chunk of the WAVE file and this module is responsible for making that one piece of data -- easier to understand and deal with. We provide a number of helper functions to make the -- AudioFormat easier to understand. module Sound.Wav.AudioFormats ( AudioFormatData , AudioFormat(..) , getAudioFormat , putAudioFormat , prettyShowAudioFormat ) where import Data.Word import Data.Maybe (fromMaybe) import Data.Tuple (swap) import qualified Data.Map as M -- | A representation of the AudioFormatData as seen in the Format Section in the header -- of a WAVE file. type AudioFormatData = Word16 -- | Extracts the actual AudioFormat from the raw AudioFormatData getAudioFormat :: AudioFormatData -- ^ The raw audio format data, likely taken from the header of a WAVE file. -> AudioFormat -- ^ The actual AudioFormat as understood by wavy. getAudioFormat key = fromMaybe defaultValue possibleKey where possibleKey = M.lookup key audioFormatMap defaultValue = UnknownFormat key -- | A conversion function from a known AudioFormat to it's representation as -- AudioFormatData. This function is useful if you are planning on writing out your WAVE -- data and sharing it. putAudioFormat :: AudioFormat -- ^ The audio format you wish to convert. -> AudioFormatData -- ^ The raw representation of the Audio Format. putAudioFormat (UnknownFormat v) = v putAudioFormat key = fromMaybe defaultValue possibleKey where possibleKey = M.lookup key reverseAudioFormatMap -- Unknown Code defaultValue = 0xe708 reverseAudioFormatMap :: M.Map AudioFormat AudioFormatData reverseAudioFormatMap = M.fromList $ fmap swap audioCodecs audioFormatMap :: M.Map AudioFormatData AudioFormat audioFormatMap = M.fromList audioCodecs audioCodecs :: [(AudioFormatData, AudioFormat)] audioCodecs = [ (0x1, MicrosoftPCM) , (0x2, MicrosoftADPCM) , (0x3, MicrosoftIEEEfloat) , (0x4, CompaqVSELP) , (0x5, IBMCVSD) , (0x6, MicrosoftaLaw) , (0x7, MicrosoftuLaw) , (0x8, MicrosoftDTS) , (0x9, DRM) , (0xa, WMA9Speech) , (0xb, MicrosoftWindowsMediaRTVoice) , (0x10, OKIADPCM) , (0x11, IntelIMADVIADPCM) , (0x12, VideologicMediaspaceADPCM) , (0x13, SierraADPCM) , (0x14, AntexG723ADPCM) , (0x15, DSPSolutionsDIGISTD) , (0x16, DSPSolutionsDIGIFIX) , (0x17, DialoicOKIADPCM) , (0x18, MediaVisionADPCM) , (0x19, HPCU) , (0x1a, HPDynamicVoice) , (0x20, YamahaADPCM) , (0x21, SONARCSpeechCompression) , (0x22, DSPGroupTrueSpeech) , (0x23, EchoSpeechCorp) , (0x24, VirtualMusicAudiofileAF36) , (0x25, AudioProcessingTech) , (0x26, VirtualMusicAudiofileAF10) , (0x27, AculabProsody1612) , (0x28, MergingTechLRC) , (0x30, DolbyAC2) , (0x31, MicrosoftGSM610) , (0x32, MSNAudio) , (0x33, AntexADPCME) , (0x34, ControlResourcesVQLPC) , (0x35, DSPSolutionsDIGIREAL) , (0x36, DSPSolutionsDIGIADPCM) , (0x37, ControlResourcesCR10) , (0x38, NaturalMicroSystemsVBXADPCM) , (0x39, CrystalSemiconductorIMAADPCM) , (0x3a, EchoSpeechECHOSC3) , (0x3b, RockwellADPCM) , (0x3c, RockwellDIGITALK) , (0x3d, XebecMultimedia) , (0x40, AntexG721ADPCM) , (0x41, AntexG728CELP) , (0x42, MicrosoftMSG723) , (0x43, IBMAVCADPCM) , (0x45, ITUTG726) , (0x50, MicrosoftMPEG) , (0x51, RT23orPAC) , (0x52, InSoftRT24) , (0x53, InSoftPAC) , (0x55, MP3) , (0x59, Cirrus) , (0x60, CirrusLogic) , (0x61, ESSTechPCM) , (0x62, VoxwareInc) , (0x63, CanopusATRAC) , (0x64, APICOMG726ADPCM) , (0x65, APICOMG722ADPCM) , (0x66, MicrosoftDSAT) , (0x67, MicorsoftDSATDISPLAY) , (0x69, VoxwareByteAligned) , (0x70, VoxwareAC8) , (0x71, VoxwareAC10) , (0x72, VoxwareAC16) , (0x73, VoxwareAC20) , (0x74, VoxwareMetaVoice) , (0x75, VoxwareMetaSound) , (0x76, VoxwareRT29HW) , (0x77, VoxwareVR12) , (0x78, VoxwareVR18) , (0x79, VoxwareTQ40) , (0x7a, VoxwareSC3) , (0x7b, VoxwareSC3) , (0x80, Soundsoft) , (0x81, VoxwareTQ60) , (0x82, MicrosoftMSRT24) , (0x83, ATandTG729A) , (0x84, MotionPixelsMVIMV12) , (0x85, DataFusionG726) , (0x86, DataFusionGSM610) , (0x88, IteratedSystemsAudio) , (0x89, Onlive) , (0x8a, MultitudeIncFTSX20) , (0x8b, InfocomITSASG721ADPCM) , (0x8c, ConvediaG729) , (0x8d, NotspecifiedcongruencyInc) , (0x91, SiemensSBC24) , (0x92, SonicFoundryDolbyAC3APDIF) , (0x93, MediaSonicG723) , (0x94, AculabProsody8kbps) , (0x97, ZyXELADPCM) , (0x98, PhilipsLPCBB) , (0x99, StuderProfessionalAudioPacked) , (0xa0, MaldenPhonyTalk) , (0xa1, RacalRecorderGSM) , (0xa2, RacalRecorderG720a) , (0xa3, RacalG7231) , (0xa4, RacalTetraACELP) , (0xb0, NECAACNECCorporation) , (0xff, AAC) , (0x100, RhetorexADPCM) , (0x101, IBMuLaw) , (0x102, IBMaLaw) , (0x103, IBMADPCM) , (0x111, VivoG723) , (0x112, VivoSiren) , (0x120, PhilipsSpeechProcessingCELP) , (0x121, PhilipsSpeechProcessingGRUNDIG) , (0x123, DigitalG723) , (0x125, SanyoLDADPCM) , (0x130, SiproLabACEPLNET) , (0x131, SiproLabACELP4800) , (0x132, SiproLabACELP8V3) , (0x133, SiproLabG729) , (0x134, SiproLabG729A) , (0x135, SiproLabKelvin) , (0x136, VoiceAgeAMR) , (0x140, DictaphoneG726ADPCM) , (0x150, QualcommPureVoice) , (0x151, QualcommHalfRate) , (0x155, RingZeroSystemsTUBGSM) , (0x160, MicrosoftAudio1) , (0x161, WindowsMediaAudioV2V7V8V9DivXaudioSpecWMAAlexAC3Audio) , (0x162, WindowsMediaAudioProfessionalV9) , (0x163, WindowsMediaAudioLosslessV9) , (0x164, WMAProoverSPDIF) , (0x170, UNISYSNAPADPCM) , (0x171, UNISYSNAPULAW) , (0x172, UNISYSNAPALAW) , (0x173, UNISYSNAP16K) , (0x174, MMSYCOMACMSYC008SyComTechnologies) , (0x175, MMSYCOMACMSYC701G726LSyComTechnologies) , (0x176, MMSYCOMACMSYC701CELP54SyComTechnologies) , (0x177, MMSYCOMACMSYC701CELP68SyComTechnologies) , (0x178, KnowledgeAdventureADPCM) , (0x180, FraunhoferIISMPEG2AAC) , (0x190, DigitalTheaterSystemsDTSDS) , (0x200, CreativeLabsADPCM) , (0x202, CreativeLabsFASTSPEECH8) , (0x203, CreativeLabsFASTSPEECH10) , (0x210, UHERADPCM) , (0x215, UleadDVACM) , (0x216, UleadDVACM) , (0x220, QuarterdeckCorp) , (0x230, ILinkVC) , (0x240, AurealSemiconductorRawSport) , (0x241, ESSTAC3) , (0x250, InteractiveProductsHSX) , (0x251, InteractiveProductsRPELP) , (0x260, ConsistentCS2) , (0x270, SonySCX) , (0x271, SonySCY) , (0x272, SonyATRAC3) , (0x273, SonySPC) , (0x280, TELUMTelumInc) , (0x281, TELUMIATelumInc) , (0x285, NorcomVoiceSystemsADPCM) , (0x300, FujitsuFMTOWNSSND) , (0x301, FujitsuSpecnotspecified) , (0x302, FujitsuSpecnotspecified) , (0x303, FujitsuSpecnotspecified) , (0x304, FujitsuSpecnotspecified) , (0x305, FujitsuSpecnotspecified) , (0x306, FujitsuSpecnotspecified) , (0x307, FujitsuSpecnotspecified) , (0x308, FujitsuSpecnotspecified) , (0x350, MicronasSemiconductorsIncDevelopment) , (0x351, MicronasSemiconductorsIncCELP833) , (0x400, BrooktreeDigital) , (0x401, IntelMusicCoderSpecIMC) , (0x402, LigosIndeoAudio) , (0x450, QDesignMusic) , (0x500, On2VP7On2Technologies) , (0x501, On2VP6On2Technologies) , (0x680, ATandTVMEVMPCM) , (0x681, ATandTTCP) , (0x700, YMPEGAlphaSpecdummyforMPEG2compressor) , (0x8ae, ClearJumpLiteWaveSpeclossless) , (0x1000, OlivettiGSM) , (0x1001, OlivettiADPCM) , (0x1002, OlivettiCELP) , (0x1003, OlivettiSBC) , (0x1004, OlivettiOPR) , (0x1100, LernoutandHauspie) , (0x1101, LernoutandHauspieCELPcodec) , (0x1102, LernoutandHauspieSBCcodec) , (0x1103, LernoutandHauspieSBCcodec) , (0x1104, LernoutandHauspieSBCcodec) , (0x1400, NorrisCommInc) , (0x1401, ISIAudio) , (0x1500, ATandTSoundspaceMusicCompression) , (0x181c, VoxWareRT24speechcodec) , (0x181e, LucentelemediaAX24000PMusiccodec) , (0x1971, SonicFoundryLOSSLESS) , (0x1979, InningsTelecomIncADPCM) , (0x1c07, LucentSX8300Pspeechcodec) , (0x1c0c, LucentSX5363SG723compliantcodec) , (0x1f03, CUseeMeDigiTalkSpecexRocwell) , (0x1fc4, NCTSoftALF2CDACM) , (0x2000, FASTMultimediaDVM) , (0x2001, DolbyDTSSpecDigitalTheaterSystem) , (0x2002, RealAudio12144) , (0x2003, RealAudio1Slash2288) , (0x2004, RealAudioG2Slash8CookSpeclowbitrate) , (0x2005, RealAudio3Slash4Slash5MusicSpecDNET) , (0x2006, RealAudio10AACSpecRAAC) , (0x2007, RealAudio10AACPlusSpecRACP) , (0x2500, Reservedrangeto0x2600Microsoft) , (0x3313, MakeAVISSpecffvfwfakeAVIsoundfromAviSynthscripts) , (0x4143, DivioMPEG4AACaudio) , (0x4201, Nokiaadaptivemultirate) , (0x4243, DivioG726DivioInc) , (0x434c, LEADSpeech) , (0x564c, LEADVorbis) , (0x5756, WavPackAudio) , (0x674f, OggVorbisSpecmode1) , (0x6750, OggVorbisSpecmode2) , (0x6751, OggVorbisSpecmode3) , (0x676f, OggVorbisSpecmode1Plus) , (0x6770, OggVorbisSpecmode2Plus) , (0x6771, OggVorbisSpecmode3Plus) , (0x7000, ThreeCOMNBX3ComCorporation) , (0x706d, FAADAAC) , (0x7a21, GSMAMRSpecCBRnoSID) , (0x7a22, GSMAMRSpecVBRincludingSID) , (0xa100, ComverseInfosysLtdG7231) , (0xa101, ComverseInfosysLtdAVQSBC) , (0xa102, ComverseInfosysLtdOLDSBC) , (0xa103, SymbolTechnologiesG729A) , (0xa104, VoiceAgeAMRWBVoiceAgeCorporation) , (0xa105, IngenientTechnologiesIncG726) , (0xa106, ISOSlashMPEG4advancedaudioCoding) , (0xa107, EncoreSoftwareLtdG726) , (0xa109, SpeexACMCodecxiphorg) , (0xdfac, DebugModeSonicFoundryVegasFrameServerACMCodec) , (0xe708, Unknown) , (0xf1ac, FreeLosslessAudioCodecFLAC) , (0xfffe, Extensible) , (0xffff, Development) ] -- | This is a massive data structure that contains every single different audio format -- that I could find. It allows us to represent AudioFormats in a very human readable and -- easy to understand manner insize wavy. This data structure will be constantly growing -- and changing. Do not be surprised if names change or elements are added. Because this -- list is always growing we have an UnknownFormat element that can wrap and -- AudioFormatData so that, in the event that we do not know about an audio format. You -- can still deal with it naturally. data AudioFormat = MicrosoftPCM | MicrosoftADPCM | MicrosoftIEEEfloat | CompaqVSELP | IBMCVSD | MicrosoftaLaw | MicrosoftuLaw | MicrosoftDTS | DRM | WMA9Speech | MicrosoftWindowsMediaRTVoice | OKIADPCM | IntelIMADVIADPCM | VideologicMediaspaceADPCM | SierraADPCM | AntexG723ADPCM | DSPSolutionsDIGISTD | DSPSolutionsDIGIFIX | DialoicOKIADPCM | MediaVisionADPCM | HPCU | HPDynamicVoice | YamahaADPCM | SONARCSpeechCompression | DSPGroupTrueSpeech | EchoSpeechCorp | VirtualMusicAudiofileAF36 | AudioProcessingTech | VirtualMusicAudiofileAF10 | AculabProsody1612 | MergingTechLRC | DolbyAC2 | MicrosoftGSM610 | MSNAudio | AntexADPCME | ControlResourcesVQLPC | DSPSolutionsDIGIREAL | DSPSolutionsDIGIADPCM | ControlResourcesCR10 | NaturalMicroSystemsVBXADPCM | CrystalSemiconductorIMAADPCM | EchoSpeechECHOSC3 | RockwellADPCM | RockwellDIGITALK | XebecMultimedia | AntexG721ADPCM | AntexG728CELP | MicrosoftMSG723 | IBMAVCADPCM | ITUTG726 | MicrosoftMPEG | RT23orPAC | InSoftRT24 | InSoftPAC | MP3 | Cirrus | CirrusLogic | ESSTechPCM | VoxwareInc | CanopusATRAC | APICOMG726ADPCM | APICOMG722ADPCM | MicrosoftDSAT | MicorsoftDSATDISPLAY | VoxwareByteAligned | VoxwareAC8 | VoxwareAC10 | VoxwareAC16 | VoxwareAC20 | VoxwareMetaVoice | VoxwareMetaSound | VoxwareRT29HW | VoxwareVR12 | VoxwareVR18 | VoxwareTQ40 | VoxwareSC3 | Soundsoft | VoxwareTQ60 | MicrosoftMSRT24 | ATandTG729A | MotionPixelsMVIMV12 | DataFusionG726 | DataFusionGSM610 | IteratedSystemsAudio | Onlive | MultitudeIncFTSX20 | InfocomITSASG721ADPCM | ConvediaG729 | NotspecifiedcongruencyInc | SiemensSBC24 | SonicFoundryDolbyAC3APDIF | MediaSonicG723 | AculabProsody8kbps | ZyXELADPCM | PhilipsLPCBB | StuderProfessionalAudioPacked | MaldenPhonyTalk | RacalRecorderGSM | RacalRecorderG720a | RacalG7231 | RacalTetraACELP | NECAACNECCorporation | AAC | RhetorexADPCM | IBMuLaw | IBMaLaw | IBMADPCM | VivoG723 | VivoSiren | PhilipsSpeechProcessingCELP | PhilipsSpeechProcessingGRUNDIG | DigitalG723 | SanyoLDADPCM | SiproLabACEPLNET | SiproLabACELP4800 | SiproLabACELP8V3 | SiproLabG729 | SiproLabG729A | SiproLabKelvin | VoiceAgeAMR | DictaphoneG726ADPCM | QualcommPureVoice | QualcommHalfRate | RingZeroSystemsTUBGSM | MicrosoftAudio1 | WindowsMediaAudioV2V7V8V9DivXaudioSpecWMAAlexAC3Audio | WindowsMediaAudioProfessionalV9 | WindowsMediaAudioLosslessV9 | WMAProoverSPDIF | UNISYSNAPADPCM | UNISYSNAPULAW | UNISYSNAPALAW | UNISYSNAP16K | MMSYCOMACMSYC008SyComTechnologies | MMSYCOMACMSYC701G726LSyComTechnologies | MMSYCOMACMSYC701CELP54SyComTechnologies | MMSYCOMACMSYC701CELP68SyComTechnologies | KnowledgeAdventureADPCM | FraunhoferIISMPEG2AAC | DigitalTheaterSystemsDTSDS | CreativeLabsADPCM | CreativeLabsFASTSPEECH8 | CreativeLabsFASTSPEECH10 | UHERADPCM | UleadDVACM | QuarterdeckCorp | ILinkVC | AurealSemiconductorRawSport | ESSTAC3 | InteractiveProductsHSX | InteractiveProductsRPELP | ConsistentCS2 | SonySCX | SonySCY | SonyATRAC3 | SonySPC | TELUMTelumInc | TELUMIATelumInc | NorcomVoiceSystemsADPCM | FujitsuFMTOWNSSND | FujitsuSpecnotspecified | MicronasSemiconductorsIncDevelopment | MicronasSemiconductorsIncCELP833 | BrooktreeDigital | IntelMusicCoderSpecIMC | LigosIndeoAudio | QDesignMusic | On2VP7On2Technologies | On2VP6On2Technologies | ATandTVMEVMPCM | ATandTTCP | YMPEGAlphaSpecdummyforMPEG2compressor | ClearJumpLiteWaveSpeclossless | OlivettiGSM | OlivettiADPCM | OlivettiCELP | OlivettiSBC | OlivettiOPR | LernoutandHauspie | LernoutandHauspieCELPcodec | LernoutandHauspieSBCcodec | NorrisCommInc | ISIAudio | ATandTSoundspaceMusicCompression | VoxWareRT24speechcodec | LucentelemediaAX24000PMusiccodec | SonicFoundryLOSSLESS | InningsTelecomIncADPCM | LucentSX8300Pspeechcodec | LucentSX5363SG723compliantcodec | CUseeMeDigiTalkSpecexRocwell | NCTSoftALF2CDACM | FASTMultimediaDVM | DolbyDTSSpecDigitalTheaterSystem | RealAudio12144 | RealAudio1Slash2288 | RealAudioG2Slash8CookSpeclowbitrate | RealAudio3Slash4Slash5MusicSpecDNET | RealAudio10AACSpecRAAC | RealAudio10AACPlusSpecRACP | Reservedrangeto0x2600Microsoft | MakeAVISSpecffvfwfakeAVIsoundfromAviSynthscripts | DivioMPEG4AACaudio | Nokiaadaptivemultirate | DivioG726DivioInc | LEADSpeech | LEADVorbis | WavPackAudio | OggVorbisSpecmode1 | OggVorbisSpecmode2 | OggVorbisSpecmode3 | OggVorbisSpecmode1Plus | OggVorbisSpecmode2Plus | OggVorbisSpecmode3Plus | ThreeCOMNBX3ComCorporation | FAADAAC | GSMAMRSpecCBRnoSID | GSMAMRSpecVBRincludingSID | ComverseInfosysLtdG7231 | ComverseInfosysLtdAVQSBC | ComverseInfosysLtdOLDSBC | SymbolTechnologiesG729A | VoiceAgeAMRWBVoiceAgeCorporation | IngenientTechnologiesIncG726 | ISOSlashMPEG4advancedaudioCoding | EncoreSoftwareLtdG726 | SpeexACMCodecxiphorg | DebugModeSonicFoundryVegasFrameServerACMCodec | Unknown | FreeLosslessAudioCodecFLAC | Extensible | Development | UnknownFormat AudioFormatData deriving(Show, Eq, Ord) -- | This function is reponsible for converting an AudioFormat into a representation that -- is human readable and what people would expect. It is useful if you need to display -- your AudioFormat to a human and you want to know, quickly, what to call it. prettyShowAudioFormat :: AudioFormat -- ^ The audio format that you wish to display to a human. -> String -- ^ The human readable description of this audio format. prettyShowAudioFormat (UnknownFormat formatNumber) = "Unknown Audio Format (Code: " ++ show formatNumber ++ ")" prettyShowAudioFormat xs = fromMaybe (noPretty xs) $ M.lookup xs audioFormatShow where noPretty :: AudioFormat -> String noPretty = ("Raw Format: " ++) . show audioFormatShow :: M.Map AudioFormat String audioFormatShow = M.fromList [ (MicrosoftPCM, "Microsoft PCM") , (MicrosoftADPCM, "Microsoft ADPCM") , (MicrosoftIEEEfloat, "Microsoft IEEE float") , (CompaqVSELP, "Compaq VSELP") , (IBMCVSD, "IBM CVSD") , (MicrosoftaLaw, "Microsoft a-Law") , (MicrosoftuLaw, "Microsoft u-Law") , (MicrosoftDTS, "Microsoft DTS") , (DRM, "DRM") , (WMA9Speech, "WMA 9 Speech") , (MicrosoftWindowsMediaRTVoice, "Microsoft Windows Media RT Voice") , (OKIADPCM, "OKI-ADPCM") , (IntelIMADVIADPCM, "Intel IMA/DVI-ADPCM") , (VideologicMediaspaceADPCM, "Videologic Mediaspace ADPCM") , (SierraADPCM, "Sierra ADPCM") , (AntexG723ADPCM, "Antex G.723 ADPCM") , (DSPSolutionsDIGISTD, "DSP Solutions DIGISTD") , (DSPSolutionsDIGIFIX, "DSP Solutions DIGIFIX") , (DialoicOKIADPCM, "Dialoic OKI ADPCM") , (MediaVisionADPCM, "Media Vision ADPCM") , (HPCU, "HP CU") , (HPDynamicVoice, "HP Dynamic Voice") , (YamahaADPCM, "Yamaha ADPCM") , (SONARCSpeechCompression, "SONARC Speech Compression") , (DSPGroupTrueSpeech, "DSP Group True Speech") , (EchoSpeechCorp, "Echo Speech Corp.") , (VirtualMusicAudiofileAF36, "Virtual Music Audiofile AF36") , (AudioProcessingTech, "Audio Processing Tech.") , (VirtualMusicAudiofileAF10, "Virtual Music Audiofile AF10") , (AculabProsody1612, "Aculab Prosody 1612") , (MergingTechLRC, "Merging Tech. LRC") , (DolbyAC2, "Dolby AC2") , (MicrosoftGSM610, "Microsoft GSM610") , (MSNAudio, "MSN Audio") , (AntexADPCME, "Antex ADPCME") , (ControlResourcesVQLPC, "Control Resources VQLPC") , (DSPSolutionsDIGIREAL, "DSP Solutions DIGIREAL") , (DSPSolutionsDIGIADPCM, "DSP Solutions DIGIADPCM") , (ControlResourcesCR10, "Control Resources CR10") , (NaturalMicroSystemsVBXADPCM, "Natural MicroSystems VBX ADPCM") , (CrystalSemiconductorIMAADPCM, "Crystal Semiconductor IMA ADPCM") , (EchoSpeechECHOSC3, "Echo Speech ECHOSC3") , (RockwellADPCM, "Rockwell ADPCM") , (RockwellDIGITALK, "Rockwell DIGITALK") , (XebecMultimedia, "Xebec Multimedia") , (AntexG721ADPCM, "Antex G.721 ADPCM") , (AntexG728CELP, "Antex G.728 CELP") , (MicrosoftMSG723, "Microsoft MSG723") , (IBMAVCADPCM, "IBM AVC ADPCM") , (ITUTG726, "ITU-T G.726") , (MicrosoftMPEG, "Microsoft MPEG") , (RT23orPAC, "RT23 or PAC") , (InSoftRT24, "InSoft RT24") , (InSoftPAC, "InSoft PAC") , (MP3, "MP3") , (Cirrus, "Cirrus") , (CirrusLogic, "Cirrus Logic") , (ESSTechPCM, "ESS Tech. PCM") , (VoxwareInc, "Voxware Inc.") , (CanopusATRAC, "Canopus ATRAC") , (APICOMG726ADPCM, "APICOM G.726 ADPCM") , (APICOMG722ADPCM, "APICOM G.722 ADPCM") , (MicrosoftDSAT, "Microsoft DSAT") , (MicorsoftDSATDISPLAY, "Micorsoft DSAT DISPLAY") , (VoxwareByteAligned, "Voxware Byte Aligned") , (VoxwareAC8, "Voxware AC8") , (VoxwareAC10, "Voxware AC10") , (VoxwareAC16, "Voxware AC16") , (VoxwareAC20, "Voxware AC20") , (VoxwareMetaVoice, "Voxware MetaVoice") , (VoxwareMetaSound, "Voxware MetaSound") , (VoxwareRT29HW, "Voxware RT29HW") , (VoxwareVR12, "Voxware VR12") , (VoxwareVR18, "Voxware VR18") , (VoxwareTQ40, "Voxware TQ40") , (VoxwareSC3, "Voxware SC3") , (VoxwareSC3, "Voxware SC3") , (Soundsoft, "Soundsoft") , (VoxwareTQ60, "Voxware TQ60") , (MicrosoftMSRT24, "Microsoft MSRT24") , (ATandTG729A, "AT&T G.729A") , (MotionPixelsMVIMV12, "Motion Pixels MVI MV12") , (DataFusionG726, "DataFusion G.726") , (DataFusionGSM610, "DataFusion GSM610") , (IteratedSystemsAudio, "Iterated Systems Audio") , (Onlive, "Onlive") , (MultitudeIncFTSX20, "Multitude, Inc. FT SX20") , (InfocomITSASG721ADPCM, "Infocom ITS A/S G.721 ADPCM") , (ConvediaG729, "Convedia G729") , (NotspecifiedcongruencyInc, "Not specified congruency, Inc.") , (SiemensSBC24, "Siemens SBC24") , (SonicFoundryDolbyAC3APDIF, "Sonic Foundry Dolby AC3 APDIF") , (MediaSonicG723, "MediaSonic G.723") , (AculabProsody8kbps, "Aculab Prosody 8kbps") , (ZyXELADPCM, "ZyXEL ADPCM") , (PhilipsLPCBB, "Philips LPCBB") , (StuderProfessionalAudioPacked, "Studer Professional Audio Packed") , (MaldenPhonyTalk, "Malden PhonyTalk") , (RacalRecorderGSM, "Racal Recorder GSM") , (RacalRecorderG720a, "Racal Recorder G720.a") , (RacalG7231, "Racal G723.1") , (RacalTetraACELP, "Racal Tetra ACELP") , (NECAACNECCorporation, "NEC AAC NEC Corporation") , (AAC, "AAC") , (RhetorexADPCM, "Rhetorex ADPCM") , (IBMuLaw, "IBM u-Law") , (IBMaLaw, "IBM a-Law") , (IBMADPCM, "IBM ADPCM") , (VivoG723, "Vivo G.723") , (VivoSiren, "Vivo Siren") , (PhilipsSpeechProcessingCELP, "Philips Speech Processing CELP") , (PhilipsSpeechProcessingGRUNDIG, "Philips Speech Processing GRUNDIG") , (DigitalG723, "Digital G.723") , (SanyoLDADPCM, "Sanyo LD ADPCM") , (SiproLabACEPLNET, "Sipro Lab ACEPLNET") , (SiproLabACELP4800, "Sipro Lab ACELP4800") , (SiproLabACELP8V3, "Sipro Lab ACELP8V3") , (SiproLabG729, "Sipro Lab G.729") , (SiproLabG729A, "Sipro Lab G.729A") , (SiproLabKelvin, "Sipro Lab Kelvin") , (VoiceAgeAMR, "VoiceAge AMR") , (DictaphoneG726ADPCM, "Dictaphone G.726 ADPCM") , (QualcommPureVoice, "Qualcomm PureVoice") , (QualcommHalfRate, "Qualcomm HalfRate") , (RingZeroSystemsTUBGSM, "Ring Zero Systems TUBGSM") , (MicrosoftAudio1, "Microsoft Audio1") , (WindowsMediaAudioV2V7V8V9DivXaudioSpecWMAAlexAC3Audio, "Windows Media Audio V2 V7 V8 V9 / DivX audio (WMA) / Alex AC3 Audio") , (WindowsMediaAudioProfessionalV9, "Windows Media Audio Professional V9") , (WindowsMediaAudioLosslessV9, "Windows Media Audio Lossless V9") , (WMAProoverSPDIF, "WMA Pro over S/PDIF") , (UNISYSNAPADPCM, "UNISYS NAP ADPCM") , (UNISYSNAPULAW, "UNISYS NAP ULAW") , (UNISYSNAPALAW, "UNISYS NAP ALAW") , (UNISYSNAP16K, "UNISYS NAP 16K") , (MMSYCOMACMSYC008SyComTechnologies, "MM SYCOM ACM SYC008 SyCom Technologies") , (MMSYCOMACMSYC701G726LSyComTechnologies, "MM SYCOM ACM SYC701 G726L SyCom Technologies") , (MMSYCOMACMSYC701CELP54SyComTechnologies, "MM SYCOM ACM SYC701 CELP54 SyCom Technologies") , (MMSYCOMACMSYC701CELP68SyComTechnologies, "MM SYCOM ACM SYC701 CELP68 SyCom Technologies") , (KnowledgeAdventureADPCM, "Knowledge Adventure ADPCM") , (FraunhoferIISMPEG2AAC, "Fraunhofer IIS MPEG2AAC") , (DigitalTheaterSystemsDTSDS, "Digital Theater Systems DTS DS") , (CreativeLabsADPCM, "Creative Labs ADPCM") , (CreativeLabsFASTSPEECH8, "Creative Labs FASTSPEECH8") , (CreativeLabsFASTSPEECH10, "Creative Labs FASTSPEECH10") , (UHERADPCM, "UHER ADPCM") , (UleadDVACM, "Ulead DV ACM") , (UleadDVACM, "Ulead DV ACM") , (QuarterdeckCorp, "Quarterdeck Corp.") , (ILinkVC, "I-Link VC") , (AurealSemiconductorRawSport, "Aureal Semiconductor Raw Sport") , (ESSTAC3, "ESST AC3") , (InteractiveProductsHSX, "Interactive Products HSX") , (InteractiveProductsRPELP, "Interactive Products RPELP") , (ConsistentCS2, "Consistent CS2") , (SonySCX, "Sony SCX") , (SonySCY, "Sony SCY") , (SonyATRAC3, "Sony ATRAC3") , (SonySPC, "Sony SPC") , (TELUMTelumInc, "TELUM Telum Inc.") , (TELUMIATelumInc, "TELUMIA Telum Inc.") , (NorcomVoiceSystemsADPCM, "Norcom Voice Systems ADPCM") , (FujitsuFMTOWNSSND, "Fujitsu FM TOWNS SND") , (FujitsuSpecnotspecified, "Fujitsu (not specified)") , (MicronasSemiconductorsIncDevelopment, "Micronas Semiconductors, Inc. Development") , (MicronasSemiconductorsIncCELP833, "Micronas Semiconductors, Inc. CELP833") , (BrooktreeDigital, "Brooktree Digital") , (IntelMusicCoderSpecIMC, "Intel Music Coder (IMC)") , (LigosIndeoAudio, "Ligos Indeo Audio") , (QDesignMusic, "QDesign Music") , (On2VP7On2Technologies, "On2 VP7 On2 Technologies") , (On2VP6On2Technologies, "On2 VP6 On2 Technologies") , (ATandTVMEVMPCM, "AT&T VME VMPCM") , (ATandTTCP, "AT&T TCP") , (YMPEGAlphaSpecdummyforMPEG2compressor, "YMPEG Alpha (dummy for MPEG-2 compressor)") , (ClearJumpLiteWaveSpeclossless, "ClearJump LiteWave (lossless)") , (OlivettiGSM, "Olivetti GSM") , (OlivettiADPCM, "Olivetti ADPCM") , (OlivettiCELP, "Olivetti CELP") , (OlivettiSBC, "Olivetti SBC") , (OlivettiOPR, "Olivetti OPR") , (LernoutandHauspie, "Lernout & Hauspie") , (LernoutandHauspieCELPcodec, "Lernout & Hauspie CELP codec") , (LernoutandHauspieSBCcodec, "Lernout & Hauspie SBC codec") , (LernoutandHauspieSBCcodec, "Lernout & Hauspie SBC codec") , (LernoutandHauspieSBCcodec, "Lernout & Hauspie SBC codec") , (NorrisCommInc, "Norris Comm. Inc.") , (ISIAudio, "ISIAudio") , (ATandTSoundspaceMusicCompression, "AT&T Soundspace Music Compression") , (VoxWareRT24speechcodec, "VoxWare RT24 speech codec") , (LucentelemediaAX24000PMusiccodec, "Lucent elemedia AX24000P Music codec") , (SonicFoundryLOSSLESS, "Sonic Foundry LOSSLESS") , (InningsTelecomIncADPCM, "Innings Telecom Inc. ADPCM") , (LucentSX8300Pspeechcodec, "Lucent SX8300P speech codec") , (LucentSX5363SG723compliantcodec, "Lucent SX5363S G.723 compliant codec") , (CUseeMeDigiTalkSpecexRocwell, "CUseeMe DigiTalk (ex-Rocwell)") , (NCTSoftALF2CDACM, "NCT Soft ALF2CD ACM") , (FASTMultimediaDVM, "FAST Multimedia DVM") , (DolbyDTSSpecDigitalTheaterSystem, "Dolby DTS (Digital Theater System)") , (RealAudio12144, "RealAudio 1 / 2 14.4") , (RealAudio1Slash2288, "RealAudio 1 / 2 28.8") , (RealAudioG2Slash8CookSpeclowbitrate, "RealAudio G2 / 8 Cook (low bitrate)") , (RealAudio3Slash4Slash5MusicSpecDNET, "RealAudio 3 / 4 / 5 Music (DNET)") , (RealAudio10AACSpecRAAC, "RealAudio 10 AAC (RAAC)") , (RealAudio10AACPlusSpecRACP, "RealAudio 10 AAC+ (RACP)") , (Reservedrangeto0x2600Microsoft, "Reserved range to 0x2600 Microsoft") , (MakeAVISSpecffvfwfakeAVIsoundfromAviSynthscripts, "makeAVIS (ffvfw fake AVI sound from AviSynth scripts)") , (DivioMPEG4AACaudio, "Divio MPEG-4 AAC audio") , (Nokiaadaptivemultirate, "Nokia adaptive multirate") , (DivioG726DivioInc, "Divio G726 Divio, Inc.") , (LEADSpeech, "LEAD Speech") , (LEADVorbis, "LEAD Vorbis") , (WavPackAudio, "WavPack Audio") , (OggVorbisSpecmode1, "Ogg Vorbis (mode 1)") , (OggVorbisSpecmode2, "Ogg Vorbis (mode 2)") , (OggVorbisSpecmode3, "Ogg Vorbis (mode 3)") , (OggVorbisSpecmode1Plus, "Ogg Vorbis (mode 1+)") , (OggVorbisSpecmode2Plus, "Ogg Vorbis (mode 2+)") , (OggVorbisSpecmode3Plus, "Ogg Vorbis (mode 3+)") , (ThreeCOMNBX3ComCorporation, "3COM NBX 3Com Corporation") , (FAADAAC, "FAAD AAC") , (GSMAMRSpecCBRnoSID, "GSM-AMR (CBR, no SID)") , (GSMAMRSpecVBRincludingSID, "GSM-AMR (VBR, including SID)") , (ComverseInfosysLtdG7231, "Comverse Infosys Ltd. G723 1") , (ComverseInfosysLtdAVQSBC, "Comverse Infosys Ltd. AVQSBC") , (ComverseInfosysLtdOLDSBC, "Comverse Infosys Ltd. OLDSBC") , (SymbolTechnologiesG729A, "Symbol Technologies G729A") , (VoiceAgeAMRWBVoiceAgeCorporation, "VoiceAge AMR WB VoiceAge Corporation") , (IngenientTechnologiesIncG726, "Ingenient Technologies Inc. G726") , (ISOSlashMPEG4advancedaudioCoding, "ISO/MPEG-4 advanced audio Coding") , (EncoreSoftwareLtdG726, "Encore Software Ltd G726") , (SpeexACMCodecxiphorg, "Speex ACM Codec xiph.org") , (DebugModeSonicFoundryVegasFrameServerACMCodec, "DebugMode SonicFoundry Vegas FrameServer ACM Codec") , (Unknown, "Unknown -") , (FreeLosslessAudioCodecFLAC, "Free Lossless Audio Codec FLAC") , (Extensible, "Extensible") , (Development, "Development") ]