⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adpcm_算法.txt

📁 ADPCM算法
💻 TXT
📖 第 1 页 / 共 5 页
字号:
this format is created and read by yamaha chip included in the gold sound standard (gss) that is implemented in a number of manufacturers boards. the algorithm and conversion routines are published in the source code provided in yadpcm.c with this technote.

sonarc? compression

added 10/21/92
author: sound compression

sound compression has developed a new compression algorithm which, unlike adpcm, is capable of lossless compression of digitized audio files to a degree far greater (50-60%) than that achievable with the other compressors, pkzip and lharc. "lossy" compression is possible with even higher ratios. information about the algorithm is available form the address below.

fact chunk

this chunk is required for all wave formats other than wave_format_pcm. it stores file dependent information about the contents of the wave data. it currently specifies the time length of the data in samples.

wave format header

typedef struct sonarcwaveformat_tag {

waveformatex wfx;

word wcomptype;

} sonarcwaveformat

# define wave_format_sonarc (0x0021)

wformattag this must be set to wave_format_sonarc. 
nchannels number of channels in the wave, 1 for mono, 2 for stereo. 
nsamplespersec frequency of the sample rate of the wave file. this should be 11025, 22050, or 44100 hz. other sample rates are not allowed. 
navgbytespersec average data rate.
playback software can estimate the buffer size using the value. 
nblockalign the valid values have not been defined.
playback software needs to process a multiple of bytes of data at a time, so that the value of can be used for buffer alignment. 
wbitspersample this is the number of bits per sample of sonarc. 
cbsize the size in bytes of the extra information in the extended wave 'fmt' header. this should be 2. 
wcomptype this value is not yet defined.. 

"sonarc" is a trademark of speech compression. 

to get information on this format please contact:

speech compression
1682 langley ave.
irvine, ca 92714
telephone: 714-660-7727 fax: 714-660-7155

creative labs adpcm

added 10/01/92
author: creative labs

createive has defined a new adpcm compression scheme, and this new scheme will be implemented on their h/w and will be able to support compression and decompression real-time. they do not provide a description of this algorithm. information about the algorithm is available form the address below.

fact chunk

this chunk is required for all wave formats other than wave_format_pcm. it stores file dependent information about the contents of the wave data. it currently specifies the time length of the data in samples.

wave format header

typedef struct creative_adpcmwaveformat_tag {

waveformatex wfx;

word wrevision;

} creativeadpcmwaveformat

# define wave_format_creative_adpcm (0x0200)

wformattag this must be set to wave_format_creative_adpcm. 
nchannels number of channels in the wave, 1 for mono, 2 for stereo. 
nsamplespersec frequency of the sample rate of the wave file. this should be 8000, 11025, 22050, or 44100 hz. other sample rates are not allowed. 
navgbytespersec average data rate..
playback software can estimate the buffer size using the value. 
nblockalign this is dependent upon the number of bits per sample. 
  wbitspersample nchannels nblockalign 
  4 1 1 
  4 2 1 
  playback software needs to process a multiple of bytes of data at a time, so that the value of can be used for buffer alignment. 
wbitspersample this is the number of bits per sample of cadpcm. 
cbsize the size in bytes of the extra information in the extended wave 'fmt' header. this should be 2. 
wrevision revision of algorithm. this should be one for the current definition. 

to get information on this format please contact:

creative developer support 
1901, mccarthy blvd, milpitas, ca 95035.
tel : 408-428 6644 fax : 408-428 6655

dsp group wave type

added: 01/04/93
author: paul beard, dsp group

fact chunk

this chunk is required for all wave formats other than wave_format_pcm. it stores file dependent information about the contents of the wave data. it currently specifies the length of the data in samples.

wave format header

# define wave_format_dspgroup_truespeech (0x0022)

wformattag this must be set to wave_format_dspgroup_truespeech. 
nchannels number of channels in the wave, 1 for mono. 
nsamplespersec frequency of the sample rate of the wave file. this should be 8000 
navgbytespersec average data rate.. (1067)
playback software can estimate the buffer size using the value. 
nblockalign this is the block alignment of the data in bytes. (32).
playback software needs to process a multiple of bytes of data at a time, so that the value of can be used for buffer alignment. 
wbitspersample this is the number of bits per sample of truespeech. not used; set to zero. 
cbextrasize the size in bytes of the extra information in the extended wave 'fmt' header. this should be 32. 
wrevision revision no (1,...) 
nsamplesperblock number of samples per block. 240 

= / * )

the definition of the data contained in the truespeech format is considered proprietary information of dsp group inc. they can be contacted at:

dsp group inc.,
4050 moorpark ave.,
san jose ca. 95117
(408) 985 0722

truespeech is a format used in a compression technique developed by dsp group inc. truespeech format provides high quality telephony bandwidth voice vocoding with a rate of 1067 bytes per second. this format uses blocks of 32 bytes long.

echo speech wave type

added: 01/21/93
author: echo speech corporation

fact chunk

this chunk is required for all wave formats other than wave_format_pcm. it stores file dependent information about the contents of the wave data. it currently specifies the length of the data in samples.

wave format header

# define wave_format_echosc1 (0x0023)

wformattag this must be set to wave_format_echosc1. 
nchannels number of channels in the wave, always 1 for mono. 
nsamplespersec frequency of the sample rate of the wave file. this should be 11025 
navgbytespersec average data rate.. (450)
playback software can estimate the buffer size using the value. 
nblockalign this is the block alignment of the data in bytes. (6).
playback software needs to process a multiple of bytes of data at a time, so that the value of can be used for buffer alignment. 
wbitspersample this is the number of bits per sample. not used; set to zero. 
cbsize the size in bytes of the extra information in the extended wave 'fmt' header. this should be 0. 

the definition of the data contained in the echo sc-1 format is considered proprietary information of echo speech corporation. they can be contacted at:

echo speech corporation
6460 via real
carpinteria, ca. 93013
805 684-4593

echo sc-1 is a format used in a compression technique developed by echo speech corporation. echo sc-1 format provides excellent speech quality with an average data rate of exactly 450 bytes/second. this format uses blocks 6 bytes long.

echo is a registered trademark of echo speech corporation.

audiofile wave type af36

added: april 29, 1993
author: audiofile

fact chunk

this chunk is required for all wave formats other than wave_format_pcm. it stores file dependent information about the contents of the wave data. it currently specifies the length of the data in samples.

wave format header

# define wave_format_audiofile_af36 (0x0024)

wformattag this must be set to wave_format_audiofile_af36 
nchannels number of channels in the wave.(1 for mono) 
nsamplespersec frequency the of the sample rate of wave file.  
navgbytespersec average data rate.
playback software can estimate the buffer size using the <navgbytespersec> value. 
nblockalign block alignment of the data.
playback software needs to process a multiple of <nblockalign> bytes of data at a time, so that the value of <nblockalign> can be used for buffer alignment. 
wbitspersample this is the number of bits per sample of data. 
cbsize the size in bytes of the extra information in the extended wave 'fmt' header. 

audio file af36 format provides very high compression for speech -based waveform audio. (relative to 11 khz, 16-bit pcm, a compression ratio of 36-to-1 is achieved with af36.

for more information on af36 and other audiofile host-based and dsp based compression software contact: :

audiofile, inc.
four militia drive
lexington, ma, 02173
(617) 861-2996

comment

trademark info.

audio processing technology wave type

added: 06/22/93
author: calypso software limited

fact chunk

this chunk is required for all wave formats other than wave_format_pcm. it stores file dependent information about the contents of the wave data. it currently specifies the length of the data in samples.

wave format header

# define wave_format_aptx (0x0025)

wformattag this must be set to wave_format_aptx. 
nchannels number of channels in the wave, always 1 for mono, 2 for stereo. 
nsamplespersec frequency of the sample rate of the wave file. (8000, 11025, 22050, 44100, 48000) 
navgbytespersec average data rate..= nchannels * nsamplespersec/2. (16bit audio)
playback software can estimate the buffer size using the value. 
nblockalign should be set to 2 (bytes) for mono data or 4 (bytes) for stereo. 
for mono data 4 sixteen bit samples will be compressed into 1 sixteen bit word
for stereo data 4 sizteen bit left channel samples will be compressed into the first 16bit word and 4 sixteen bit right channel samples will be cmpressed into the next 16 bit word.
playback software needs to process a multiple of bytes of data at a time, so that the value of can be used for buffer alignment. 
wbitspersample this is the number of bits per sample. not used; set to four. 
cbsize the size in bytes of the extra information in the extended wave 'fmt' header. this should be 0.(zero) 

the definition of the data contained in the aptx format is considered proprietary information of audio processing technology limited. they can be contacted at:

audio processing technology limited
edgewater road
belfast, northern ireland, bt3 9qj
tel 44 232 371110
fax 44 232 371137

this format is proprietary audio format using 4:1 compression i.c. 16 bits of audio are compressed to 4 bits. it is only encoded/decoded by dedicated hardware from mm_apt

audiofile wave type af10

added: june 22, 1993
author: audiofile

fact chunk

this chunk is required for all wave formats other than wave_format_pcm. it stores file dependent information about the contents of the wave data. it currently specifies the length of the data in samples.

wave format header

# define wave_format_audiofile_af10 (0x0026)

wformattag this must be set to wave_format_audiofile_af10 
nchannels number of channels in the wave.(1 for mono) 
nsamplespersec frequency the of the sample rate of wave file.  
navgbytespersec average data rate.
playback software can estimate the buffer size using the <navgbytespersec> value. 
nblockalign block alignment of the data.
playback software needs to process a multiple of <nblockalign> bytes of data at a time, so that the value of <nblockalign> can be used for buffer alignment. 
wbitspersample this is the number of bits per sample of data. 
cbsize the size in bytes of the extra information in the extended wave 'fmt' header. 

for more information on af36 and other audiofile host-based and dsp based compression software contact: :

audiofile, inc.
four militia drive
lexington, ma, 02173
(617) 861-2996

dolby labs ac-2 wave type

added: 06/24/93
author: dolby laboratories, inc.

fact chunk

this chunk is required for all wave formats other than wave_format_pcm. it stores file dependent information about the contents of the wave data. it currently specifies the length of the data in samples.

wave format header

define wave_format_dolby_ac2 (0x0030)

wformattag this must be set to wave_format_dolby_ac2 
nchannels number of channels, 1 for mono, 2 for stereo 
nsamplespersec three sample rates allowed: 48000, 44100, 32000 samples per second 
navgbytespersec average data rate. ((nsamplespersec*nblockalign)/512 
nblockalign the block alignment (in bytes) of the dat in . given in table 
nsamplespersec nblockalign 
48000 nchannels*168 
44100 nchannels*184 
32000 nchannels*190 
wbitspersample approximately 3 bits per sample 
cbextrasize 2 extra bytes of information in format header 
nauxbitscode auxiliary bits code indicating number of aux. bits per block. the amount of audio data bits is reduced by this number in the decoder, such that the overall block size remains constant.  
nauxbitscode number of aux bits in block 
0 0 
1 8 
2 16 
3 32 

specific structure of the chunk is proprietary, and may be obtained from dolby laboratories. also contact dolby for methods of including chunks. 

dolby laboratories
100 potrero avenue
san francisco, ca 94103-4813
tel 415-558-0200

/* dolby's ac-2 wave format structure definition */

typedef struct dolbyac2waveformat_tag {

waveformatex wfx;

word nauxbitscode;

} dolbyac2waveformat;

sierra adpcm

added 07/26/93
author: sierra semiconductor corp.

sierra semiconductor has developed a compression scheme similar to the standard ccitt adpcm. this scheme has been implemented in aria? -based sound boards and is capable of supporting compression and decompression in real-time. a description of the algorithm is not available at this time.

fact chunk

this chunk is required for all wave formats other than wave_format_pcm. it stores file dependent information about the contents of the wave data. it currently specifies the time length of the data in samples.

wave format header

typedef struct sierra_adpcmwaveformat_tag {

extwaveformat ewf;

word wrevision;

} sierraadpcmwaveformat;

# define wave_format_sierra_adpcm (0x0013)

wformattag this must be set to wave_format_sierra_adpcm. 
nchannels number of channels in the wave, 1 for mono, 2 for stereo. 
nsamplespersec frequency of the sample rate of the wave file. this should be 22050 hz. other sample rates are not currently allowed. 
navgbytespersec average data rate.
playback software can estimate the buffer size using the value. 
nblockalign this is dependent upon the number of bits per sample. 
  wbitspersample nchannels nblockalign 
  4 1 1 
  4 2 1 
  playback software needs to process a multiple of bytes of data at a time, so that the value of can be used for buffer alignment. 
wbitspersample this is the number of bits per sample of sierra adpcm. currently, only 
4 bits per sample is defined. other values are reserved. 
cbextrasize the size in bytes of the extra information in the extended wave 'fmt' header. this should be 2. 
wrevision revision of algorithm. this should be 0x0100 for the current definition. 

videologic wave types

added: 07/13/93
author: videologic

fact chunck

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -