Также многие затронутые ниже моменты освещены в моей публикации «Ещё раз о печальной правде: откуда на самом деле берётся хорошее звучание?».
Чем больше битрейт, тем качественнее трек
Это далеко не всегда так. Для начала напомню, что такое битрейт (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 × log10216, что равняется 96.33 вБ. При этом динамический диапазон симфонического оркестра — до 75 дБ (в основном около 40-50 дБ).
А теперь представим реальные условия. Уровень шума в комнате — около 40 дБ (не забываем, что дБ — величина относительная. В данном случае за 0 дБ принимается порог слышимости), максимальная громкость музыки достигает 110 дБ (чтобы не было дискомфорта) — получаем разность 70 дБ. Таким образом получается, что динамический диапазон более 70 дБ в данном случае просто бесполезен. Т. е. при диапазоне выше или громкие звуки будут достигать болевого порога, или тихие звуки будут поглощаться окружающими шумами. Достичь уровня окружающих шумов менее 15 дБ очень трудно (так как на этом уровне находится громкость человеческого дыхания и прочих шумов обусловленных, человеческой физиологией), в итоге диапазон в 95 дБ для прослушивания музыки оказывается совершенно достаточным.
Но здесь есть одно «но». Если сгенерировать чистый тон с частотой например 1 кГц и уровнем -60 dBFS с 16-битной глубиной квантования, а затем его прослушать и сравнить с таким же сигналом, но сгенерированным в 24-битном виде, вы услышите различия. Причина кроется в искажении формы сигнала и появлении паразитных гармоник. Но для устранения этого неприятного эффекта, к счастью, существуют технологии Dithering и Noise Shaping.
Теперь о частоте дискретизации (частота семплирования, sample rate). Этот параметр отвечает за частоту квантования по времени и непосредственно влияет на максимальную частоту сигнала, которую можно описать данным представлением аудио. По теореме Котельникова она равна половине частоты дискретизации. Т. е. для обычной частоты семплирования в 44100 Гц максимальная частота составляющих сигнала — 22050 Гц. Максимальная же частота. которая воспринимается человеческим ухом — чуть выше 20000 Гц (и то, при рождении; по мере взросления порог опускается до 16000 Гц).
Лучше всего данная тема раскрыта в статье Загрузки в формате 24/192 — почему они не имеют смысла.
Разные программные плееры звучат по-разному (e. g. foobar2000 лучше Winamp и т. п.)
Чтобы понять, почему это не так, надо разобраться, что собой представляет программный плеер. По сути это декодер, обработчики (опционально), плагин вывода (на один из интерфейсов: ASIO, DirectSound, WASAPI. etc.), ну и конечно же GUI (графический интерфейс пользователя). Т. к. декодер в 99.9 % случаев работает по стандартному алгоритму, а плагин вывода — это всего лишь часть программы, которая передает поток звуковой карте через один из интерфейсов, то причиной различий могут быть только обработчики. Но дело в том, что обработчики обычно по-умолчанию выключены (или должны быть выключены, т. к. главное для хорошего плеера — уметь передать звук в «первозданном» виде). В итоге, предметом сравнения тут могут быть только возможности обработки и вывода, в которых, кстати говоря, необходимости очень часто вообще нет. Но даже если такая необходимость и есть — то это уже сравнение обработчиков, а никак не плееров.
Здесь я еще хотел бы упомянуть свою статью о настройке вывода звука на компьютере и, пожалуй, огорчить пользователей, восхищающихся «колоссальными» переменами в звучании после описанной в ней настройки — в 95% случаев это самовнушение (кроме конечно тех случаев, когда в ходе её настройки был выключен какой-нибудь «улучшайзер» или другой обработчик, портящий всю картину). Как это ни печально, выигрыш от всех этих ухищрений с ReplayGain, ресемплерами и лимитерами — мизерный. Подробнее читайте в статье «Ещё раз о печальной правде: откуда на самом деле берётся хорошее звучание?».
Разные версии драйвера звучат по-разному
В основании этого утверждения лежит банальное незнание принципов работы звуковой карты. Драйвер — это программное обеспечение, необходимое для эффективного взаимодействия устройства с операционной системой, также обычно предоставляющее графический интерфейс пользователя для возможности управления устройством, его параметрами и т. д. Драйвер звуковой карты обеспечивает распознавание звуковой карты как звукового устройства 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 бит в десятичном представлении это значения от -32767 до +32768).
Так вот, дело в том, что любой обработчик звука — будь то фильтр или кодер — как правило работает только с этими значениями, то есть только с несжатыми данными. Это значит, что для преобразования звука, скажем, из FLAC в APE, просто необходимо сначала декодировать FLAC в PCM, а затем уже закодировать PCM в APE. Это как для перепаковки файлов из ZIP в RAR, надо сначала распаковать ZIP.
Однако, если вы пользуетесь конвертером или просто продвинутым консольным кодером, промежуточное преобразование в PCM происходит на лету, иногда даже без записи во временный WAV файл. Именно это и вводит людей в заблуждения: кажется, что форматы конвертируются непосредственно один в другой, но на самом деле в такой программе обязательно есть декодер входного формата, выполняющий промежуточное преобразование в PCM.
Таким образом, ручное преобразование в WAV не даст вам совершенно ничего, кроме лишней траты времени.