亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? wave.htm

?? 詳細說明了高通QCP音頻的文件格式
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
</x-html>
<x-html>
</x-html>
<html>

<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="premium" content="msdn">
<meta name="ms.locale" content="en-us">
<meta name="description" content>
<meta name="generator" content="microsoft frontpage 3.0">
<title>audio interchange file format</title>
</head>

<body bgcolor="#ffffff" link="#003399" vlink="#996699" background="../jpg/di1.JPG">

<h1>wave file format</h1>

<p>wave file format is a file format for storing digital audio (waveform) data. it
supports a variety of bit resolutions, sample rates, and channels of audio. this format is
very popular upon ibm pc (clone) platforms, and is widely used in professional programs
that process digital audio waveforms. it takes into account some pecularities of the intel
cpu such as little endian byte order.</p>

<p>this format uses microsoft's version of the electronic arts interchange file format
method for storing data in &quot;chunks&quot;. </p>

<h3>data types</h3>

<p>a c-like language will be used to describe the data structures in the file. a few extra
data types that are not part of standard c, but which will be used in this document, are:</p>

<table border="0">
  <tr>
    <td><b>pstring</b></td>
    <td>pascal-style string, a one-byte count followed by that many text bytes. the total
    number of bytes in this data type should be even. a pad byte can be added to the end of
    the text to accomplish this. this pad byte is not reflected in the count.</td>
  </tr>
  <tr>
    <td><b>id</b></td>
    <td>a chunk id (ie, 4 ascii bytes).</td>
  </tr>
</table>

<p>also note that when you see an array with no size specification (e.g., char ckdata[];),
this indicates a variable-sized array in our c-like language. this differs from standard c
arrays.</p>

<h3>constants</h3>

<p>decimal values are referred to as a string of digits, for example 123, 0, 100 are all
decimal numbers. hexadecimal values are preceded by a 0x - e.g., 0x0a, 0x1, 0x64. </p>

<h3>data organization</h3>

<p>all data is stored in 8-bit bytes, arranged in intel 80x86 (ie, little endian) format.
the bytes of multiple-byte values are stored with the low-order (ie, least significant)
bytes first. data bits are as follows (ie, shown with bit numbers on top): </p>

<pre>
         7  6  5  4  3  2  1  0
       +-----------------------+
 char: | lsb               msb |
       +-----------------------+

         7  6  5  4  3  2  1  0 15 14 13 12 11 10  9  8
       +-----------------------+-----------------------+
short: | lsb     byte 0        |       byte 1      msb |
       +-----------------------+-----------------------+

         7  6  5  4  3  2  1  0 15 14 13 12 11 10  9  8 23 22 21 20 19 18 17 16 31 30 29 28 27 26 25 24
       +-----------------------+-----------------------+-----------------------+-----------------------+
 long: | lsb     byte 0        |       byte 1          |         byte 2	       |       byte 3      msb |
       +-----------------------+-----------------------+-----------------------+-----------------------+
</pre>

<h3>file structure</h3>

<p>a wave file is a collection of a number of different types of chunks. there is a
required format (&quot;fmt &quot;) chunk which contains important parameters describing
the waveform, such as its sample rate. the data chunk, which contains the actual waveform
data, is also required. all other chunks are optional. among the other optional chunks are
ones which define cue points, list instrument parameters, store application-specific
information, etc. all of these chunks are described in detail in the following sections of
this document.</p>

<p>all applications that use wave must be able to read the 2 required chunks and can
choose to selectively ignore the optional chunks. a program that copies a wave should copy
all of the chunks in the wave, even those it chooses not to interpret.</p>

<p>there are no restrictions upon the order of the chunks within a wave file, with the
exception that the format chunk must precede the data chunk. some inflexibly written
programs expect the format chunk as the first chunk (after the riff header) although they
shouldn't because the specification doesn't require this.</p>

<p>here is a graphical overview of an example, minimal wave file. it consists of a single
wave containing the 2 required chunks, a format and a data chunk.</p>

<pre> __________________________
| riff wave chunk	   |
|   groupid  = 'riff'      |
|   rifftype = 'wave'      |
|    __________________    |
|   | format chunk     |   |
|   |	ckid = 'fmt '  |   |
|   |__________________|   |
|    __________________    |
|   | sound data chunk |   |
|   |	ckid = 'data'  |   |
|   |__________________|   |
|__________________________|
</pre>

<h4>a bastardized standard</h4>

<p>the wave format is sort of a bastardized standard that was concocted by too many
&quot;cooks&quot; who didn't properly coordinate the addition of &quot;ingredients&quot;
to the &quot;soup&quot;. unlike with the aiff standard which was mostly designed by a
small, coordinated group, the wave format has had all manner of much-too-independent,
uncoordinated aberrations inflicted upon it. the net result is that there are far too many
chunks that may be found in a wave file -- many of them duplicating the same information
found in other chunks (but in an unnecessarily different way) simply because there have
been too many programmers who took too many liberties with unilaterally adding their own
additions to the wave format without properly coming to a concensus of what everyone else
needed (and therefore it encouraged an &quot;every man for himself&quot; attitude toward
adding things to this &quot;standard&quot;). one example is the instrument chunk versus
the sampler chunk. another example is the note versus label chunks in an associated data
list. i don't even want to get into the totally irresponsible proliferation of compressed
formats. (ie, it seems like everyone and his pet dachshound has come up with some
compressed version of storing wave data -- like we need 100 different ways to do that).
furthermore, there are lots of inconsistencies, for example how 8-bit data is unsigned,
but 16-bit data is signed. </p>

<p>i've attempted to document only those aspects that you're very likely to encounter in a
wave file. i suggest that you concentrate upon these and refuse to support the work of
programmers who feel the need to deviate from a standard with inconsistent, proprietary,
self-serving, unnecessary extensions. please do your part to rein in half-ass programming.</p>

<h3>sample points and sample frames</h3>

<p>a large part of interpreting wave files revolves around the two concepts of sample
points and sample frames. </p>

<p>a sample point is a value representing a sample of a sound at a given moment in time.
for waveforms with greater than 8-bit resolution, each sample point is stored as a linear,
2's-complement value which may be from 9 to 32 bits wide (as determined by the
wbitspersample field in the format chunk, assuming pcm format -- an uncompressed format).
for example, each sample point of a 16-bit waveform would be a 16-bit word (ie, two 8-bit
bytes) where 32767 (0x7fff) is the highest value and -32768 (0x8000) is the lowest value.
for 8-bit (or less) waveforms, each sample point is a linear, unsigned byte where 255 is
the highest value and 0 is the lowest value. obviously, this signed/unsigned sample point
discrepancy between 8-bit and larger resolution waveforms was one of those
&quot;oops&quot; scenarios where some microsoft employee decided to change the sign
sometime after 8-bit wave files were common but 16-bit wave files hadn't yet appeared.</p>

<p>because most cpu's read and write operations deal with 8-bit bytes, it was decided that
a sample point should be rounded up to a size which is a multiple of 8 when stored in a
wave. this makes the wave easier to read into memory. if your adc produces a sample point
from 1 to 8 bits wide, a sample point should be stored in a wave as an 8-bit byte (ie,
unsigned char). if your adc produces a sample point from 9 to 16 bits wide, a sample point
should be stored in a wave as a 16-bit word (ie, signed short). if your adc produces a
sample point from 17 to 24 bits wide, a sample point should be stored in a wave as three
bytes. if your adc produces a sample point from 25 to 32 bits wide, a sample point should
be stored in a wave as a 32-bit doubleword (ie, signed long). etc.</p>

<p>furthermore, the data bits should be left-justified, with any remaining (ie, pad) bits
zeroed. for example, consider the case of a 12-bit sample point. it has 12 bits, so the
sample point must be saved as a 16-bit word. those 12 bits should be left-justified so
that they become bits 4 to 15 inclusive, and bits 0 to 3 should be set to zero. shown
below is how a 12-bit sample point with a value of binary 101000010111 is formatted
left-justified as a 16-bit word.</p>

<pre>
 ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
|   |	  |   |   |   |	|   |   |   |   |   |   |   |   |   |   |
| 1   0   1   0   0   0   0   1   0   1   1   1   0   0   0   0 |
|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
 <---------------------------------------------> <------------->
    12 bit sample point is left justified          rightmost
                                                  4 bits are
                                                  zero padded
</pre>

<p>but note that, because the wave format uses intel little endian byte order, the lsb is
stored first in the wave file as so: </p>

<pre>
 ___ ___ ___ ___ ___ ___ ___ ___    ___ ___ ___ ___ ___ ___ ___ ___
|   |	  |   |   |   |	|   |   |  |   |   |   |   |   |   |   |   |
| 0   1   1   1   0   0   0   0 |  | 1   0   1   0   0   0   0   1 |
|___|___|___|___|___|___|___|___|  |___|___|___|___|___|___|___|___|
 <-------------> <------------->    <----------------------------->
   bits 0 to 3     4 pad bits                 bits 4 to 11
</pre>

<p>for multichannel sounds (for example, a stereo waveform), single sample points from
each channel are interleaved. for example, assume a stereo (ie, 2 channel) waveform.
instead of storing all of the sample points for the left channel first, and then storing
all of the sample points for the right channel next, you &quot;mix&quot; the two channels'
sample points together. you would store the first sample point of the left channel. next,
you would store the first sample point of the right channel. next, you would store the
second sample point of the left channel. next, you would store the second sample point of
the right channel, and so on, alternating between storing the next sample point of each
channel. this is what is meant by interleaved data; you store the next sample point of
each of the channels in turn, so that the sample points that are meant to be
&quot;played&quot; (ie, sent to a dac) simultaneously are stored contiguously. </p>

<p>the sample points that are meant to be &quot;played&quot; (ie, sent to a dac)
simultaneously are collectively called a <b>sample frame</b>. in the example of our stereo
waveform, every two sample points makes up another sample frame. this is illustrated below
for that stereo example. </p>

<pre>
  sample       sample              sample
  frame 0      frame 1             frame n
 _____ _____ _____ _____         _____ _____
| ch1 | ch2 | ch1 | ch2 | . . . | ch1 | ch2 |
|_____|_____|_____|_____|       |_____|_____|
 _____
|     | = one sample point
|_____|
</pre>

<p>for a monophonic waveform, a sample frame is merely a single sample point (ie, there's
nothing to interleave). for multichannel waveforms, you should follow the conventions
shown below for which order to store channels within the sample frame. (ie, below, a
single sample frame is displayed for each example of a multichannel waveform). </p>

<pre>
  channels       1         2
             _________ _________ 
            | left    | right   |
  stereo    |         |         |
            |_________|_________|


                 1         2         3
             _________ _________ _________ 
            | left    | right   | center  |
  3 channel |         |         |         |
            |_________|_________|_________|

                 1         2         3         4
             _________ _________ _________ _________ 
            | front   | front   | rear    | rear    |
  quad      | left    | right   | left    | right   |
            |_________|_________|_________|_________|

                 1         2         3         4
             _________ _________ _________ _________ 
            | left    | center  | right   | surround|
  4 channel |         |         |         |         |
            |_________|_________|_________|_________|

                 1         2         3         4         5         6
             _________ _________ _________ _________ _________ _________
            | left    | left    | center  | right   | right   |surround |
  6 channel | center  |         |         | center  |         |         |
            |_________|_________|_________|_________|_________|_________|
</pre>

<p>the sample points within a sample frame are packed together; there are no unused bytes
between them. likewise, the sample frames are packed together with no pad bytes. </p>

<p>note that the above discussion outlines the format of data within an uncompressed data
chunk. there are some techniques of storing compressed data in a data chunk. obviously,
that data would need to be uncompressed, and then it will adhere to the above layout.</p>

<hr>

<h3>the format chunk</h3>

<p>the format (fmt) chunk describes fundamental parameters of the waveform data such as
sample rate, bit resolution, and how many channels of digital audio are stored in the
wave. </p>

<pre>
#define formatid 'fmt '   /* chunkid for format chunk. note: there is a space at the end of this id. */

typedef struct {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜久久久久久| 欧美一区二区福利在线| 欧美精品一区二区三区在线| 亚洲日本电影在线| 成人黄色软件下载| 国产色产综合色产在线视频| 亚洲成人免费观看| 欧美日韩精品一区二区三区 | av不卡免费电影| 欧美一区二区免费| 午夜视频在线观看一区| 欧美在线三级电影| 亚洲大型综合色站| 欧美一区二区三区在线观看| 天天影视色香欲综合网老头| 欧美性大战xxxxx久久久| 中文字幕亚洲精品在线观看| 99精品在线观看视频| 中文字幕亚洲精品在线观看 | 日韩在线a电影| 日韩一级黄色片| 国内精品久久久久影院薰衣草 | 26uuu色噜噜精品一区二区| 精品无人码麻豆乱码1区2区| 欧美白人最猛性xxxxx69交| 国产一区二三区| 中文子幕无线码一区tr| 国产福利一区二区三区视频在线| 国产精品国产自产拍在线| av在线不卡电影| 亚洲午夜av在线| 日韩欧美123| 丰满亚洲少妇av| 亚洲国产精品一区二区久久| 欧美精品成人一区二区三区四区| 蜜臀av国产精品久久久久 | 蜜桃一区二区三区在线| 久久久久88色偷偷免费 | 中文在线免费一区三区高中清不卡| 成人黄色国产精品网站大全在线免费观看| 中文字幕一区二区三区四区不卡 | 久久综合视频网| 蜜臀av性久久久久蜜臀aⅴ| 欧美一区二区日韩| 国产精品一卡二卡| 一区二区三区中文字幕| 日韩欧美一区二区视频| 色网站国产精品| 极品少妇xxxx精品少妇| 亚洲欧洲三级电影| 久久人人超碰精品| 欧美人动与zoxxxx乱| 国内精品自线一区二区三区视频| 亚洲一区中文日韩| 久久久久久99久久久精品网站| 欧美日韩激情一区二区| 成年人午夜久久久| 蜜臀av一级做a爰片久久| 亚洲成人av在线电影| 国产日产精品一区| 色呦呦日韩精品| www.亚洲激情.com| 国产乱理伦片在线观看夜一区| 亚洲国产日韩综合久久精品| 国产日产欧美一区| 精品国产精品一区二区夜夜嗨| 欧美最猛性xxxxx直播| 国产在线一区二区综合免费视频| 亚洲综合视频在线观看| 日本一区二区高清| 国产精品网站在线观看| 91精品国产入口在线| 国产精品每日更新在线播放网址| 91亚洲精品久久久蜜桃网站| 九色porny丨国产精品| 亚洲一区自拍偷拍| 亚洲自拍偷拍av| 一区免费观看视频| 欧美—级在线免费片| 中文在线免费一区三区高中清不卡| 欧美一区二区在线视频| 国产精品白丝jk黑袜喷水| 激情六月婷婷综合| 久久99精品久久只有精品| 久久se精品一区精品二区| 日日摸夜夜添夜夜添国产精品| 亚洲欧美色综合| 亚洲午夜久久久| 亚洲午夜精品在线| 亚洲另类色综合网站| 一区二区三区欧美日| 亚洲图片你懂的| 亚洲综合免费观看高清在线观看| 中文字幕日本乱码精品影院| 国产精品午夜春色av| 国产精品福利一区二区| 亚洲视频在线观看三级| 国产精品卡一卡二卡三| 一区二区三区日韩欧美精品| 亚洲男人的天堂网| 丝袜诱惑制服诱惑色一区在线观看| 午夜视频在线观看一区二区 | 国产人伦精品一区二区| 国产亚洲综合性久久久影院| 久久综合色一综合色88| 中文字幕在线观看一区| 亚洲欧美日韩在线| 亚洲成人精品一区| 男女视频一区二区| 九九精品视频在线看| 91行情网站电视在线观看高清版| 成人成人成人在线视频| 色哟哟在线观看一区二区三区| 色播五月激情综合网| 欧美日韩视频一区二区| 日韩一区二区三区视频在线| 欧美中文字幕不卡| 日韩一区二区视频在线观看| 精品国产一区a| 亚洲色图在线播放| 日韩综合小视频| 青青青伊人色综合久久| 成人午夜视频福利| 在线中文字幕一区二区| 26uuu精品一区二区三区四区在线| 日本一区二区三区在线观看| 中文字幕在线一区| 亚洲成在人线在线播放| 国产成a人无v码亚洲福利| 97se亚洲国产综合自在线| 精品久久久久久久人人人人传媒| 中文字幕乱码久久午夜不卡| 亚洲国产日日夜夜| 丝袜a∨在线一区二区三区不卡| 看片的网站亚洲| 91农村精品一区二区在线| 欧美videos大乳护士334| 亚洲欧洲另类国产综合| 日本不卡高清视频| 91丨porny丨蝌蚪视频| 日韩欧美的一区二区| 亚洲影视在线观看| 国产成人鲁色资源国产91色综| 欧美一区二区三区在线看| 国产女人18毛片水真多成人如厕 | 久久99精品国产.久久久久久| 丰满岳乱妇一区二区三区 | 欧美mv日韩mv国产网站app| 国产日韩av一区二区| 精品无人区卡一卡二卡三乱码免费卡| 91论坛在线播放| 国产精品日产欧美久久久久| 蜜乳av一区二区三区| 夫妻av一区二区| 国产女主播在线一区二区| 免费成人av在线播放| 在线不卡a资源高清| 亚洲柠檬福利资源导航| 久久精品国产99久久6| 欧美三级电影在线看| 亚洲欧洲韩国日本视频| 成人黄色国产精品网站大全在线免费观看 | 久久久一区二区| 男男gaygay亚洲| 日韩一区二区视频| 亚洲成人免费观看| eeuss鲁片一区二区三区在线观看| 日韩精品在线一区二区| 亚洲v精品v日韩v欧美v专区| 欧美人与禽zozo性伦| 亚洲精品国产视频| 色综合久久中文综合久久97| 国产精品视频一区二区三区不卡| 免费看欧美女人艹b| 精品动漫一区二区三区在线观看| 亚洲国产一区视频| 欧美无砖专区一中文字| 亚洲制服丝袜在线| 91国产视频在线观看| 亚洲激情自拍偷拍| 欧美在线观看18| 久久久久99精品一区| 高清不卡一区二区| 中文字幕永久在线不卡| 国模无码大尺度一区二区三区| 亚洲同性gay激情无套| 成人精品一区二区三区中文字幕| 国产日韩欧美综合一区| 国产寡妇亲子伦一区二区| 欧美高清视频www夜色资源网| 亚洲人精品一区| 欧洲亚洲精品在线| 亚洲欧美在线视频观看| 成人精品高清在线| 亚洲情趣在线观看| 91麻豆精品91久久久久久清纯| 日韩二区在线观看| 久久久精品黄色| 欧美亚洲综合一区| 国产综合久久久久久鬼色|