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

📄 wavec.htm

📁 各种文件格式说明及程序描述
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<tr>
<td width="25%"><font size="2" face="arial">wformattag</font></td>
<td width="75%"><font size="2" face="arial">this must be set to wave_format_ibm_cvsd</font></td>
</tr>
<tr>
<td width="25%"><font size="2" face="arial">nchannels</font></td>
<td width="75%"><font size="2" face="arial">number of channels in the wave, 1 for mono, 2
for stereo...</font></td>
</tr>
<tr>
<td width="25%"><font size="2" face="arial">nsamplespersec</font></td>
<td width="75%"><font size="2" face="arial">frequency the source was sampled at. see chart
below.</font></td>
</tr>
<tr>
<td width="25%"><font size="2" face="arial">navgbytespersec</font></td>
<td width="75%"><font size="2" face="arial">average data rate. see chart below. (one of
1800, 2400, 3000, 3600, 4200, or 4800)<br>
playback software can estimate the buffer size using the <navgbytespersec> value.</font></td>
</tr>
<tr>
<td width="25%"><font size="2" face="arial">nblockalign</font></td>
<td width="75%"><font size="2" face="arial">set to 2048 to provide efficient caching of
file from cd-rom.<br>
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.</font></td>
</tr>
<tr>
<td width="25%"><font size="2" face="arial">wbitspersample</font></td>
<td width="75%"><font size="2" face="arial">this is the number of bits per sample of data.
this is always 1 for cvsd.</font></td>
</tr>
<tr>
<td width="25%"><font size="2" face="arial">cbsize</font></td>
<td width="75%"><font size="2" face="arial">the size in bytes of the rest of the wave
format header. this is zero for cvsd.</font></td>
</tr>
</table>

<p><font size="2" face="arial">the digispeech cvsd compression format is compatible with
the ibm ps/2 speech adapter, which uses a motorola mc3418 for cvsd modulation. the
motorola chip uses only one algorithm which can work at variable sampling clock rates. the
cvsd algorithm compresses each input audio sample to 1 bit. an acceptable quality of sound
is achieved using high sampling rates. the digispeech ds201 adapter supports six cvsd
sampling frequencies, which are being used by most software using the ibm ps/2 speech
adapter:</font></p>
<div align="center"><center>

<table border="1" cellpadding="7" width="384">
<tr>
<td width="50%"><font size="2" face="arial"><b>sample rate</b></font></td>
<td width="50%"><font size="2" face="arial"><b>bytes/second</b></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="arial">14,400hz</font></td>
<td width="50%"><font size="2" face="arial">1800 bytes</font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="arial">19,200hz</font></td>
<td width="50%"><font size="2" face="arial">2400 bytes</font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="arial">24,000hz</font></td>
<td width="50%"><font size="2" face="arial">3000 bytes</font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="arial">28,800hz</font></td>
<td width="50%"><font size="2" face="arial">3600 bytes</font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="arial">33,600hz</font></td>
<td width="50%"><font size="2" face="arial">4200 bytes</font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="arial">38,400hz</font></td>
<td width="50%"><font size="2" face="arial">4800 bytes</font></td>
</tr>
</table>
</center></div>

<p><font size="2" face="arial">the cvsd format is a compression scheme which has been used
by ibm and is supported by the ibm ps/2 speech adapter card. digispeech also has a card
that uses this compression scheme. it is not digispeech's policy to disclose any of these
algorithms to any third party vendor.</font></p>

<p><font size="2" face="arial"><b>ccitt standard companded wave types</b></font></p>

<blockquote>
<p><font size="2" face="arial">added: 05/22/92<br>
author: microsoft, dsp solutions formerly digispeech, vocaltec, artisoft</font></p>
</blockquote>

<p><font size="2" face="arial"><b>fact chunk</b></font></p>

<p><font size="2" face="arial">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.</font></p>

<p><font size="2" face="arial"><b>wave format header</b></font></p>

<blockquote>
<p><font size="2" face="arial">#define wave_format_alaw (0x0006)</font></p>
<p><font size="2" face="arial">#define wave_format_mulaw (0x0007)</font></p>
</blockquote>

<table border="1" cellpadding="7" width="576">
<tr>
<td width="25%"><font size="2" face="arial">wformattag</font></td>
<td width="75%"><font size="2" face="arial">this must be set to one of wave_format_alaw,
wave_format_mulaw</font></td>
</tr>
<tr>
<td width="25%"><font size="2" face="arial">nchannels</font></td>
<td width="75%"><font size="2" face="arial">number of channels in the wave, 1 for mono, 2
for stereo...</font></td>
</tr>
<tr>
<td width="25%"><font size="2" face="arial">nsamplespersec</font></td>
<td width="75%"><font size="2" face="arial">frequency of the wave file. (8000, 11025,
22050, 44100).</font></td>
</tr>
<tr>
<td width="25%"><font size="2" face="arial">navgbytespersec</font></td>
<td width="75%"><font size="2" face="arial">average data rate.<br>
playback software can estimate the buffer size using the <!--webbot bot="htmlmarkup"
startspan --><<b><!--webbot bot="htmlmarkup" endspan -->navgbytespersec&gt; value.</font></td>
</tr>
<tr>
<td width="25%"><font size="2" face="arial">nblockalign</font></td>
<td width="75%"><font size="2" face="arial">size of the blocks in bytes.<br>
playback software needs to process a multiple of <!--webbot bot="htmlmarkup" startspan --><<b><!--webbot
bot="htmlmarkup" endspan -->nblockalign&gt; bytes of data at a time, so that the value of <!--webbot
bot="htmlmarkup" startspan --><<b><!--webbot bot="htmlmarkup" endspan -->nblockalign&gt; can
be used for buffer alignment.</font></td>
</tr>
<tr>
<td width="25%"><font size="2" face="arial">wbitspersample</font></td>
<td width="75%"><font size="2" face="arial">this is the number of bits per sample of data.
(this is 8 for all the companded formats.)</font></td>
</tr>
<tr>
<td width="25%"><font size="2" face="arial">cbsize</font></td>
<td width="75%"><font size="2" face="arial">the size in bytes of the extra information in
the extended wave 'fmt' header. this should be zero.</font></td>
</tr>
</table>

<p><font size="2" face="arial">see the ccitt g.711 specification for details of the data
format.</font></p>

<p><font size="2" face="arial">this is a ccitt (international telegraph and telephone
consultative committee) specification. their address is: </font></p>

<p><font size="2" face="arial">palais des nations<br>
ch-1211 geneva 10, switzerland<br>
phone: 22 7305111</font></p>

<p><font size="2" face="arial"><b>oki adpcm wave types</b></font></p>

<blockquote>
<p><font size="2" face="arial">added: 05/22/92<br>
author: digispeech, vocaltec, wang</font></p>
</blockquote>

<p><font size="2" face="arial"><b>fact chunk</b></font></p>

<p><font size="2" face="arial">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.</font></p>

<p><font size="2" face="arial"><b>wave format header</b></font></p>

<p><font size="2" face="arial"><b># define wave_format_oki_adpcm (0x0010)</b></font></p>

<blockquote>
<p><font size="2" face="arial">typedef struct oki_adpcmwaveformat_tag {<br>
waveformatex wfx;<br>
word wpole;<br>
} okiadpcmwaveformat;</font></p>
</blockquote>

<table border="1" cellpadding="7" width="576">
<tr>
<td width="25%"><font size="2" face="arial">wformattag</font></td>
<td colspan="3" width="75%"><font size="2" face="arial">this must be set to
wave_format_oki_adpcm</font></td>
</tr>
<tr>
<td width="25%"><font size="2" face="arial">nchannels</font></td>
<td colspan="3" width="75%"><font size="2" face="arial">number of channels in the wave, 1
for mono, 2 for stereo.</font></td>
</tr>
<tr>
<td width="25%"><font size="2" face="arial">nsamplespersec</font></td>
<td colspan="3" width="75%"><font size="2" face="arial">frequency the sample rate of the
wave file. (8000, 11025, 22050, 44100).</font></td>
</tr>
<tr>
<td width="25%"><font size="2" face="arial">navgbytespersec</font></td>
<td colspan="3" width="75%"><font size="2" face="arial">average data rate. <br>
playback software can estimate the buffer size using the <!--webbot bot="htmlmarkup"
startspan --><<b><!--webbot bot="htmlmarkup" endspan -->navgbytespersec&gt; value.</font></td>
</tr>
<tr>
<td width="25%"><font size="2" face="arial">nblockalign</font></td>
<td colspan="3" width="75%"><font size="2" face="arial">this is dependent upon the number
of bits per sample.</font></td>
</tr>
<tr>
<td width="25%">&nbsp;</td>
<td width="25%"><font size="2" face="arial">wbitspersample</font></td>
<td width="25%"><font size="2" face="arial">nchannels</font></td>
<td width="25%"><font size="2" face="arial">nblockalign</font></td>
</tr>
<tr>
<td width="25%">&nbsp;</td>
<td width="25%"><font size="2" face="arial">3</font></td>
<td width="25%"><font size="2" face="arial">1</font></td>
<td width="25%"><font size="2" face="arial">3</font></td>
</tr>
<tr>
<td width="25%">&nbsp;</td>
<td width="25%"><font size="2" face="arial">3</font></td>
<td width="25%"><font size="2" face="arial">2</font></td>
<td width="25%"><font size="2" face="arial">6</font></td>
</tr>
<tr>
<td width="25%">&nbsp;</td>
<td width="25%"><font size="2" face="arial">4</font></td>
<td width="25%"><font size="2" face="arial">1</font></td>
<td width="25%"><font size="2" face="arial">1</font></td>
</tr>
<tr>
<td width="25%">&nbsp;</td>
<td width="25%"><font size="2" face="arial">4</font></td>
<td width="25%"><font size="2" face="arial">2</font></td>
<td width="25%"><font size="2" face="arial">1</font></td>
</tr>
<tr>
<td width="25%">&nbsp;</td>
<td colspan="3" width="75%"><font size="2" face="arial">playback software needs to process
a multiple of <!--webbot bot="htmlmarkup" startspan --><<b><!--webbot bot="htmlmarkup"
endspan -->nblockalign&gt; bytes of data at a time, so that the value of <!--webbot
bot="htmlmarkup" startspan --><<b><!--webbot bot="htmlmarkup" endspan -->nblockalign&gt; can
be used for buffer alignment.</font></td>
</tr>
<tr>
<td width="25%"><font size="2" face="arial">wbitspersample</font></td>
<td colspan="3" width="75%"><font size="2" face="arial">this is the number of bits per
sample of data. (oki can be 3 or 4)</font></td>
</tr>
<tr>
<td width="25%"><font size="2" face="arial">cbsize</font></td>
<td colspan="3" width="75%"><font size="2" face="arial">the size in bytes of the extra
information in the extended wave 'fmt' header. this should be 2.</font></td>
</tr>
<tr>
<td width="25%"><font size="2" face="arial">wpole</font></td>
<td colspan="3" width="75%"><font size="2" face="arial">high frequency emphasis value</font></td>
</tr>
</table>

<p><font size="2" face="arial">this format is created and read by the oki apdcm chip set.
this chip set is used by a number of card manufacturers.</font></p>

<p><font size="2" face="arial"><b>ima adpcm wave type</b></font></p>

<p><font size="2" face="arial">the ima adpcm and the dvi adpcm are identical. please see

⌨️ 快捷键说明

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