Как вообще можно хранить звук? Беда в том, что аналоговый способ хранения имеет много плюсов, но вместе с тем имеет кучу разных минусов. А именно, пленка теряет свои магнитные свойства, винил стареет и начинает скрипеть и цыкать. Поэтому звук принято оцифровывать. Как это делается? Да очень просто. Вот есть у нас звуковая волна - по сути функция. А мы вместо того, чтобы хранить ее целиком, натыкаем через равные малые промежутки времени точек и запишем значения функции в этих точках (округлив, естественно, потому что вещественное число в компьютер не запишешь). Если интервалы будут маленькие, то потом функцию можно будет почти точно восстановить, проведя кривую через эти точки на графике (это называется интерполяция). Чем их больше, тем точнее будет восстановлена волна и тем точнее будет передача.

Наверное, каждый видел аудио-компакт диск (CD-DA). Так вот, на этом диске (если не обращать внимания на некоторые мелочи, которые нам сейчас не очень важны) записаны звуковые отсчеты с частотой 44100 гЦ по каждому каналу, при этом сами значения функции-волны представляются целым числом со знаком от -32768 до 32767. По теореме из курса функционального анализа (теорема Шеннона-Котельникова), такое квантование позволяет адекватно передавать колебания с частотой до 44100/2=22050 герц. Этого вполне достаточно для большинства ушей, однако аудиофилы считают частоту дискретизации 44 кГц недостаточной. Так оно и есть, и цифровая обработка звука ведется на больших частотах дискретизации, чтобы уменьшить искажения. Кроме того, используется не 16-битный звук, а 24-битный, то есть на значения функции-волны отводится 24 бита, а не 16, как в формате CDDA. Если угодно, то частота дискретизации и разрядность звука по сути сравнимы с разрешением сканирования изображения - чем больше, тем точнее.

Данные, которые хранятся в WAV-файле формата РСМ, по сути не отличаются от того, что записано на AudioCD. То есть если бы была возможность прочитать CD как диск с данными, то мы увидели бы в явном виде то же самое, что можно увидеть в WAV-файле после того, как диск «рипнули», то есть считали с него информацию. Забудем пока про то, что сам процесс чтения может проходить с ошибками, - рассмотрим некоторую идеальную ситуацию. Тогда процесс копирования и хранения музыки лишен потерь качества полностью - что записали, то и считаем (и то же самое и будем воспроизводить).

Таким образом, если мы хотим хранить музыку в неизменном виде, по идее нам достаточно только уметь сграбить ее в WAV-формат. Но беда в том, что стереоаудиосиг-нал занимает довольно много места: 80 минут - около 700 мб. Поэтому придумали различные алгоритмы сжатия этого сигнала, чтобы поменьше занимал места. Так вот, все алгоритмы сжатия звука можно разделить на lossy (с потерями) и lossless (без потерь). Вот теперь название lossless полностью оправдано. Когда мы говорим lossless - это означает, что при сжатии звука не были использованы алгоритмы, которые теряют информацию. Это значит, что мы имеем возможность восстановить цифровой сигнал до последнего бита из упакованного формата таким же, каким он и был до сжатия, а потом уже и воспроизвести его. То есть о потерянности и беспотерянности надо говорить не на уровне преобразования цифра-аналог-цифра, а на стадии хранения и упаковки цифровых данных.

Итак, «lossless» переводится с английского как «без потерь». Для начала замечу, что это не согласуется с реальностью: звук в природе существует как таковой только в аналоговом виде, то есть в виде колебаний определенной частоты. Это чисто аналоговая сущность, и наивно было бы думать, что оцифрованный сигнал можно воспроизвести также, как он и звучал при записи. Причин тому очень много - от неточности работы тактовых генераторов до помех, возникающих в проводах, по которым передается аналоговый сигнал. Качественная ауди-отехника (и в том числе качественные кабели) позволяют значительно снизить (но не исключить!) влияние всяких помех.

Ну а что такое lossy? Разберем на примере трЗ как наиболее популярного формата. Это формат хранения звуковых данных, в котором при сжатии происходит потеря информации. Например, из спектрального разложения выбрасываются верхние частоты, потому что человек их, видите ли, плохо слышит (кстати «не слышит» не означает «не воспринимает»).

Я думаю, все пользовались архиваторами. Работает проще простого - выделяем файлы и запаковываем в архив, который чудесным образом оказывается порой заметно меньше оригинала. Однако потом (о чудо!) мы можем извлечь оттуда все файлы в целости и сохранности, не потеряв ни бита информации. Так вот, все lossless-кодеки построены по тому же принципу. Это ЗВУКОВЫЕ АРХИВАТОРЫ. Они приспособлены именно для сжатия звука без потерь. То есть в процессе работы набор отсчетов хитроумно преобразуется, но так, что можно его полностью восстановить.

Делая копию аудиодиска, можно смело запаковать его чем-нибудь (tossless-кодеком). Опасения типа «ну вот, он же меньше стал занимать, стало быть, что-то пропало» не проходят. Распаковав его, мы получим точную копию того, что вы запаковали!

Таких кодеков сейчас уже понаписано море разливанное. Перечислю самые популярные:

АРЕ (Monkey's Audio)

FLAC (Free Lossless Audio Codec)

WAVPack (WAVPack)

И так далее - приводить все я даже не считаю нужным. Отмечу только, что АРЕ - довольно популярный, хотя и не кроссплатформенный, медленный и нелокальный, FLAC - имеет поддержку многими железными устройствами, а WAVPack - универсальный кодек, который позволяет работать с многоканальным звуком и так далее.