|
Jeff, In case of compressed .wav file, the "fact" chunk indicates the number of uncompressed samples. Included is an example of .wav file that contains compressed data (ACELP), with the "fact" chunk included. Regards, /Shaofeng --- Jeff Brower <> wrote: > Shaofeng- > > > The 'fact' chunk is required for all compressed > audio > > formats, and for the case where the data is > included > > in 'wavl' list chunk. > > What kind of .wav files typically contain non-PCM > data? Can you give some > typical examples? Do they still have .wav > extensions, or some other > extensions? > > Thanks. > > -Jeff > > > --- Jeff Brower <> wrote: > >> Shaofeng- > >> > >> FWIW, most .wav files are 44 byte header (e.g. > >> Microsoft examples included with > >> WinXX) and don't have the 'fact' tag. > >> > >> Jeff Brower > >> system engineer > >> Signalogic > >> > >> Shaofeng Li wrote: > >> > > >> > Padmalatha, > >> > > >> > You can refer to this link for wave format: > >> > > >> > > >> > > > http://ccrma-www.stanford.edu/CCRMA/Courses/422/projects/WaveFormat/ > >> > > >> > Your wave file is formatted as follows: > >> > > >> > Chunk Id = 'RIFF' > >> > Chunk Size = 5996 > >> > Format = 'WAVE' > >> > > >> > Subchunk Id = 'fmt ' > >> > Subchunk Size = 18 > >> > AudioFormat = 0x0007 (WAVE_FORMAT_MULAW) > >> > NumChannels = 1 > >> > SampleRate = 8000 > >> > ByteRate = 8000 > >> > BlockAlign = 1 > >> > BitsPerSample = 8 > >> > ExtraParamLen = 2 > >> > ExtraParamVal = 0x0000 > >> > > >> > Subchunk Id = 'fact' > >> > Subchunk Size = 4 > >> > Subchunk Val = 0xe8160000 > >> > > >> > Subchunk Id = 'data' > >> > Subchunk Size = 5864 > >> > > >> > Regards, > >> > /Shaofeng > >> > > >> > --- Padmalatha Y <> > wrote: > >> > > Hi All, > >> > > > >> > > Can any one tell me the wave header > for > >> > > mu-law and A-law. I have a wave file which is > >> mu-law > >> > > 8-bit mono which has 56 bytes as header. I > want > >> to > >> > > know in what format are these bytes arranged. > >> The > >> > > following 56 byte header is provided for > >> reference. > >> > > > >> > > 52 49 46 46 6C 17 00 00 57 41 56 45 66 6D 74 > 20 > >> > > 12 00 00 00 07 00 01 00 40 1F 00 00 40 1F 00 > 00 > >> > > 01 00 08 00 00 00 66 61 63 74 04 00 00 00 E8 > 16 > >> > > 00 00 64 61 74 61 E8 16 00 00 > >> > > > >> > > > >> > > Thanks in advance, > >> > > Padmalatha > > > > > > __________________________________ > > > > > > > > ------------------------ Yahoo! Groups Sponsor > ---------------------~--> > > Buy Ink Cartridges or Refill Kits for Your HP, > Epson, Canon or Lexmark > > Printer at Myinks.com. Free s/h on orders $50 or > more to the US & Canada. > > http://www.c1tracking.com/l.asp?cidU11 > > > http://us.click.yahoo.com/l.m7sD/LIdGAA/qnsNAA/GP4qlB/TM > > > ---------------------------------~-> > > > > _____________________________________ > > Note: If you do a simple "reply" with your email > client, only the author > > of this message will receive your answer. You > need to do a "reply all" if > > you want your answer to be distributed to the > entire group. > > > > _____________________________________ > > About this discussion group: > > > > To Join: > > > > To Post: > > > > To Leave: > > > > Archives: > http://www.yahoogroups.com/group/speechcoding > > > > Other DSP-Related Groups: > http://www.dsprelated.com > > > > > > ">http://docs.yahoo.com/info/terms/ > > > > > > > __________________________________ | |||
|
Wave header format for mu-law and A-law
Started by ●August 27, 2003
Reply by ●September 1, 20032003-09-01
Reply by ●September 1, 20032003-09-01
|
Shaofeng- > In case of compressed .wav file, the "fact" chunk > indicates the number of uncompressed samples. > > Included is an example of .wav file that contains > compressed data (ACELP), with the "fact" chunk > included. Thanks for the example. Ok, I think I've got it now: the fmt tag contains the PCM identifier/codec ID and the length of compressed data; the FACT tag is a placeholder to provide the length of PCM data after compression, since there's not a spot for it in the standard fmt tag. Is that correct? I notice that mplayer2 can handle your ACELP example, but mplayer and Winamp cannot. Is there a list somewhere of codecs supported by WMP? Is it possible to create user-defined plug-ins and additional codec identifier definitions for WMP so they can handle other codec types? My company does work on mil/gov codecs like MELPe; making it possible for people to click on a MELPe compressed file using WMP would be very convenient. -Jeff > --- Jeff Brower <> wrote: > > Shaofeng- > > > > > The 'fact' chunk is required for all compressed > > audio > > > formats, and for the case where the data is > > included > > > in 'wavl' list chunk. > > > > What kind of .wav files typically contain non-PCM > > data? Can you give some > > typical examples? Do they still have .wav > > extensions, or some other > > extensions? > > > > Thanks. > > > > -Jeff > > > > > --- Jeff Brower <> wrote: > > >> Shaofeng- > > >> > > >> FWIW, most .wav files are 44 byte header (e.g. > > >> Microsoft examples included with > > >> WinXX) and don't have the 'fact' tag. > > >> > > >> Jeff Brower > > >> system engineer > > >> Signalogic > > >> > > >> Shaofeng Li wrote: > > >> > > > >> > Padmalatha, > > >> > > > >> > You can refer to this link for wave format: > > >> > > > >> > > > >> > > > > > > http://ccrma-www.stanford.edu/CCRMA/Courses/422/projects/WaveFormat/ > > >> > > > >> > Your wave file is formatted as follows: > > >> > > > >> > Chunk Id = 'RIFF' > > >> > Chunk Size = 5996 > > >> > Format = 'WAVE' > > >> > > > >> > Subchunk Id = 'fmt ' > > >> > Subchunk Size = 18 > > >> > AudioFormat = 0x0007 (WAVE_FORMAT_MULAW) > > >> > NumChannels = 1 > > >> > SampleRate = 8000 > > >> > ByteRate = 8000 > > >> > BlockAlign = 1 > > >> > BitsPerSample = 8 > > >> > ExtraParamLen = 2 > > >> > ExtraParamVal = 0x0000 > > >> > > > >> > Subchunk Id = 'fact' > > >> > Subchunk Size = 4 > > >> > Subchunk Val = 0xe8160000 > > >> > > > >> > Subchunk Id = 'data' > > >> > Subchunk Size = 5864 > > >> > > > >> > Regards, > > >> > /Shaofeng > > >> > > > >> > --- Padmalatha Y <> > > wrote: > > >> > > Hi All, > > >> > > > > >> > > Can any one tell me the wave header > > for > > >> > > mu-law and A-law. I have a wave file which is > > >> mu-law > > >> > > 8-bit mono which has 56 bytes as header. I > > want > > >> to > > >> > > know in what format are these bytes arranged. > > >> The > > >> > > following 56 byte header is provided for > > >> reference. > > >> > > > > >> > > 52 49 46 46 6C 17 00 00 57 41 56 45 66 6D 74 > > 20 > > >> > > 12 00 00 00 07 00 01 00 40 1F 00 00 40 1F 00 > > 00 > > >> > > 01 00 08 00 00 00 66 61 63 74 04 00 00 00 E8 > > 16 > > >> > > 00 00 64 61 74 61 E8 16 00 00 > > >> > > > > >> > > > > >> > > Thanks in advance, > > >> > > Padmalatha |
|
|
Reply by ●September 2, 20032003-09-02
|
Mark- > > I notice that mplayer2 can handle your ACELP example, but mplayer and Winamp cannot. > > Is there a list somewhere of codecs supported by WMP? Is it possible to create > > user-defined plug-ins and additional codec identifier definitions for WMP so they can > > handle other codec types? My company does work on mil/gov codecs like MELPe; making > > it possible for people to click on a MELPe compressed file using WMP would be very > > convenient. > > Yes, to write your own Winamp decoder plug-in, read this: > > http://www.winamp.com/nsdn/winamp2x/dev/plugins/in.jhtml Thanks very much for your help. Could you double-check the link above? I got a 500 error when I tried. -Jeff > > -Jeff > > > > > > > --- Jeff Brower <> wrote: > > > > Shaofeng- > > > > > > > > > The 'fact' chunk is required for all compressed > > > > audio > > > > > formats, and for the case where the data is > > > > included > > > > > in 'wavl' list chunk. > > > > > > > > What kind of .wav files typically contain non-PCM > > > > data? Can you give some > > > > typical examples? Do they still have .wav > > > > extensions, or some other > > > > extensions? > > > > > > > > Thanks. > > > > > > > > -Jeff > > > > > > > > > --- Jeff Brower <> wrote: > > > > >> Shaofeng- > > > > >> > > > > >> FWIW, most .wav files are 44 byte header (e.g. > > > > >> Microsoft examples included with > > > > >> WinXX) and don't have the 'fact' tag. > > > > >> > > > > >> Jeff Brower > > > > >> system engineer > > > > >> Signalogic > > > > >> > > > > >> Shaofeng Li wrote: > > > > >> > > > > > >> > Padmalatha, > > > > >> > > > > > >> > You can refer to this link for wave format: > > > > >> > > > > > >> > > > > > >> > > > > > > > > > > > > http://ccrma-www.stanford.edu/CCRMA/Courses/422/projects/WaveFormat/ > > > > >> > > > > > >> > Your wave file is formatted as follows: > > > > >> > > > > > >> > Chunk Id = 'RIFF' > > > > >> > Chunk Size = 5996 > > > > >> > Format = 'WAVE' > > > > >> > > > > > >> > Subchunk Id = 'fmt ' > > > > >> > Subchunk Size = 18 > > > > >> > AudioFormat = 0x0007 (WAVE_FORMAT_MULAW) > > > > >> > NumChannels = 1 > > > > >> > SampleRate = 8000 > > > > >> > ByteRate = 8000 > > > > >> > BlockAlign = 1 > > > > >> > BitsPerSample = 8 > > > > >> > ExtraParamLen = 2 > > > > >> > ExtraParamVal = 0x0000 > > > > >> > > > > > >> > Subchunk Id = 'fact' > > > > >> > Subchunk Size = 4 > > > > >> > Subchunk Val = 0xe8160000 > > > > >> > > > > > >> > Subchunk Id = 'data' > > > > >> > Subchunk Size = 5864 > > > > >> > > > > > >> > Regards, > > > > >> > /Shaofeng > > > > >> > > > > > >> > --- Padmalatha Y <> > > > > wrote: > > > > >> > > Hi All, > > > > >> > > > > > > >> > > Can any one tell me the wave header > > > > for > > > > >> > > mu-law and A-law. I have a wave file which is > > > > >> mu-law > > > > >> > > 8-bit mono which has 56 bytes as header. I > > > > want > > > > >> to > > > > >> > > know in what format are these bytes arranged. > > > > >> The > > > > >> > > following 56 byte header is provided for > > > > >> reference. > > > > >> > > > > > > >> > > 52 49 46 46 6C 17 00 00 57 41 56 45 66 6D 74 > > > > 20 > > > > >> > > 12 00 00 00 07 00 01 00 40 1F 00 00 40 1F 00 > > > > 00 > > > > >> > > 01 00 08 00 00 00 66 61 63 74 04 00 00 00 E8 > > > > 16 > > > > >> > > 00 00 64 61 74 61 E8 16 00 00 > > > > >> > > > > > > >> > > > > > > >> > > Thanks in advance, > > > > >> > > Padmalatha > > > > > > > > _____________________________________ > > Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer. You need to do a "reply all" if you want your answer to be distributed to the entire group. > > > > _____________________________________ > > About this discussion group: > > > > To Join: > > > > To Post: > > > > To Leave: > > > > Archives: http://www.yahoogroups.com/group/speechcoding > > > > Other DSP-Related Groups: http://www.dsprelated.com > > > > > > ">http://docs.yahoo.com/info/terms/ > > > > |
Reply by ●September 2, 20032003-09-02
|
Shaofeng- > > Is there a list somewhere of codecs supported by > > WMP? > > See this link for IANA WAVE and AVI codec registry: > > http://www.iana.org/assignments/wave-avi-codec-registry > > > Is it possible to create > > user-defined plug-ins and additional codec > > identifier definitions for WMP so they can > > handle other codec types? > > Yes. You can create your Audio Compression Manager > (ACM) driver which takes in charge a codec type on > Microsoft platform. Refer to this link for more > information: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/w98ddk/hh/w98dd\ k/mmedia_4vjs.asp Hey that's great. I had no idea so many different codecs were registered, and .wave and .avi are tracked by IANA in one registry. Thanks for the info. -Jeff |
Reply by ●September 16, 20032003-09-16
|
DSP Wizzard- > I've been writing some plug in and DLLs. > > Is that MELPe codec freeware? The MELPe codec source code is available online, but not sure where at the moment -- it moves around from time-to-time. > What is it good for, there are so many other codecs anyway? MELPe has two interesting characteristics: low bit rate option (1200 bps), and gov/mil/NATO standard at 1200 and 2400 bps. > Do you sell products with that MELPe codec that, that makes you > interested in such a plug in? A plug-in gives our customers a convenient way to demo on a typical desktop PC. > Does the fact that your company does work on mil/gov codecs like > MELPe mean that you license it or can distribute it? > > If not, who owns the IP/copyrights of that MELPe codec? All depends. For gov customers, MELPe is royalty-free because the gov paid for initial development. For commercial customers, I believe that IP rights are retained by Texas Inst and Microsoft (which used to be SignalCom). But I'm not sure what are the royalty amounts. Signalogic has a number of mil/gov clients who need MELPe integrated into their systems; these clients typically use our DSP based hardware. In some cases we add to the algorithm, for example different bitrates, improved speech quality, etc. I hope that answers your questions. Jeff Brower system engineer Signalogic > --- In , Jeff Brower <jbrower@s...> wrote: > > Shaofeng- > > > > > In case of compressed .wav file, the "fact" chunk > > > indicates the number of uncompressed samples. > > > > > > Included is an example of .wav file that contains > > > compressed data (ACELP), with the "fact" chunk > > > included. > > > > Thanks for the example. > > > > Ok, I think I've got it now: the fmt tag contains the PCM > identifier/codec ID and > > the length of compressed data; the FACT tag is a placeholder to > provide the length of > > PCM data after compression, since there's not a spot for it in the > standard fmt tag. > > Is that correct? > > > > I notice that mplayer2 can handle your ACELP example, but mplayer > and Winamp cannot. > > Is there a list somewhere of codecs supported by WMP? Is it > possible to create > > user-defined plug-ins and additional codec identifier definitions > for WMP so they can > > handle other codec types? My company does work on mil/gov codecs > like MELPe; making > > it possible for people to click on a MELPe compressed file using > WMP would be very > > convenient. > > > > -Jeff > > > > > > > --- Jeff Brower <jbrower@s...> wrote: > > > > Shaofeng- > > > > > > > > > The 'fact' chunk is required for all compressed > > > > audio > > > > > formats, and for the case where the data is > > > > included > > > > > in 'wavl' list chunk. > > > > > > > > What kind of .wav files typically contain non-PCM > > > > data? Can you give some > > > > typical examples? Do they still have .wav > > > > extensions, or some other > > > > extensions? > > > > > > > > Thanks. > > > > > > > > -Jeff > > > > > > > > > --- Jeff Brower <jbrower@s...> wrote: > > > > >> Shaofeng- > > > > >> > > > > >> FWIW, most .wav files are 44 byte header (e.g. > > > > >> Microsoft examples included with > > > > >> WinXX) and don't have the 'fact' tag. > > > > >> > > > > >> Jeff Brower > > > > >> system engineer > > > > >> Signalogic > > > > >> > > > > >> Shaofeng Li wrote: > > > > >> > > > > > >> > Padmalatha, > > > > >> > > > > > >> > You can refer to this link for wave format: > > > > >> > > > > > >> > > > > > >> > > > > > > > > > > > > http://ccrma- > www.stanford.edu/CCRMA/Courses/422/projects/WaveFormat/ > > > > >> > > > > > >> > Your wave file is formatted as follows: > > > > >> > > > > > >> > Chunk Id = 'RIFF' > > > > >> > Chunk Size = 5996 > > > > >> > Format = 'WAVE' > > > > >> > > > > > >> > Subchunk Id = 'fmt ' > > > > >> > Subchunk Size = 18 > > > > >> > AudioFormat = 0x0007 (WAVE_FORMAT_MULAW) > > > > >> > NumChannels = 1 > > > > >> > SampleRate = 8000 > > > > >> > ByteRate = 8000 > > > > >> > BlockAlign = 1 > > > > >> > BitsPerSample = 8 > > > > >> > ExtraParamLen = 2 > > > > >> > ExtraParamVal = 0x0000 > > > > >> > > > > > >> > Subchunk Id = 'fact' > > > > >> > Subchunk Size = 4 > > > > >> > Subchunk Val = 0xe8160000 > > > > >> > > > > > >> > Subchunk Id = 'data' > > > > >> > Subchunk Size = 5864 > > > > >> > > > > > >> > Regards, > > > > >> > /Shaofeng > > > > >> > > > > > >> > --- Padmalatha Y <padmalatha@s...> > > > > wrote: > > > > >> > > Hi All, > > > > >> > > > > > > >> > > Can any one tell me the wave header > > > > for > > > > >> > > mu-law and A-law. I have a wave file which is > > > > >> mu-law > > > > >> > > 8-bit mono which has 56 bytes as header. I > > > > want > > > > >> to > > > > >> > > know in what format are these bytes arranged. > > > > >> The > > > > >> > > following 56 byte header is provided for > > > > >> reference. > > > > >> > > > > > > >> > > 52 49 46 46 6C 17 00 00 57 41 56 45 66 6D 74 > > > > 20 > > > > >> > > 12 00 00 00 07 00 01 00 40 1F 00 00 40 1F 00 > > > > 00 > > > > >> > > 01 00 08 00 00 00 66 61 63 74 04 00 00 00 E8 > > > > 16 > > > > >> > > 00 00 64 61 74 61 E8 16 00 00 > > > > >> > > > > > > >> > > > > > > >> > > Thanks in advance, > > > > >> > > Padmalatha |
|
|
Reply by ●September 17, 20032003-09-17
|
DSP Wizzard- > I have just found out from another newsgroup that in addition to TI > and Microsoft, also AT&T and some small company called Compandent are > IP holders of MELPe. AT&T only holds IP rights to a general "noise preprocessor" filter, but not any part of the actual MELPe codec. The AT&T filter attempts to characterize the noise in the channel on an adaptive basis. Many MELPe applications will not need this type of noise filter. Compandent may be small but they are an excellent algorithm and R&D group, with a rare combination of theoretical and practical DSP knowledge. > The guy from the newsgroup said that Compandent > worked with Microsoft's Signalcom and therefore it holds some of the > IP too. I don't think that's accurate. Compandent was contracted by NSA to produce an all-assembly-language, bit-exact C54x version of MELPe. For definitive IP info, you should check with NSA and not news groups -- NSA is the "keeper of the key" for all MELPe. If you reply to me offline and give me your company info and other contact info that I can verify, I can provide you with a person inside NSA to contact about MELPe. > He said that Compandent is even mentioned on some of the > official MELPe documents and in the MELPe source code, and that his > company has recently done MELPe related project during which he was > in touch with Compandent (for support and licensing). He thinks that > Compandent is today the only company that was involved in the MELPe's > R&D and that still provides R&D support and related services. In addition... -a group at MIT under Dr. Joseph Campbell's direction -Harris Corp, working on 600 bps MELPe -Signalogic, working on enhanced speech quality new bitrates, graceful FER degradation, and C-code/Texas Inst CCS compliant versions. Some samples are at: http://www.signalogic.com/codec_samples.htm > So perhaps [Compandent] they can do the plug-in... :) Sure -- ask them! -Jeff > --- In , Jeff Brower <jbrower@s...> wrote: > > > > Does the fact that your company does work on mil/gov codecs like > > > MELPe mean that you license it or can distribute it? > > > > > > If not, who owns the IP/copyrights of that MELPe codec? > > > > All depends. For gov customers, MELPe is royalty-free because the > gov paid for > > initial development. For commercial customers, I believe that IP > rights are retained > > by Texas Inst and Microsoft (which used to be SignalCom). But I'm > not sure what are > > the royalty amounts. Signalogic has a number of mil/gov clients > who need MELPe > > integrated into their systems; these clients typically use our DSP > based hardware. > > In some cases we add to the algorithm, for example different > bitrates, improved > > speech quality, etc. > > > > I hope that answers your questions. > > > > Jeff Brower > > system engineer > > Signalogic |






