PC Hardware in a Nutshell, 3rd Edition [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

PC Hardware in a Nutshell, 3rd Edition [Electronic resources] - نسخه متنی

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید










17.1 PC Audio Types



Sound cards support two categories of
audio, which are detailed in the following sections:

Waveform audio



Waveform audio files, also called simply
sound files, store actual audio data. When you
record waveform audio, the sound card encodes the analog audio data
in digital format and stores it as a file. When you play waveform
audio, the sound card reads the digital audio data contained in the
file and converts it to analog audio, which is then reproduced on
speakers or headphones. Waveform audio files can store any type of
audio, including speech, singing, instrumental music, and sound
effects. The playback quality of waveform audio depends primarily on
how much detail was captured in the original recording and how much
of that data, if any, was lost when compressing the data before
storing it on disk. Uncompressed waveform audio files (such as .WAV
files) are large, requiring as much as 10 MB per minute of audio
stored. Compressed audio files may be 1/20 that size or smaller,
although high compression generally results in lower sound quality.


MIDI audio



Rather
than storing actual audio data, Musical Instrument Digital
Interface
(

MIDI ) files store
instructions that a sound card can use to create audio on the fly.
MIDI audio files store only instrumental music and sound effects, not
speech or singing. Originally used almost solely by professional
musicians, MIDI is now commonly used by games and other applications
for background music and sound effects, so MIDI support has become an
important sound card issue. Because MIDI sound is created
synthetically by the sound card, playback quality of MIDI files
depends both on the quality of the MIDI file itself and on the
features and quality of the MIDI support in the sound card. A MIDI
file of an orchestral concert, for example, may sound like a
child's toy when played by a cheap sound card, but
may closely resemble a CD recording when played by a high-end sound
card. MIDI audio files are small, requiring only a few KB per minute
of audio stored.




17.1.1 Waveform Audio


Waveform audio

files are created using a process called
sampling or digitizing to
convert analog sound to digital format. Sampling takes periodic
snapshots, or samples, of the instantaneous state of the analog
signal, encodes the data, and stores the audio in digital form. Just
as digital images can be stored at different resolutions according to
their intended use, audio data can be stored at different resolutions
to trade off sound quality against file size. Five parameters
determine the quality of digital sound files and how much space they
occupy:

Sample size



Sample size specifies how much data is stored
for each sample. A larger sample size stores more information about
each sample, contributing to higher sound quality. Sample size is
specified as the number of bits stored for each sample. CD audio, for
example, uses 16-bit samples, which allow the waveform amplitude to
be specified as one of 65,536 discrete values. All sound cards
support at least 16-bit samples.


Sampling rate



Sampling rate specifies how often samples are
taken. Sampling rate is specified in Hz (Hertz, or cycles/second) or
kHz (kilohertz, 1000 Hertz). Higher-frequency data inherently changes
more often. Changes that occur between samples are lost, so the
sampling rate determines the highest-frequency sounds that can be
sampled. Two samples are required to capture a change, so the highest
frequency that can be sampled, called the Nyquist
frequency
, is half the sampling rate. For example, a
10,000 Hz sampling rate captures sounds no higher than 5,000 Hz. In
practice, the danger is that higher frequencies will be improperly
sampled, leading to distortion, so real-world implementations filter
the analog signal to cut off audio frequencies higher than some
arbitrary fraction of the Nyquist frequencyfor example, by
filtering all frequencies higher than 4,500 Hz when using a 10,000 Hz
sampling rate. CD audio, for example, uses a 44,100 Hz sampling rate,
which provides a Nyquist frequency of 22,050 Hz, allowing
full-bandwidth response up to ~ 20,000 Hz after filtering. All sound
cards support at least 44,100 Hz sampling, and many support the
Digital Audio Tape (DAT)
standard of 48,000 Hz.


Sampling method



Sampling method specifies how samples are taken
and encoded. For example, Windows

WAV files use
either Pulse Coded Modulation
(PCM), a linear method that encodes the absolute
value of each sample as an 8-bit or 16-bit value, or
Adaptive Delta PCM (ADPCM),
which encodes 4-bit samples based on the differences (delta) between
one sample and the preceding sample. ADPCM generates smaller files,
but at the expense of reduced audio quality and the increased
processor overhead needed to encode and decode the data.


Recording format



Recording format specifies how data is
structured and encoded within the file and what means of compression,
if any, is used. Common formats, indicated by filename extensions,
include

WAV (Windows audio);

AU (Sun audio format, commonly used by Unix
systems and on the Internet);

AIFF or

AIF (Audio Interchange File Format, used by
Apple and SGI);

RA (RealAudio, a proprietary
streaming audio format);

MP3 (MPEG-1 Layer 3);
and OGG (Ogg Vorbis). Some formats use
lossless compression, which provides lower
compression ratios, but allows all the original data to be recovered.
Others use lossy compression, which sacrifices
some less-important data in order to produce the smallest possible
file sizes. Some, such as PCM WAV, do not compress the data at all.

Compressed formats, such as MP3 and OGG, may use fixed
bitrate (FBR)
compression (also called constant
bitrate [CBR]
compression), variable bitrate
(VBR)
compression, or both (although not at the same
time). FBR compresses each second of source material to the same
amount of disk space, regardless of the contents of that material.
For example, after FBR compression, 10 seconds of silence occupies
the same amount of disk space as 10 seconds of complex chamber music.
VBR dynamically varies compression ratio according to the complexity
of the material being compressed. For example, after VBR compression,
10 seconds of silence may occupy only a few bytes of disk space,
while 10 seconds of chamber music may occupy many kilobytes. VBR
typically provides better sound quality than FBR for a given file
size because VBR uses space more efficiently.

Either compression type may use selectable compression ratios or a
fixed ratio. For example, standard MP3 uses FBR compression, but most
MP3 compressors allow you to select among various fixed bitrates,
typically from 64 kilobits/second (kb/s) to 320 kb/s. FBR compression
is exact. If you compress 100 seconds of audio at 256 kb/s, the
resulting file always occupies 25,600 kilobits. Conversely, VBR
compression is approximate because compression varies with the
complexity of the source material. If you use VBR to compress 100
seconds of audio at a nominal 256 kb/s, the resulting file will
probably occupy about 25,600 kilobits, but can be larger or smaller
depending on how easily the source material could be compressed.

Some VBR applications use an arbitrary number to specify compression
ratio. For example, Ogg Vorbis allows you to specify quality on a
scale of 0 through 10, where 0-quality is roughly equivalent to 64
kb/s FBR, 5-quality to 160 kb/s FBR, and 10-quality to 400 kb/s FBR.


The large size of uncompressed audio files means that most common
waveform audio formats use some form of compression. An algorithm
used to compress and decompress digital audio data is called a
codec, short for coder/decoder. Windows 98, for
example, includes the following codecs: CCITT G.711 A-Law and
m-Law; DSP Group TrueSpeech; GSM 6.10; IMA ADPCM;
Microsoft ADPCM; and Microsoft PCM (which is technically not a
codec). You needn't worry about which codec to use
when playing audio; the player application automatically selects the
codec appropriate for the file being played. When you record audio,
the application you use allows you to select from the codecs
supported by the format you choose.


Number of channels



Depending on the recording setup, one channel
(monaural or mono sound),
two channels (stereo sound), or more can be
recorded. Additional channels provide audio separation, which
increases the realism of the sound during playback. Various formats
store one, two, four, or five audio channels. Some formats store only
two channels, but with additional data that can be used to simulate
additional channels.



Table 17-1 lists the three standard Windows
recording modes for PCM WAV, which is the most common uncompressed
waveform audio format, and representative MP3 and OGG modes. MP3 at
256 kb/s uses a little more storage than Windows' AM
radio mode, but produces sound files that are nearly CD quality.
OGG-3 produces files that average about 17.5% smaller than 128 kb/s
MP3 files, but provide superior sound quality. OGG-5 produces files
that average about 40% smaller than 256 kb/s MP3 files, but provide
comparable sound quality. OGG-10 produces files that average about
one-third the size of uncompressed .WAV files, but provide sound
quality that to our ears is indistinguishable from the original CD
audio, even when played on a high-quality home audio system. MP3 and
OGG bitrates are approximate.

Table 17-1. Uncompressed WAV modes versus compressed MP3 and OGG modes

Quality


Sample Size


Rate


Channels


Bytes/min


Compression


Telephone


8-bit


11,025 Hz


1 (mono)


661,500


PCM (1:1)


AM radio


8-bit


22,050 Hz


1 (mono)


1,323,000


PCM (1:1)


CD audio


16-bit


44,100 Hz


2 (stereo)


10,584,000


PCM (1:1)


MP3 (64 kb/s)


16-bit


44,100 Hz


2 (stereo)


~ 500,000


MP3 (~20:1)


MP3 (128 kb/s)


16-bit


44,100 Hz


2 (stereo)


~1,000,000


MP3 (~10:1)


MP3 (256 kb/s)


16-bit


44,100 Hz


2 (stereo)


~2,000,000


MP3 (~5:1)


OGG-0


16-bit


44,100 Hz


2 (stereo)


~ 500,000


OGG (~20:1)


OGG-3


16-bit


44,100 Hz


2 (stereo)


~ 825,000


OGG (~12:1)


OGG-5


16-bit


44,100 Hz


2 (stereo)


~ 1,200,000


OGG (~8:1)


OGG-10


16-bit


44,100 Hz


2 (stereo)


~ 3,000,000


OGG (~3:1)


17.1.2 MIDI Audio




A
MIDI file is the digital equivalent of sheet music. Rather than
containing actual audio data, a MIDI file contains detailed
instructions for creating the sounds represented by that file. And,
just as the same sheet music played by different musicians can sound
different, the exact sounds produced by a MIDI file depend on which
sound card you use to play it.


Three PC MIDI standards exist. The first, General MIDI, is the
official standard, actually predates multimedia PCs, and is the
oldest and most comprehensive standard. The other two standards are
Basic MIDI and Extended
MIDI
. Both are Microsoft standards and, despite the name
of the latter, both are subsets of the General MIDI standard. In the
early days of sound cards, General MIDI support was an
unrealistically high target, so many sound cards implemented only one
of the Microsoft MIDI subsets. All current sound cards we know of
support full General MIDI.

MIDI was developed about 20 years
ago, originally as a method to provide a standard interface between
electronic music keyboards and electronic sound generators such as
Moog synthesizers. A MIDI interface supports 16 channels, allowing up
to 16 instruments or groups of instruments (selected from a palette
of 128 available instruments) to play simultaneously. MIDI interfaces
can be stacked. Some MIDI devices support 16 or more interfaces
simultaneously, allowing 256 or more channels.

The MIDI
specification defines both a serial communication protocol and the
formatting of the MIDI messages transferred via that protocol. MIDI
transfers 8-bit data at 31,250 bps over a 5 mA current loop, using
optoisolators to electrically isolate MIDI devices from each other.
All MIDI devices use a standard 5-pin DIN connector, but the MIDI
port on a sound card is simply a subset of the pins on the standard
DB-15 gameport connector (see Chapter 21). That
means a gameport-to-MIDI adapter is needed to connect a sound card to
an external MIDI device such as a MIDI keyboard.

MIDI messages are simply a string of ASCII
bytes encoded to represent the important characteristics of a musical
score, including instrument to be used, note to be played, volume,
and so on. MIDI messages usually comprise a status byte followed by
one, two, or three data bytes, but a MIDI feature called
Running Status allows any number of additional
bytes received to be treated as data bytes until a second status byte
is received. Here are the functions of those byte types:

Status byte



MIDI messages always begin with a status byte,
which identifies the type of message and is flagged as a status byte
by having the high-order bit set to 1. The most significant
(high-order) four bits (nibble) of this byte define the action to be
taken, such as a command to turn a note on or off or to modify the
characteristics of a note that is already playing. The least
significant nibble defines the channel to which the message is
addressed, which in turn determines the instrument to be used to play
the note. Although represented in binary as a 4-bit value between 0
and 15, channels are actually designated 1 through 16.


Data byte



A data byte is flagged as such by having its
high-order bit set to zero, which limits it to communicating 128
states. What those states represent depends on the command type of
the status byte. When it follows a Note On command, for example, the
first data byte defines the pitch of the note. Assuming standard
Western tuning (A=440 Hz), this byte can assume any of 128 values
from C-sharp/D-flat (17.32 Hz) to G (25087.69 Hz). The second data
byte specifies velocity, or how hard the key was
pressed, which corresponds generally to volume, depending on the MIDI
device and instrument. The note continues playing until a status byte
with a Note Off command for that note is received, although it may,
under programmatic control, decay to inaudibility in the
interim.




/ 238