Наиболее распространенные заблуждения на тему цифрового звука. Теория звука. Что нужно знать о звуке, чтобы с ним работать. Опыт Яндекс.Музыки От каких характеристик зависит качество звука

Мы довольно много узнали обо всём этом, работая над нашим проектом, и сегодня я попробую описать на пальцах некоторые основные понятия, которые требуется знать, если вы имеете дело с цифровой обработкой звука. В этой статье нет серьёзной математики вроде быстрых преобразований Фурье и прочего - эти формулы несложно найти в сети. Я опишу суть и смысл вещей, с которыми придётся столкнуться.

Оцифровка, или Туда и обратно

Прежде всего разберёмся с тем, что такое цифровой сигнал, как он получается из аналогового и откуда собственно берётся аналоговый сигнал. Последний максимально просто можно определить как колебания напряжения, возникающие из-за колебаний мембраны в микрофоне.

Рис. 1. Осциллограмма звука

Это осциллограмма звука - так выглядит аудио сигнал. Думаю, каждый хоть раз в жизни видел подобные картинки. Для того чтобы понять, как устроен процесс преобразования аналогового сигнала в цифровой, нужно нарисовать осциллограмму звука на миллиметровой бумаге. Для каждой вертикальной линии найдем точку пересечения с осциллограммой и ближайшее целое значение по вертикальной шкале - набор таких значений и будет простейшей записью цифрового сигнала.

Воспользуемся этим интерактивным примером, чтобы разобраться в том, как накладываются друг на друга волны разной частоты и как происходит оцифровка. В левом меню можно включать/выключать отображение графиков, настраивать параметры входных данных и параметры дискретизации, а можно просто двигать контрольные точки.

В реальности для создания стерео-эффекта при записи аудио чаще всего записывается не один, а сразу несколько каналов. В зависимости от используемого формата хранения они могут храниться независимо. Также уровни сигнала могут записываться как разница между уровнем основного канала и уровнем текущего.

Обратное преобразование из цифрового сигнала в аналоговый производится с помощью цифро-аналоговых преобразователей , которые могут иметь различное устройство и принципы работы. Я опущу описание этих принципов в данной статье.

Дискретизация

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

Зелёным показана частотная составляющая, частота которой выше частоты Найквиста. При оцифровке такой частотной составляющей не удаётся записать достаточно данных для её корректного описания. В результате при воспроизведении получается совершенно другой сигнал - жёлтая кривая.

Уровень сигнала

Для начала стоит сразу понять, что когда речь идёт о цифровом сигнале, то можно говорить только об относительном уровне сигнала. Абсолютный зависит в первую очередь от воспроизводящей аппаратуры и прямо пропорционален относительному. При расчётах относительных уровней сигнала принято использовать децибелы . При этом за точку отсчёта берётся сигнал с максимально возможной амплитудой при заданной глубине дискретизации. Этот уровень указывается как 0 dBFS (dB - децибел, FS = Full Scale - полная шкала). Более низкие уровни сигнала указываются как -1 dBFS, -2 dBFS и т.д. Вполне очевидно, что более высоких уровней просто не бывает (мы изначально берём максимально возможный уровень).

Поначалу бывает тяжело разобраться с тем, как соотносятся децибелы и реальный уровень сигнала. На самом деле всё просто. Каждые ~6 dB (точнее 20 log(2) ~ 6.02 dB) указывают на изменение уровня сигнала в два раза. То есть, когда мы говорим о сигнале с уровнем -12 dBFS, понимаем, что это сигнал, уровень которого в четыре раза меньше максимального, а -18 dBFS - в восемь, и так далее. Если посмотреть на определение децибела, в нём указывается значение - тогда откуда берётся 20? Всё дело в том, что децибел - это логарифм отношения двух одноимённых энергетических величин, умноженный на 10. Амплитуда же не является энергетической величиной, следовательно её нужно перевести в подходящую величину. Мощность, которую переносят волны с разными амплитудами, пропорциональна квадрату амплитуды. Следовательно для амплитуды (если все прочие условия, кроме амплитуды принять неизменными) формулу можно записать как

N.B. Стоит упомянуть, что логарифм в данном случае берётся десятичный, в то время как большинство библиотек под функцией с названием log подразумевает натуральный логарифм.

При различной глубине дискретизации уровень сигнала по этой шкале изменяться не будет. Сигнал с уровнем -6 dBFS останется сигналом с уровнем -6 dBFS. Но всё же одна характеристика изменится - динамический диапазон. Динамический диапазон сигнала - это разница между его минимальным и максимальным значением. Он рассчитывается по формуле , где n - глубина дискретизации (для грубых оценок можно пользоваться более простой формулой: n * 6). Для 16 бит это ~96.33 dB, для 24 бит ~144.49 dB. Это означает, что самый большой перепад уровня, который можно описать с 24-битной глубиной дискретизации (144.49 dB), на 48.16 dB больше, чем самый большой перепад уровня с 16-битной глубиной (96.33 dB). Плюс к тому - шум дробления при 24 битах на 48 dB тише.

Восприятие

Когда мы говорим о восприятии звука человеком, следует сначала разобраться, каким образом люди воспринимают звук. Очевидно, что мы слышим с помощью ушей . Звуковые волны взаимодействуют с барабанной перепонкой, смещая её. Вибрации передаются во внутреннее ухо, где их улавливают рецепторы. То, насколько смещается барабанная перепонка, зависит от такой характеристики, как звуковое давление . При этом воспринимаемая громкость зависит от звукового давления не напрямую, а логарифмически. Поэтому при изменении громкости принято использовать относительную шкалу SPL (уровень звукового давления), значения которой указываются всё в тех же децибелах. Стоит также заметить, что воспринимаемая громкость звука зависит не только от уровня звукового давления, но ещё и от частоты звука:

Громкость

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

Математика

Тут я, пожалуй, немного вернусь к математике, потому что реализация логарифмической шкалы оказывается не такой простой и очевидной вещью для многих, а найти в интернете данную формулу не так просто, как хотелось бы. Заодно покажу, как просто переводить значения громкости в dBFS и обратно. Для дальнейших объяснений это будет полезным.

// Минимальное значение громкости - на этом уровне идёт отключение звука var EPSILON = 0.001; // Коэффициент для преобразований в dBFS и обратно var DBFS_COEF = 20 / Math.log(10); // По положению на шкале вычисляет громкость var volumeToExponent = function(value) { var volume = Math.pow(EPSILON, 1 - value); return volume > EPSILON ? volume: 0; }; // По значению громкости вычисляет положение на шкале var volumeFromExponent = function(volume) { return 1 - Math.log(Math.max(volume, EPSILON)) / Math.log(EPSILON); }; // Перевод значения громкости в dBFS var volumeToDBFS = function(volume) { return Math.log(volume) * DBFS_COEF; }; // Перевод значения dBFS в громкость var volumeFromDBFS = function(dbfs) { return Math.exp(dbfs / DBFS_COEF); }

Цифровая обработка

Теперь вернёмся к тому, что мы имеем цифровой, а не аналоговый сигнал. У цифрового сигнала есть две особенности, которые стоит учитывать при работе с громкостью:
  • точность, с которой указывается уровень сигнала, ограничена (причём достаточно сильно. 16 бит - это в 2 раза меньше, чем используется для стандартного числа с плавающей точкой);
  • у сигнала есть верхняя граница уровня, за которую он не может выйти.

Из того, что уровень сигнала имеет ограничение точности, следует две вещи:

  • уровень шумов дробления возрастает при увеличении громкости. Для малых изменений обычно это не очень критично, так как изначальный уровень шума значительно тише ощутимого, и его можно безопасно поднимать в 4-8 раз (например, применять эквалайзер с ограничением шкалы в ±12dB);
  • не стоит сначала сильно понижать уровень сигнала, а затем сильно его повышать - при этом могут появиться новые шумы дробления, которых изначально не было.

Из того, что сигнал имеет верхнее ограничение уровня, следует, что нельзя безопасно увеличивать громкость выше единицы. При этом пики, которые окажутся выше границы, будут «срезаны» и произойдёт потеря данных.

На практике всё это означает, что стандартные для Audio-CD параметры дискретизации (16 бит, 44,1 кГц) не позволяют производить качественную обработку звука, потому что имеют очень малую избыточность. Для этих целей лучше использовать более избыточные форматы. Однако стоит учитывать, что общий размер файла пропорционален параметрам дискретизации, поэтому выдача таких файлов для он-лайн воспроизведения - не лучшая идея.

Измерение громкости

Для того чтобы сравнивать громкость двух разных сигналов, её для начала нужно как-то измерить. Существует по меньшей мере три метрики для измерения громкости сигналов - максимальное пиковое значение, усреднённое значение уровня сигнала и метрика ReplayGain.

Максимальное пиковое значение достаточно слабая метрика для оценки громкости. Она никак не учитывает общий уровень громкости - например, если записать грозу, то большую часть времени на записи будет тихо шелестеть дождь и лишь пару раз прогремит гром. Максимальное пиковое значение уровня сигнала у такой записи будет довольно высоким, но большая часть записи будет иметь весьма низкий уровень сигнала. Однако эта метрика всё равно является полезной - она позволяет вычислить максимальное усиление, которое можно применить к записи, при котором не будет потерь данных из-за «обрезания» пиков.

Усреднённое значение уровня сигнала - более полезная метрика и легко вычислимая, но всё же имеет существенные недостатки, связанные с тем, как мы воспринимаем звук. Визг циркулярной пилы и рокот водопада, записанные с одинаковым средним уровнем сигнала, будут восприниматься совершенно по-разному.

ReplayGain наиболее точно передает воспринимаемый уровень громкости записи и учитывает физиологические и психические особенности восприятия звука. Для промышленного выпуска записей многие звукозаписывающие студии используют именно её, также она поддерживается большинством популярных медиа-плееров. ( на WIKI содержит много неточностей и фактически не корректно описывает саму суть технологии)

Нормализация громкости

Если мы можем измерять громкость различных записей, мы можем её нормализовать. Идея нормализации состоит в том, чтобы привести разные звуки к одинаковому уровню воспринимаемой громкости. Для этого используется несколько различных подходов. Как правило, громкость стараются максимизировать, но это не всегда возможно из-за ограничений максимального уровня сигнала. Поэтому обычно берётся некоторое значение немного меньше максимума (например -14 dBFS), к которому пытаются привести все сигналы.

Иногда нормализацию громкости производят в рамках одной записи - при этом различные части записи усиливают на разные величины, чтобы их воспринимаемая громкость была одинаковой. Такой подход очень часто применяется в компьютерных видео-плеерах - звуковая дорожка многих фильмов может содержать участки с очень сильно отличающейся громкостью. В такой ситуации возникают проблемы при просмотре фильмов без наушников в позднее время - при громкости, на которой нормально слышен шёпот главных героев, выстрелы способны перебудить соседей. А на громкости, при которой выстрелы не бьют по ушам, шёпот становится вообще неразличим. При внутри-трековой нормализации громкости плеер автоматически увеличивает громкость на тихих участках и понижает на громких. Однако этот подход создаёт ощутимые артефакты воспроизведения при резких переходах между тихим и громким звуком, а также порой завышает громкость некоторых звуков, которые по задумке должны быть фоновыми и еле различимыми.

Также внутреннюю нормализацию порой производят, чтобы повысить общую громкость треков. Это называется нормализацией с компрессией. При этом подходе среднее значение уровня сигнала максимизируется за счёт усиления всего сигнала на заданную величину. Те участки, которые должны были быть подвергнуты «обрезанию», из-за превышения максимального уровня усиливаются на меньшую величину, позволяя избежать этого. Этот способ увеличения громкости значительно снижает качество звучания трека, но, тем не менее, многие звукозаписывающие студии не брезгуют его применять.

Фильтрация

Я не стану описывать совсем все аудио-фильтры, ограничусь только стандартными, которые присутствуют в Web Audio API. Самым простым и распространённым из них является биквадратный фильтр (BiquadFilterNode) - это активный фильтр второго порядка с бесконечной импульсной характеристикой , который может воспроизводить достаточно большое количество эффектов. Принцип работы этого фильтра основан на использовании двух буферов, каждый с двумя отсчётами. Один буфер содержит два последних отсчёта во входном сигнале, другой - два последних отсчёта в выходном сигнале. Результирующее значение получается с помощью суммирования пяти значений: текущего отсчёта и отсчётов из обоих буферов перемноженных на заранее вычисленные коэффициенты. Коэффициенты данного фильтра задаются не напрямую, а вычисляются из параметров частоты, добротности (Q) и усиления.

Все графики ниже отображают диапазон частот от 20 Гц до 20000 Гц. Горизонтальная ось отображает частоту, по ней применяется логарифмический масштаб, вертикальная - магнитуду (жёлтый график) от 0 до 2, или фазовый сдвиг (зелёный график) от -Pi до Pi. Частота всех фильтров (632 Гц) отмечена красной чертой на графике.

Lowpass



Рис. 8. Фильтр lowpass.

Пропускает только частоты ниже заданной частоты. Фильтр задаётся частотой и добротностью.

Highpass



Рис. 9. Фильтр highpass.

Действует аналогично lowpass, за исключением того, что он пропускает частоты выше заданной, а не ниже.

Bandpass



Рис. 10. Фильтр bandpass.

Этот фильтр более избирателен - он пропускает только определённую полосу частот.

Notch



Рис. 11. Фильтр notch.

Является противоположностью bandpass - пропускает все частоты вне заданной полосы. Стоит, однако, отметить разность в графиках затухания воздействия и в фазовых характеристиках данных фильтров.

Lowshelf



Рис. 12. Фильтр lowshelf.

Является более «умной» версией highpass - усиливает или ослабляет частоты ниже заданной, частоты выше пропускает без изменений. Фильтр задаётся частотой и усилением.

Highshelf



Рис. 13. Фильтр highshelf.

Более умная версия lowpass - усиливает или ослабляет частоты выше заданной, частоты ниже пропускает без изменений.

Peaking



Рис. 14. Фильтр peaking.

Это уже более «умная» версия notch - он усиливает или ослабляет частоты в заданном диапазоне и пропускает остальные частоты без изменений. Фильтр задаётся частотой, усилением и добротностью.

Фильтр allpass



Рис. 15. Фильтр allpass.

Allpass отличается ото всех остальных - он не меняет амплитудные характеристики сигнала, вместо чего делает фазовый сдвиг заданных частот. Фильтр задаётся частотой и добротностью.

Фильтр WaveShaperNode

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

Фильтр ConvolverNode

Фильтр, производящий линейную свёртку входного сигнала с аудио-буфером, задающим некую импульсную характеристику . Импульсная характеристика - это ответ некой системы на единичный импульс. Простым языком это можно назвать «фотографией» звука. Если реальная фотография содержит информацию о световых волнах, о том, насколько они отражаются, поглощаются и взаимодействуют, то импульсная характеристика содержит аналогичную информацию о звуковых волнах. Свёртка аудио-потока с подобной «фотографией» как бы накладывает эффекты окружения, в котором была сняла импульсная характеристика на входной сигнал.

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

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

Развенчание популярных мифов о цифровом звуке.

2017-10-01T15:27

2017-10-01T15:27

Audiophile"s Software

Примечание : для лучшего понимания нижеизложенного текста очень рекомендую ознакомиться с основами цифрового звука .

Также многие затронутые ниже моменты освещены в моей публикации «Ещё раз о печальной правде: откуда на самом деле берётся хорошее звучание?» .

Чем больше битрейт, тем качественнее трек

Это далеко не всегда так. Для начала напомню, что такое битрейт (bitrate, а не bitraid). Фактически это скорость потока данных в килобитах на секунду при воспроизведении. Т. е., если мы возьмем размер трека в килобитах и разделим на его продолжительность в секундах, получим его битрейт - т. н. file-based bitrate (FBR), обычно он не слишком отличается от битрейта аудиопотока (причиной различий является наличие в треке метаданных - тегов, «вшитых» изображений и т. п.).

Теперь возьмем пример: битрейт несжатого PCM аудио, записанного на обычном Audio CD, рассчитывается следующим образом: 2 (канала) × 16 (бит на каждый семпл) × 44100 (семплов в секунду) = 1411200 (бит/с) = 1411.2 кбит/с. А теперь возьмём и сожмём трек любым lossless кодеком («lossless» - «беспотерьный», т. е. такой, который не приводит к потере какой-либо информации), например кодеком FLAC. В результате мы получим битрейт ниже исходного, но качество при этом останется неизменным - вот вам и первое опровержение.

Сюда ещё кое-что стоит добавить. Битрейт на выходе при lossless сжатии может получиться самый разный (но, как правило он меньше, чем у несжатого аудио) - зависит это от сложности сжимаемого сигнала, а точнее от избыточности данных. Таким образом, более простые сигналы будут сжиматься лучше (т. е. имеем меньший размер файла при такой же продолжительности => меньший битрейт), а более сложные - хуже. Именно поэтому классическая музыка в lossless имеет меньший битрейт, чем, скажем, рок. Но надо подчеркнуть, что битрейт тут ни в коем случае не является показателем качества звукового материала.

Теперь поговорим о lossy сжатии (с потерями). Прежде всего надо понимать, что существует множество разных кодеров и форматов, и даже в пределах одного формата качество кодирования у разных кодеров может отличаться (например, QuickTime AAC кодирует намного качественнее устаревшего FAAC), не говоря уже о превосходстве современных форматов (OGG Vorbis, AAC, Opus) над MP3. Проще говоря, из двух одинаковых треков, закодированных разными кодерами с одним битрейтом, какой-то будет звучать лучше, а какой-то - хуже.

Кроме того, существует такое понятие, как апконверт . Т. е., можно взять трек в формате MP3 с битрейтом 96 кбит/с и конвертировать его в MP3 320 кбит/с. Мало того, что при этом качество не улучшится (ведь потерянные при предыдущем кодировании в 96 кбит/с данные уже не вернуть), оно даже ухудшится. Тут стоит указать, что на каждом этапе lossy кодирования (с любым битрейтом и любым кодером) в аудио вносится определенная порция искажений.

И даже более. Есть еще один нюанс. Если, скажем, битрейт аудиопотока - 320 кбит/с, это не значит, что все 320 кбит ушли на кодирование той самой секунды. Это характерно для кодирования с постоянным битрейтом и для тех случаев, когда человек, надеясь получить максимальное качество, форсирует слишком большой постоянный битрейт (как пример - установка 512 кбит/с CBR для Nero AAC). Как известно, количество бит, выделяемое на тот или иной фрейм, регулируется психоакустической моделью. Но в случае, когда выделенное количество намного ниже установленного битрейта, то не спасает даже резервуар бит (о терминах читайте в статье «Что такое CBR, ABR, VBR?») - в итоге мы получаем бесполезные «нулевые биты», которые просто «добивают» размер фрейма до нужного (т. е. увеличивают размер потока до заданного). Кстати, это легко проверить - сожмите полученный файл архиватором (лучше 7z) и посмотрите на степень сжатия - чем она больше - тем больше нулевых битов (т. к. они приводят к избыточности), тем больше зря потраченного места.

Кодеки lossy (MP3 и прочие) способны справитьcя c современной электронной музыкой, но не способны качественно закодировать классическую (академическую), живую, инструментальную музыку

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

Перечисленные выше факторы приводят к тому, что классическая музыка намного легче сжимается, прежде всего, чисто математически. Если вы помните, математическое сжатие работает за счёт устранения избыточности (описывая похожие фрагменты информации с использованием меньшего количества битов), а также за счёт предсказания (т. н. предикторы предсказывают поведение сигнала, а затем кодируется только отклонение реального сигнала от предсказанного - чем точнее они совпали, тем меньше битов нужно для кодирования). В данном случае относительно простой спектральный состав и гармоничность обуславливают высокую избыточность, устранение которой даёт значительную степень компрессии, а малое количество всплесков и шумовых компонентов (являющихся случайными и непредсказуемыми сигналами) обуславливает хорошую математическую предсказуемость подавляющей части информации. И это я уже не говорю об относительно небольшой средней громкости классических треков и о часто встречающихся промежутках тишины, для кодирования которых информация практически не требуется. В итоге мы можем без потерь сжать, например, некоторую сольную инструментальную музыку до битрейтов ниже 320 кбит/с (кодеры TAK и OFR на такое вполне способны).

Так вот, во-первых, дело в том, что математическое сжатие, лежащее в основе lossless кодирования, является также и одним из этапов lossy кодирования (читайте Понятно об MP3 кодировании). А во-вторых, т. к. в lossy используется преобразование Фурье (разложение сигнала на гармоники), то простота спектрального состава даже вдвойне облегчает кодеру работу. В итоге, сравнивая оригинальный и закодированный семпл классической музыки в слепом тесте, мы с удивлением обнаруживаем, что никаких отличий найти не можем, даже при относительно низком битрейте. И самое смешное - что когда мы начинаем совсем понижать битрейт кодирования, первое, что обнаруживает отличия - фоновые шумы в записи.

Что же касается электронной музыки - с ней кодерам приходится очень нелегко: шумовые составляющие имеют минимальную избыточность, и вместе с резкими скачками (какими-нибудь пилообразными импульсами) являются крайне непредсказуемыми сигналами (для кодеров, которые «заточены» под естественные звуки, ведущие себя совершенно иначе), прямое же и обратное преобразование Фурье с отбросом отдельных гармоник психоакустической моделью неминуемо даёт эффекты пре- и пост-эхо, слышимость которых кодеру далеко не всегда легко оценить... Добавьте еще к этому высокий уровень ВЧ составляющих - и получите большое количество киллер-семплов, с которыми на средне-низких битрейтах не справляются даже наиболее продвинутые кодеры, как ни странно, именно среди электронной музыки.

Также забавляют мнения «опытных слухачей» и музыкантов, которые при полном непонимании принципов lossy кодирования начинают утверждать, что они слышат, как инструменты в музыке после кодирования начинают фальшивить, частоты плавают и т. п. Это, возможно, ещё было бы справедливо для допотопных кассетных плееров с детонацией, но в цифровом аудио всё точно: частотная составляющая либо остаётся, либо отбрасывается, смещать тональность тут попросту нет надобности. Более того: наличие у человека музыкального слуха совершенно не означает наличие у него хорошего частотного слуха (например, способности воспринимать частоты >16 кГц, которая с возрастом сходит на нет) и отнюдь не облегчает ему задачу поиска артефактов lossy кодирования, т. к. искажения эти имеют характер очень специфический и требуют опыта слепого сравнения именно lossy аудио - надо знать, на чём и где искать.

DVD-Audio звучит лучше, чем Audio CD (24 бита против 16-ти, 96 кГц против 44.1 и т. п.)

К сожалению, люди обычно смотрят только на цифры и очень редко задумываются о влиянии того или иного параметра на объективное качество.

Рассмотрим для начала разрядность. Этот параметр отвечает не за что иное, как за динамический диапазон, т. е., за разницу между самым тихим и самым громким звуками (в дБ). В цифровом аудио максимальный уровень - это 0 dBFS (FS - full scale), а минимальный - ограничен уровнем шумов, т. е., фактически динамический диапазон по модулю равен уровню шумов. Для 16-битного аудио динамический диапазон рассчитывается как 20 × log 10 2 16 , что равняется 96.33 вБ. При этом динамический диапазон симфонического оркестра - до 75 дБ (в основном около 40-50 дБ).

А теперь представим реальные условия. Уровень шума в комнате - около 40 дБ (не забываем, что дБ - величина относительная. В данном случае за 0 дБ принимается порог слышимости), максимальная громкость музыки достигает 110 дБ (чтобы не было дискомфорта) - получаем разность 70 дБ. Таким образом получается, что динамический диапазон более 70 дБ в данном случае просто бесполезен. Т. е. при диапазоне выше или громкие звуки будут достигать болевого порога, или тихие звуки будут поглощаться окружающими шумами. Достичь уровня окружающих шумов менее 15 дБ очень трудно (так как на этом уровне находится громкость человеческого дыхания и прочих шумов обусловленных, человеческой физиологией), в итоге диапазон в 95 дБ для прослушивания музыки оказывается совершенно достаточным.

Теперь о частоте дискретизации (частота семплирования, sample rate). Этот параметр отвечает за частоту квантования по времени и непосредственно влияет на максимальную частоту сигнала, которую можно описать данным представлением аудио. По теореме Котельникова она равна половине частоты дискретизации. Т. е. для обычной частоты семплирования в 44100 Гц максимальная частота составляющих сигнала - 22050 Гц. Максимальная же частота. которая воспринимается человеческим ухом - чуть выше 20000 Гц (и то, при рождении; по мере взросления порог опускается до 16000 Гц).

Лучше всего данная тема раскрыта в статье Загрузки в формате 24/192 - почему они не имеют смысла .

Разные программные плееры звучат по-разному (e. g. foobar2000 лучше Winamp и т. п.)

Чтобы понять, почему это не так, надо разобраться, что собой представляет программный плеер. По сути это декодер, обработчики (опционально), плагин вывода (на один из интерфейсов: ASIO, DirectSound, WASAPI. etc.), ну и конечно же GUI (графический интерфейс пользователя). Т. к. декодер в 99.9 % случаев работает по стандартному алгоритму, а плагин вывода - это всего лишь часть программы, которая передает поток звуковой карте через один из интерфейсов, то причиной различий могут быть только обработчики. Но дело в том, что обработчики обычно по-умолчанию выключены (или должны быть выключены, т. к. главное для хорошего плеера - уметь передать звук в «первозданном» виде). В итоге, предметом сравнения тут могут быть только возможности обработки и вывода, в которых, кстати говоря, необходимости очень часто вообще нет. Но даже если такая необходимость и есть - то это уже сравнение обработчиков, а никак не плееров.

Разные версии драйвера звучат по-разному

В основании этого утверждения лежит банальное незнание принципов работы звуковой карты. Драйвер - это программное обеспечение, необходимое для эффективного взаимодействия устройства с операционной системой, также обычно предоставляющее графический интерфейс пользователя для возможности управления устройством, его параметрами и т. д. Драйвер звуковой карты обеспечивает распознавание звуковой карты как звукового устройства Windows, сообщает ОС о поддерживаемых картой форматах, обеспечивает передачу несжатого PCM (в большинстве случаев) потока на карту, а также даёт доступ к настройкам. Кроме того, в случае наличия софтовой обработки (средствами CPU), драйвер может содержать различные DSP (обработчики). Потому, во-первых, при отключенных эффектах и обработке, если драйвер не обеспечивает точную передачу PCM на карту, это считается грубейшей ошибкой, критическим багом. И случается такое крайне редко . С другой стороны, различия между драйверами могут быть в обновлении алгоритмов обработки (ресемплеров, эффектов), хотя это случается тоже отнюдь не часто. К тому же, для достижения наивысшего качества эффекты и любую обработку драйвером всё равно следует исключать.

Таким образом, обновления драйверов в основном ориентированы на повышение стабильности работы и устранение ошибок, связанных с обработкой. Ни то, ни другое в нашем случае на качество воспроизведения не влияет, потому в 999 случаях из 1000 драйвер влияния на звук не оказывает.

Лицензионные Audio CD звучат лучше, чем их копии

Если при копировании не произошло ошибок (неустранимых) чтения/записи и у оптического привода устройства, на котором будет воспроизводится диск-копия, нет проблем с его чтением, то такое утверждение ошибочно и легко опровергается .

Режим кодирования Stereo дает лучшее качество, чем Joint Stereo

Это заблуждение главным образом касается LAME MP3, так как все современные кодеры (AAC, Vorbis, Musepack) используют только режим Joint Stereo (и это уже о чём-то говорит)

Для начала стоит упомянуть, что режим Joint Stereo успешно используется при lossless сжатии. Суть его заключается в том, что сигнал перед кодированием раскладывается на сумму правого и левого канала (Mid) и на их разность (Side), а затем происходит отдельное кодирование этих сигналов. В пределе (для одинаковой информации в правом и левом канале) получается двойная экономия данных. А так как в большинстве музыки информация в правом и левом каналах довольно схожа, то этот метод оказывается очень эффективным и позволяет значительно увеличить степень сжатия.

В lossy принцип тот же. Но здесь в режиме постоянного битрейта качество фрагментов со схожей информацией в двух каналах будет увеличиваться (в пределе - удваиваться), а для VBR режима в таких местах будет просто уменьшаться битрейт (не забываем, что главная задача VBR режима - стабильно поддерживать заданное качество кодирования, используя минимально возможный битрейт). Так как во время lossy кодирования приоритет (при распределении битов) отдаётся сумме каналов, чтобы избежать ухудшения стереопанорамы, используется динамическое переключение между режимами Joint Stereo (Mid/Side) и обычным (Left/Right) стерео на базе фреймов. Кстати говоря, причиной данного заблуждения послужило несовершенство алгоритма переключения в старых версиях LAME, а также наличие режима Forced Joint, в котором автопереключение отсутствует. В последних версиях LAME режим Joint включен по умолчанию и менять его не рекомендуется.

Чем шире спектр, тем качественнее запись (о спектрограммах, auCDtect и частотном диапазоне)

В наше время на форумах, к несчастью, очень распространено измерение качества трека «линейкой по спектрограмме». Очевидно, по причине простоты такого способа. Но, как показывает практика, в действительности всё намного сложнее.

А дело тут вот в чем. Спектрограмма визуально демонстрирует распределение мощности сигнала по частотам, но не может дать полного представления о звучании записи, наличии в ней искажений и артефактов компрессии. Т. е., по сути всё, что можно определить по спектрограмме, - это частотный диапазон (и частично - плотность спектра в районе ВЧ). Т. е., в лучшем случае, путем анализа спектрограммы можно выявить апконверт. Сравнение же спектрограмм треков, полученных путем кодирования различными кодерами, с оригиналом - полнейший абсурд. Да, вы сможете выявить различия в спектре, но вот определить, будут ли они (и в какой степени) восприниматься человеческим ухом - практически невозможно. Нельзя забывать, что задача lossy кодирования - обеспечить результат неотличимый человеческим ухом от оригинала (никак не глазом).

Это же относится и к оценке качества кодирования путём анализа треков на выходе программой auCDtect (Audiochecker, auCDtect Task Manager, Tau Analyzer, fooCDtect - это лишь оболочки для единственной в своем роде консольной программы auCDtect). Алгоритм auCDtect тоже фактически анализирует частотный диапазон и всего лишь позволяет определить (с определенной долей вероятности), было ли на каком-либо из этапов кодирования применено MPEG сжатие. Алгоритм заточен под MP3, потому его легко «обмануть» с помощью кодеков Vorbis, AAC и Musepack, так что даже если программа пишет «100% CDDA» - это не значит, что закодированное аудио на 100% соответствует исходному.

И возвращаясь непосредственно к спектрам. Популярно также стремление некоторых «энтузиастов» во что бы то ни было отключить lowpass (НЧ) фильтр в кодере LAME. Здесь на лицо непонимание принципов кодирования и психоакустики. Во-первых, кодер обрезает высокие частоты только с одной целью - сэкономить данные и использовать их для кодирования наиболее слышимого диапазона частот. Расширенный частотный диапазон может фатально сказаться на общем качестве звучания и привести к слышимым артефактам кодирования. Более того, отключение среза на 20 кГц - вообще совершенно неоправданно, так как частоты выше человек попросту не слышит.

Существует некая «волшебная» предустановка эквалайзера, способная значительно улучшить звучание

Это не совсем так, во-первых, потому, что каждая отдельно взятая конфигурация (наушники, акустика, звуковая карта) обладает своими собственными параметрами (в частности, своей амплитудно-частотной характеристикой). И потому к каждой конфигурации должен быть свой, уникальный подход. Проще говоря, такая предустановка эквалайзера существует, но она отличается для разных конфигураций. Суть же её заключается в корректировке АЧХ тракта, а именно - в «выравнивании» нежелательных провалов и всплесков.

Также среди людей далеких от непосредственной работы со звуком очень популярна настройка графического эквалайзера «галочкой», что фактически представляет собой повышение уровня НЧ и ВЧ составляющих, но в то же время приводит к приглушению вокала и инструментов, спектр звучания которых находится в районе средних частот.

Перед конвертированием музыки в другой формат следует «разжимать» её в WAV

Сразу отмечу, что под WAV подразумеваются PCM данные (импульсно-кодовая модуляция) в контейнере WAVE (файл с расширением *.wav). Эти данные представляют собой не что иное, как последовательность битов (нулей и единиц) группами по 16, 24 или 32 (в зависимости от разрядности), каждая из которых представляет собой двоичный код амплитуды соответствующего ей семпла (например, для 16 бит в десятичном представлении это значения от -32768 до +32768).

Так вот, дело в том, что любой обработчик звука - будь то фильтр или кодер - как правило работает только с этими значениями, то есть только с несжатыми данными. Это значит, что для преобразования звука, скажем, из FLAC в APE, просто необходимо сначала декодировать FLAC в PCM, а затем уже закодировать PCM в APE. Это как для перепаковки файлов из ZIP в RAR, надо сначала распаковать ZIP.

Однако, если вы пользуетесь конвертером или просто продвинутым консольным кодером, промежуточное преобразование в PCM происходит на лету, иногда даже без записи во временный WAV файл. Именно это и вводит людей в заблуждения: кажется, что форматы конвертируются непосредственно один в другой, но на самом деле в такой программе обязательно есть декодер входного формата, выполняющий промежуточное преобразование в PCM.

Таким образом, ручное преобразование в WAV не даст вам совершенно ничего, кроме лишней траты времени.

Цифровой звук – это аналоговый звуковой сигнал, представленный посредством дискретных численных значений его амплитуды .

Оцифровка звука - технология поделенным временным шагом и последующей записи полученных значений в численном виде .
Другое название оцифровки звука - аналогово-цифровое преобразование звука.

Оцифровка звука включает в себя два процесса:

  • процесс дискретизации (осуществление выборки) сигнала по времени
  • процесс квантования по амплитуде.

Дискретизация по времени

Процесс дискретизации по времени - процесс получения значений сигнала, который преобразуется, с определенным временным шагом - шагом дискретизации . Количество замеров величины сигнала, осуществляемых в одну секунду, называют частотой дискретизации или частотой выборки , или частотой сэмплирования (от англ. « sampling» – «выборка»). Чем меньше шаг дискретизации, тем выше частота дискретизации и тем более точное представление о сигнале нами будет получено.
Это подтверждается теоремой Котельникова (в зарубежной литературе встречается как теорема Шеннона, Shannon). Согласно ей, аналоговый сигнал с ограниченным спектром точно описуем дискретной последовательностью значений его амплитуды , если эти значения берутся с частотой, как минимум вдвое превышающей наивысшую частоту спектра сигнала. То есть, аналоговый сигнал , в котором наивысшая частота спектра равна F m , может быть точно представлен последовательностью дискретных значений амплитуды, если для частоты дискретизации F d выполняется: F d >2F m .
На практике это означает, что для того, чтобы оцифрованный сигнал содержал информацию о всем диапазоне слышимых частот исходного аналогового сигнала (0 – 20 кГц) необходимо, чтобы выбранное значение частоты дискретизации составляло не менее 40 кГц. Количество замеров амплитуды в секунду называют частотой дискретизации (в случае, если шаг дискретизации постоянен).
Основная трудность оцифровки заключается в невозможности записать измеренные значения сигнала с идеальной точностью.

Линейное (однородное) квантование амплитуды

Отведём для записи одного значения амплитуды сигнала в памяти компьютера N бит. Значит, с помощью одного N -битного слова можно описать 2 N разных положений. Пусть амплитуда оцифровываемого сигнала колеблется в пределах от -1 до 1 некоторых условных единиц. Представим этот диапазон изменения амплитуды - динамический диапазон сигнала - в виде 2 N -1 равных промежутков, разделив его на 2 N уровней - квантов. Теперь, для записи каждого отдельного значения амплитуды, его необходимо округлить до ближайшего уровня квантования. Этот процесс носит название квантования по амплитуде. Квантование по амплитуде – процесс замены реальных значений амплитуды сигнала значениями, приближенными с некоторой точностью. Каждый из 2 N возможных уровней называется уровнем квантования, а расстояние между двумя ближайшими уровнями квантования называется шагом квантования. Если амплитудная шкала разбита на уровни линейно, квантование называют линейным (однородным).
Точность округления зависит от выбранного количества (2 N) уровней квантования, которое, в свою очередь, зависит от количества бит (N), отведенных для записи значения амплитуды. Число N называют разрядностью квантования (подразумевая количество разрядов, то есть бит, в каждом слове), а полученные в результате округления значений амплитуды числа – отсчетами или сэмплами (от англ. “ sample” – “замер”). Принимается, что погрешности квантования, являющиеся результатом квантования с разрядностью 16 бит, остаются для слушателя почти незаметными. Этот способ оцифровки сигнала - дискретизация сигнала во времени в совокупности с методом однородного квантования - называется импульсно-кодовой модуляцией, ИКМ (англ. Pulse Code Modulation – PCM).
Оцифрованный сигнал в виде набора последовательных значений амплитуды уже можно сохранить в памяти компьютера. В случае, когда записываются абсолютные значения амплитуды, такой формат записи называется PCM (Pulse Code Modulation). Стандартный аудио компакт-диск (CD-DA), применяющийся с начала 80-х годов 20-го столетия, хранит информацию в формате PCM с частотой дискретизации 44.1 кГц и разрядностью квантования 16 бит.

Другие способы оцифровки

Аналогово-цифровые преобразователи (АЦП)

Вышеописанный процесс оцифровки звука выполняется аналогово-цифровыми преобразователями (АЦП) .
Это преобразование включает в себя следующие операции:

  1. Ограничение полосы частот производится при помощи фильтра нижних частот для подавления спектральных компонент, частота которых превышает половину частоты дискретизации.
  2. Дискретизацию во времени, то есть замену непрерывного аналогового сигнала последовательностью его значений в дискретные моменты времени - отсчетов. Эта задача решается путём использования специальной схемы на входе АЦП - устройства выборки-хранения.
  3. Квантование по уровню представляет собой замену величины отсчета сигнала ближайшим значением из набора фиксированных величин - уровней квантования.
  4. Кодирование или оцифровку, в результате которого значение каждого квантованного отсчета представляется в виде числа, соответствующего порядковому номеру уровня квантования.

Делается это следующим образом: непрерывный аналоговый сигнал «режется» на участки, с частотой дискретизации, получается цифровой дискретный сигнал, который проходит процесс квантования с определенной разрядностью, а затем кодируется, то есть заменяется последовательностью кодовых символов. Для записи звука в полосе частот 20-20 000 Гц, требуется частота дискретизации от 44,1 и выше (в настоящее время появились АЦП и ЦАП c частотой дискретизации 192 и даже 384 кГц). Для получения качественной записи достаточно разрядности 16 бит, однако для расширения динамического диапазона и повышения качества звукозаписи используется разрядность 24 (реже 32) бита.

Кодирование оцифрованного звука перед его записью на носитель

Для хранения цифрового звука существует много различных способов. Оцифрованный звук являет собой набор значений амплитуды сигнала, взятых через определенные промежутки времени.

Терминология

  • кодер – программа (или устройство), реализующая определенный алгоритм кодирования данных (например, архиватор, или кодер MP 3), которая в качестве ввода принимает исходную информацию, а в качестве вывода возвращает закодированную информацию в определенном формате.
  • декодер – программа (или устройство), реализующая обратное преобразование закодированного сигнала в декодированный.
  • кодек (от англ. « codec » - « Coder / Decoder ») - программный или аппаратный блок, предназначенный для кодирования/декодирования данных.

Наиболее распространённые кодеки

  • MP3 – MPEG-1 Layer 3
  • ОGG – Ogg Vorbis
  • WMA – Windows Media Audio
  • MPC - MusePack
  • AAC – MPEG-2/4 AAC (Advanced Audio Coding)
    • Стандарт MPEG-2 AAC
    • Стандарт MPEG-4 AAC

Некоторые форматы оцифровки звука в сравнении

Основная статья: Сравнение звуковых форматов

Название формата Квантование, бит Частота дискретизации, кГц Число каналов Величина потока данных с диска, кбит/с Степень сжатия/упаковки
16 44,1 2 1411,2 1:1 без потерь
Dolby Digital (AC3) 16-24 48 6 до 640 ~12:1 с потерями
DTS 20-24 48; 96 до 8 до 1536 ~3:1 с потерями
DVD-Audio 16; 20; 24 44,1; 48; 88,2; 96 6 6912 2:1 без потерь
DVD-Audio 16; 20; 24 176,4; 192 2 4608 2:1 без потерь
MP3 плавающий до 48 2 до 320 ~11:1 с потерями
AAC плавающий до 96 до 48 до 529 с потерями
AAC+ (SBR) плавающий до 48 2 до 320 с потерями
Ogg Vorbis до 32 до 192 до 255 до 1000 с потерями
WMA до 24 до 96 до 8 до 768 2:1, есть версия без потерь

Полный цикл преобразования звука: от оцифровки до воспроизведения у потребителя

Полный цикл преобразования звука: от оцифровки до воспроизведения

Звук представляет собой распространяющуюся чаще всего в воздухе, воде или другой среде волну с непрерывно изменяющейся интенсивностью и частотой.

Человек может воспринимать звуковые волны (колебания воздуха) с помощью слуха в форме звука различая при этом громкость и тон.

Чем больше интенсивность звуковой волны, тем громче звук, чем больше частота волны, тем выше тон звука.


Зависимость громкости, а также высоты тона звука от интенсивности и частоты звуковой волны

Герц (обозначается Гц или Hz) - единица измерения частоты периодических процессов (например колебаний). 1 Гц означает одно исполнение такого процесса за одну секунду: 1 Гц= 1/с.

Если мы имеем 10 Гц, то это означает, что мы имеем десять исполнений такого процесса за одну секунду.

Человеческое ухо может воспринимать звук с частотой от 20 колебаний в секунду (20 Герц, низкий звук) до 20 000 колебаний в секунду (20 КГц, высокий звук).

Кроме того, человек может воспринимать звук в обширном диапазоне интенсивностей, в котором максимальная интенсивность больше минимальной в 1014 раз (в сто тысяч миллиардов раз).

Для того, чтобы измерять громкость звука придумали и применяют специальную единицу "децибел " (дБ )

Уменьшение или увеличение громкости звука на 10 дБ соответствует уменьшению или увеличению интенсивности звука в 10 раз.

Громкость звука в децибелах


Для того чтобы компьютерные системы могли обрабатывать звук, непрерывный звуковой сигнал должен быть преобразован в цифровую, дискретную форму с помощью временной дискретизации.

Для этого, непрерывная звуковая волна разбивается на отдельные маленькие временные участки, для каждого такого участка устанавливается определенная величина интенсивности звука.

Таким образом, непрерывная зависимость громкости звука от времени A(t) заменяется на дискретную последовательность уровней громкости. На графике это выглядит как замена гладкой кривой на последовательность "ступенек".


Временная дискретизация звука


Для записи аналогового звука и его преобразования в цифровую форму используется микрофон, подключенный к звуковой плате.

Чем гуще на графике будут располагаться дискретные полоски, тем качественнее в итоге получится воссоздать первоначальный звук

Качество полученного цифрового звука зависит от количества измерений уровня громкости звука в единицу времени, т. е. частоты дискретизации.

Частота дискретизации звука - это количество измерений громкости звука за одну секунду.

Чем большее количество измерений производится за одну секунду (чем больше частота дискретизации), тем точнее "лесенка" цифрового звукового сигнала повторяет кривую аналогового сигнала.

Каждой "ступеньке" на графике присваивается определенное значение уровня громкости звука. Уровни громкости звука можно рассматривать как набор возможных состояний N (градаций), для кодирования которых необходимо определенное количество информации I , которое называется глубиной кодирования звука.

Глубина кодирования звука - это количество информации, которое необходимо для кодирования дискретных уровней громкости цифрового звука.

Если известна глубина кодирования, то количество уровней громкости цифрового звука можно рассчитывать по общей формуле N = 2 I .

Например, пусть глубина кодирования звука составляет 16 битов, в таком случае количество уровней громкости звука равно:

N = 2 I = 2 16 = 65 536.

В процессе кодирования каждому уровню громкости звука присваивается свой 16-битовый двоичный код, наименьшему уровню звука будет соответствовать код 0000000000000000, а наибольшему - 1111111111111111.

Качество оцифрованного звука


Итак, чем больше частота дискретизации и глубина кодирования звука, тем более качественным будет звучание оцифрованного звука и тем лучше можно приблизить оцифрованный звук к оригинальному звучанию.

Самое низкое качество оцифрованного звука, соответствующее качеству телефонной связи, получается при частоте дискретизации 8000 раз в секунду, глубине дискретизации 8 битов и записи одной звуковой дорожки (режим "моно").

Самое высокое качество оцифрованного звука, соответствующее качеству аудио-CD, достигается при частоте дискретизации 48 000 раз в секунду, глубине дискретизации 16 битов и записи двух звуковых дорожек (режим "стерео").

Необходимо помнить, что чем выше качество цифрового звука, тем больше информационный объем звукового файла .

Можно легко оценить информационный объем цифрового стереозвукового файла длительностью звучания 1 секунда при среднем качестве звука (16 битов, 24 000 измерений в секунду). Для этого глубину кодирования необходимо умножить на количество измерений в 1 секунду и умножить на 2 канала (стереозвук):

16 бит × 24 000 × 2 = 768 000 бит = 96 000 байт = 93,75 Кбайт.

Звуковые редакторы


Звуковые редакторы позволяют не только записывать и воспроизводить звук, но и редактировать его. Наиболее видными можно смело назвать, такие как Sony Sound Forge , Adobe Audition , GoldWave и другие.

Оцифрованный звук представляется в звуковых редакторах в наглядной визуальной форме, поэтому операции копирования, перемещения и удаления частей звуковой дорожки можно легко осуществлять с помощью компьютерной мыши.

Кроме того, можно накладывать, перехлёстывать звуковые дорожки друг на друга (микшировать звуки) и применять различные акустические эффекты (эхо, воспроизведение в обратном направлении и др.).

Звуковые редакторы позволяют изменять качество цифрового звука и объём конечного звукового файла путём изменения частоты дискретизации и глубины кодирования. Оцифрованный звук можно сохранять без сжатия в звуковых файлах в универсальном формате WAV (формат компании Microsoft) или в форматах со сжатием OGG, МР3 (сжатие с потерями).
Также доступны менее распространённые, но заслуживающие внимания форматы со сжатием без потерь.

При сохранении звука в форматах со сжатием отбрасываются не слышимые и невоспринимаемые ("избыточные") для человеческого восприятия звуковые частоты с малой интенсивностью, совпадающие по времени со звуковыми частотами с большой интенсивностью. Применение такого формата позволяет сжимать звуковые файлы в десятки раз, однако приводит к необратимой потере информации (файлы не могут быть восстановлены в первоначальном, исходном виде).

Аудиодиски постепенно уходят в историю. Нет, конечно, они еще продаются в магазинах, но слушают и покупают их все меньше и меньше. Многие просто не видят в этом смысла, ведь даже если рассматривать легальный способ получения аудиофайлов, то одна песня в формате MP3 в музыкальном Интернет-магазине стоит гораздо дешевле одной песни, записанной на аудиодиск. Возникает резонный вопрос: зачем платить больше?

Конечно же, качество звука аудио CD гораздо выше, чем любого аудиофайла, где данные сжимаются, однако, для поразительного большинства людей эта разница некритична. Да что там! В наши дни даже самые большие меломаны задумываются о том, чтобы перевести свою коллекцию аудио CD в аудиофайлы, ведь вполне может наступить момент, когда спрос на диски будет настолько низкий, что проигрыватели аудио CD просто перестанут выпускать.

В этой статье мы рассмотрим некоторые программы для снятия данных с аудио CD и преобразования их в MP3 и другие форматы. Но сначала немного теории.

Компрессия звука и популярные аудиоформаты

Компрессия данных подразумевает анализ и упрощение записываемой информации, в результате которых на лазерный носитель можно записать больше аудиоданных, чем это возможно при записи аудио CD.

Чтобы было понятнее что такое компрессия данных, представьте себе, что вы должны пересказать содержимое листка бумаги на котором тысячу раз написана буква А своему другу по телефону. Вы можете просто тысячу раз произнести вслух «А» и ваш собеседник будет в курсе того, что же записано на листе. С другой стороны, вы можете предварительно подсчитать, сколько раз написана эта буква, после чего сообщить товарищу, что на листке тысяча раз записана буква «А». Результат будет тем же самым - ваш друг узнает содержание листа бумаги, но времени на передачу информации во втором случае у вас уйдет намного меньше. Иными словами вы провели компрессию данных, проанализировав сколько раз повторяется буква.

Сжатие цифрового аудио происходит приблизительно по такому же сценарию. Однако компрессия аудио данных имеет ряд особенностей. Так, например, для того чтобы вы узнали знакомую мелодию, достаточно проиграть ее в худшем качестве. При этом следует иметь в виду, что многие вкладывают в понятие «качественный звук» совершенно разные вещи. Так, например, если музыканту музыкальная запись режет слух из-за того, что щипок струны не был в строго определенной тональности, то простой обыватель может мириться и с гораздо более серьезными недостатками.

Эта особенность человеческого восприятия звука послужила толчком к созданию новых аудиоформатов, которые используют модель сжатия аудиоданных с потерей качества. Ухудшение звучания для большинства меломанов некритично, а в некоторых случаях, качеством и вовсе неважно, например, в паузах тишины, когда аудиоданные не представляют никакой ценности или в тех частотах, которые не воспринимает человеческое ухо.

Существует огромное количество форматов записи цифрового аудио. Их отличие в том, что они используют разные алгоритмы сжатия. Самые популярные на сегодняшний день форматы - это:

  • WMA (Windows Media Audio) - формат, разрабатываемый корпорацией Microsoft. Этот формат был создан на основе популярного в прошлом формата VQF, который сегодня уже почти забыт.
  • OGG Vorbis - бесплатный формат с открытыми кодами. В последнее время стал популярен настолько, что поддерживается производителями некоторых портативных проигрывателей.
  • MP3 (MPEG Layer III) - самый популярный формат, удерживающий лидирующие позиции уже в течение многих лет.

Особенности формата MP3

Привычное название MP3 - это сокращение от MPEG Layer III. MPEG, в свою очередь, расшифровывается как Moving Picture Coding Experts Group (Группа экспертов по кодированию движущихся изображений). Формат MP3 был разработан немецким институтом Фраунгофера в начале 90-х годов прошлого столетия. По-настоящему популярным формат стал после того, как им заинтересовалась компания Thomson.

Благодаря алгоритму сжатия, который использует формат MP3, аудиоданные можно сжимать в десять-двенадцать раз без заметных потерь в качестве. Высокая степень сжатия достигается благодаря тому, что MP3 использует особенности человеческого слуха. Человеческое ухо воспринимает звук в пределах диапазона от 20 Гц до 20 КГц, поэтому все звуки, которые не входят в этот диапазон, просто отбрасываются. Это значительно уменьшает объем данных.

Еще одна особенность MP3, благодаря которой можно получить аудиофайл меньшего размера, связана со стереозвуком и опять же, с особенностями человеческого слуха. Когда мы слушаем музыкальную композицию, записанную в стереорежиме, мы слышим основную разницу на средних частотах. Благодаря этой особенности к кодированию звука можно применить алгоритм сжатия, который бы кодировал отдельно для каждого канала только тот спектр частот, в котором наиболее слышна разница между каналами. А звук на тех частотах стереоканалов, на которых разница менее заметна, совмещается и кодируется в монорежиме. Такой совмещенный режим кодирования стереосигнала называется Joint Stereo.

Характеристики цифрового звука

При сжатии аудиоданных возникает необходимость управлять качеством оцифрованного звука. Так, например, если нужно оцифровать аудиокнигу, то высокое качество в этом случае не нужно. Главное - чтобы можно было разобрать слова. Если же оцифровывается музыкальное произведение, качество имеет большое значение.
Независимо от того, какой алгоритм сжатия звука используется, параметры, характеризующие качество звучания, одни и те же.

Одна из главных характеристик цифрового звука - это битрейт . Битрейтом называют скорость кодирования/раскодирования цифрового аудиопотока. Чем выше его значение, тем лучше качество звука и больше - размер файла. Нужно сказать, что битрейт является относительной величиной. Файлы, созданные с использованием разных алгоритмов сжатия и имеющие одинаковый битрейт, будут отличаться по качеству.

Кодирование можно производить с постоянным или переменным значением битрейта. Метод кодирования с переменным битрейтом дает возможность изменять качество аудиосигнала "на лету", то есть, в процессе проигрывания. Если программа определяет, что имеет дело со сложным звуковым потоком (например, звуками симфонического оркестра), качество возрастает, если же звук простой (к примеру, когда между композициями воцаряется пауза), качество автоматически ухудшается. Благодаря этому размер файла уменьшается.

Кодирование звука происходит с определенной частотой дискретизации . В процессе обработки аудиосигнал разделяется на большое количество частей (сэмплов), каждая из которых обрабатывается алгоритмом сжатия. Точность обработки сигнала и определяется частотой дискретизации, которая измеряется в килогерцах. В зависимости от количества сэмплов, приходящихся на единицу времени, различают такую характеристику звука, как разрядность. Нетрудно догадаться, что чем больше сэмплов обрабатывается, тем выше качество звука.

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

Любое отклонение формы сигнала, поступающего на вход звуковой карты, от правильной формы синусоиды приводит к выходу спектра за пределы собственной частоты сигнала. Поэтому при дискретизации звукового сигнала по времени ограничиваются частоты входящего импульса ниже одной второй от частоты дискретизации, или берется спектр с избытком частоты. Вследствие того, что человеческое ухо может различать звуковые колебания с частотой до 20 кГц, получается, что частота дискретизации любого звукового сигнала должна быть не менее 40 кГц. Поэтому на практике можно встретить звуковые устройства с частотами дискретизации 44,1 кГц, 48 кГц и 96 кГц.

Для амплитудной дискретизации звука, например, на лазерном диске используется уровень квантования 2 в шестнадцатой степени (65536). Представление чисел от 0 до 2^16 необходимо 16 бит информации, поэтому удобнее использовать термин 16-битной разрядности сигнала. Разрядность звука зависит от динамического диапазона входного сигнала и допустимых шумов квантования.

Квантование по амплитуде и времени является причиной звуковых искажений по всей полосе частот, к которым прибавляются шумы и помехи звукового тракта аудиокарты.

Еще одна важная характеристика цифрового звука - это стереозвучание. Поэтому если звук записывается не в моно, а в стереоформате, количество аудиоданных удваивается, и, соответственно, увеличивается размер выходного файла.

Копирование музыки с аудиодисков при помощи Windows Media Player

Возможность копирования аудиоданных уже встроена в WindowsXP. Для того чтобы скопировать аудиоданные с помощью Windows Media Player, вставьте в привод для чтения дисков аудиодиск, запустите проигрыватель и нажмите кнопку "Копировать с диска" в верхней части окна программы. В окне проигрывателя отобразится содержимое вашего аудионосителя в виде отдельных треков. Напротив каждого из них установлен флажок. Это означает, что будут скопированы все композиции. Если вы не хотите копировать ту или иную песню, снимите флажок напротив ее названия.

По умолчанию в настройках программы установлено не очень высокое качество сжатия аудиоданных, поэтому если вы - поклонник качественного звука, необходимо изменить битрейт создаваемого файла. Для этого выполните команду "Сервис>Параметры" и в открывшемся окне перейдите на вкладку "Koпиpoвaние музыки с компакт-диска". Величина битрейта устанавливается ползунком "Kaчecтвo звука", причем крайнему правому положению соответствует максимальный размер выходного файла и соответственно наилучшее звучание.

Одна из особенностей стандартного проигрывателя - возможность защиты аудиофайлов от прослушивания на другом компьютере. Если вы желаете, чтобы созданные программой файлы WMA можно было проиграть только на этом компьютере, проверьте, установлен ли флажок напротив опции "Музыка с защитой от копирования".

Для начала копирования нажмите кнопку "Копировать музыку с компакт-диска" в верхней части окна программы. На экране появится окно, в котором вы сможете включить или отключить защиту содержимого, установив соответствующий флажок. Перед началом копирования вы также сможете изменить настройки копирования, если это необходимо.

За процессом сжатия можно наблюдать в столбце "Cocтoяниe кoпиpoвaния с компакт-диска". Как только операция по переносу трека на жесткий диск будет завершена, напротив копируемой композиции появится надпись "Скопированы в библиотеку".

Несмотря на кажущееся удобство рассмотренного способа копирования аудиоданных, во многих случаях использовать его неудобно. Во-первых, формат WMA поддерживается далеко не всеми портативными MP3-устройствами, во-вторых, на кодирование в этот формат уходит больше времени, если сравнивать с другими форматами. Наконец, при использовании Windows Media Player нет возможности гибко управлять настройками сжатия.

Одним словом, если вы приобрели MP3 плеер и планируете регулярно пополнять свою цифровую фонотеку, копируя данные с аудиодисков, необходимо позаботиться о том, чтобы под рукой был качественный и многофункциональный звуковой кодер. Некоторые из таких программ мы рассмотрим во второй части статьи.

Поделиться: