mirror of
https://github.com/iluvcapra/wavinfo.git
synced 2025-12-31 08:50:41 +00:00
gq gq gq
This commit is contained in:
@@ -52,9 +52,9 @@ WAVE file
|
||||
without having to re-write the file or audio data.
|
||||
.IP 2)
|
||||
Older authorites recommend placing metadata before the audio data, so
|
||||
clients reading the file sequentially will hit it before having to seek
|
||||
through the audio. This may have improved metadata read performance at one
|
||||
time.
|
||||
clients reading the file sequentially will hit it before having to seek through
|
||||
the audio. This may have improve metadata read performance on certain
|
||||
architecures.
|
||||
.IP 3)
|
||||
Older authorities also recommend inserting
|
||||
.I JUNK
|
||||
@@ -63,18 +63,18 @@ before the
|
||||
chunk, sized in such a way so that the first byte of the
|
||||
.I data
|
||||
payload lands immediately at 0x1000 (4096), because this was a common
|
||||
factor of the page boundaries of many operating systems and architectures.
|
||||
This could optimize the audio I/O performance in certain situations.
|
||||
factor of the page boundaries of many operating systems and architectures. This
|
||||
may optimize the audio I/O performance in certain situations.
|
||||
.IP 4)
|
||||
Modern implemenations (we're looking at
|
||||
.B Pro Tools
|
||||
here) tend to place the Broadcast-WAVE
|
||||
.I bext
|
||||
metadata before the data, followed by the data itself, and then other
|
||||
data after that.
|
||||
metadata before the data, followed by the data itself, and then other data
|
||||
after that.
|
||||
.PP
|
||||
Clients reading WAVE files should be tolerant and accept any configuration
|
||||
of chunks, and should accept any file as long as the obligatory
|
||||
Clients reading WAVE files should be tolerant and accept any configuration of
|
||||
chunks, and should accept any file as long as the obligatory
|
||||
.I fmt
|
||||
and
|
||||
.I data
|
||||
@@ -87,32 +87,30 @@ these chunks, in this order, and to hard-code the offsets of the short
|
||||
.I fmt
|
||||
chunk and
|
||||
.I data
|
||||
chunk into their program, and this is something that should always be
|
||||
checked when evaluating a new tool, just to make sure the developer
|
||||
didn't do this. Many coding examples and WAVE file explainers from the
|
||||
90s and early aughts give the basic layout of a WAVE file and naive devs
|
||||
go along with it.
|
||||
chunk into their program, and this is something that should always be checked
|
||||
when evaluating a new tool, just to make sure the developer didn't do this.
|
||||
Many coding examples and WAVE file explainers from the 90s and early aughts
|
||||
give the basic layout of a WAVE file and naive devs go along with it.
|
||||
.SS Encoding and Decoding Text Metadata
|
||||
.PP
|
||||
Modern metadata systems, anything developed since the late aughts, will
|
||||
defer encoding to an XML parser so when dealing with
|
||||
Modern metadata systems, anything developed since the late aughts, will defer
|
||||
encoding to an XML parser so when dealing with
|
||||
.I ixml
|
||||
or
|
||||
.I axml
|
||||
so a client can mostly ignore this problem.
|
||||
.PP
|
||||
The most established metadata systems are older than this though, and
|
||||
so the entire weight of text encoding history falls upon the client.
|
||||
The most established metadata systems are older than this though, and so the
|
||||
entire weight of text encoding history falls upon the client.
|
||||
.PP
|
||||
The original WAVE specification, a part of the Microsoft/IBM Multimedia
|
||||
interface of 1991, was written at a time when Windows was an ascendant
|
||||
and soon-to-be dominant desktop environment. Audio files were almost
|
||||
never shared via LANs or the Internet or any other way.
|
||||
When audio files were shared, among the miniscule number of people
|
||||
who did this, it was via BBS or usenet. Users at this time may have
|
||||
ripped them from CDs, but the cost of hard drives and low quality of
|
||||
compressed formats at the time made this little more than a curiosity.
|
||||
There was no
|
||||
interface of 1991, was written at a time when Windows was an ascendant and
|
||||
soon-to-be dominant desktop environment. Audio files were almost
|
||||
never shared via LANs or the Internet or any other way. When audio files were
|
||||
shared, among the miniscule number of people who did this, it was via BBS or
|
||||
usenet. Users at this time may have ripped them from CDs, but the cost of hard
|
||||
drives and low quality of compressed formats at the time made this little more
|
||||
than a curiosity. There was no
|
||||
.I CDBaby or
|
||||
.I CDDB
|
||||
to download and populate metadata from at this time.
|
||||
@@ -121,25 +119,25 @@ So, the
|
||||
.I INFO
|
||||
and
|
||||
.I cue
|
||||
metadata systems, which are by far the most prevalent and supported,
|
||||
were published two years before the so-called "Endless September" of
|
||||
1993 when the Internet became mainstream, when Unicode was still a
|
||||
twinkle in the eye, and two years before Ariana Grande was born.
|
||||
metadata systems, which are by far the most prevalent and supported, were
|
||||
published two years before the so-called "Endless September" of 1993 when the
|
||||
Internet became mainstream, when Unicode was still a twinkle in the eye, and
|
||||
two years before Ariana Grande was born.
|
||||
.PP
|
||||
The safest assumption, and the mandate of the Microsoft, is that all
|
||||
text metadata, by default, be encoded in Windows codepage 819,
|
||||
a.k.a. ISO Latin alphabet 1, or ISO 8859-1. This covers most Western
|
||||
European scripts but excludes all of Asia, Russia and most of the European
|
||||
Near East, the Middle East.
|
||||
The safest assumption, and the mandate of the Microsoft, is that all text
|
||||
metadata, by default, be encoded in Windows codepage 819, a.k.a. ISO Latin
|
||||
alphabet 1, or ISO 8859-1. This covers most Western European scripts but
|
||||
excludes all of Asia, Russia and most of the European Near East, the Middle
|
||||
East.
|
||||
.SH CHUNK MENAGERIE
|
||||
A list of chunks that you may find in a wave file from our experience.
|
||||
.SS Essential WAV Chunks
|
||||
.IP fmt
|
||||
Defines the format of the audio in the
|
||||
.I data
|
||||
chunk: the audio codec, the sample rate, bit depth, channel count, block
|
||||
alignment and other data. May take an "extended" form, with additional data
|
||||
(such as channel speaker assignments) if there are more than two channels in
|
||||
chunk: the audio codec, the sample rate, bit depth, channel count, block
|
||||
alignment and other data. May take an "extended" form, with additional data
|
||||
(such as channel speaker assignments) if there are more than two channels in
|
||||
the file or if it is a compressed format.
|
||||
.IP data
|
||||
The audio data itself. PCM audio data is always stored as interleaved samples.
|
||||
|
||||
Reference in New Issue
Block a user