Здавалося б, що може бути простіше за кодування файлу в популярний звуковий формат MP3? Запустив свій улюблений кодер, вибрав файли, вказав бітрейт - і чекай свої емпешки. Але навіть у цій нехитрій ситуації початківці знаходять спосіб наробити купу помилок, які призводять до невиправданого погіршення якості звуку.
MPEG Layer 3 (MP3) став популярним не відразу. Вибухова хвиля його популярності захлиснула світ декілька років тому. Пірати всіх куточків світу дружно кинулися випускати диски з музикою в новомодному форматі, а користувачі — їх купувати. Адже непросто втриматися, побачивши барвистий напис на диску: "11 годин музики CD-якості!". Звичайно, такий диск був під зав'язку забитий MP3-файлами з бітрейтом 128 Кбіт/с, зробленими на невідомо якому кодері (якщо вам незрозумілі терміни "бітрейт" чи "кодер", перегляньте одним оком відповідні розділи статті, якщо ж вам ні про що не говорять слова "CD" чи "якість", то ви, напевно, не те читаєте). Але поступово піна стала спадати, а користувачі захотіли довідатися: а чи дійсно їм пропонували те, за що вони платили? В результаті з'ясувалося, що фраза про 11 годин музики і CD-якість не зовсім відповідає дійсності, хоча останню можна набагато покращити, якщо знати специфіку самого формату. Про це ми і поговоримо в цій статті.
Про головний...
В основу формату покладена специфіка людського слуху, а саме ефект маскування слабкого сигналу одного діапазону частот більш могутнім сигналом сусіднього діапазону. Крім того, враховується нездатність більшості людей розрізняти сигнали,які за потужності лежать нижче визначеного рівня, що варіюється для різних частотних діапазонів. Усе це дозволяє одержати вражаючий ступінь стиску: від 5 до 11 і більше разів! При розумному ступені стиску якість звуку досить близька до оригіналу. У ряді випадків навіть експерти не можуть відрізнити звучання MP3-файлу з бітрейтом 256 Кбіт/с від оригінального треку з CD. Правда, в тесті, про який йде мова, було використано невелику кількість композицій — в реальному житті не все може бути так добре.
Отже, вистачить технічних подробиць і вступних слів — настав час переходити до справи, а саме до кодування в MP3. Які помилки найчастіше допускають початківці при першому знайомстві з MP3 і як їх уникнути, ми і спробуємо вияснити. Всі мої поради виражають суб'єктивну точку зору і не претендують на істину в останній інстанції. Але при бажанні ви можете провести свій власний тест і скласти свою думку по кожному пункту. Як це зробити, я розповім нижче.
Про кодери...
Будемо вважати, що звуковий матеріал для кодування вже готовий (наприклад, зграблений з CD) і лежить у заповітній папочці на вашому HDD в виді wav-файлів (опис процесу підготовки звукового матеріалу виходить за рамки цієї статті).
Перше, з чим необхідно визначитися, — для яких цілей ви плануєте використовувати одержувані файли? Адже музику можна слухати і на дешевих комп'ютерних колонках, які є трохи кращими за PC-спікер :-), а можна і на акустиці за тисячу "зелених". Тому відразу визначтеся з тим, що ви хочете почути. Особисто я завжди кодую музику, яка мені подобається, з максимальною якістю, незалежно від того, де я буду її слухати (а раптом я завтра казково розбагатію?)
Другим серйозним кроком є вибір кодера, тобто програми, що буде кодувати ваші файли. На сьогоднішній день існують три основних організації, що поставляють програми для кодування музики у формат MP3. Це Fraunhofer-IIS, Xing Technologies і ISO, що приклала до стандарту ISO MPEG демонстраційний вільно розповсюджуваний (але дуже повільний) код.
Кодери на основі коду від Fraunhofer-IIS працюють і швидко, і досить якісно. Кодери на основі коду від Xing швидкі, але неякісні. Кодери на основі коду від ISO дуже повільні (демонстраційний код абсолютно не оптимізований), забезпечують високу якість і ступінь стиску аж до 4:1 (320 Кбіт/с), але дуже погано поводяться на низьких бітрейтах, що виявляється у виді специфічного дзенькоту, внесеного кодером.
Багато користувачів роблять фатальну помилку, вибираючи кодер винятково по швидкості кодування і забуваючи при цьому про якість. Звичайно, усі розробники проводять оптимізацію. Але будь-яка оптимізація має межу, і особисто мені не потрібна оптимізація за рахунок якості. Зокрема, цим страждають всі кодери від Xing, у тому числі відомий Audio Catalyst (http://www.xingtech.com/), про який ми зараз дружно забудемо. Взагалі, швидкість кодування мене не цікавить взагалі, незважаючи на те, що комп'ютер у мене не підтримує навіть MMX... Тому я обираю кодери покраще.
Оптимальним вибором, як мені здається, є Blade Encoder (http://bladeenc.mp3.no/), написаний Тордом Янсоном (Tord Jansson) і заснований на оригінальному коді від ISO. Поєднує в собі високу швидкість роботи і відмінну якість звуку. Програма консольна, але в Інтернеті для неї можна знайти безліч графічних оболонок.
Для маньяків я б рекомендував LAME (http://www.mp3encoder.org/), розроблений групою ентузіастів і багатий на різноманітні налаштування. Наприклад, програма підтримує так звані психоакустичні моделі, орієнтовані на поліпшення сприйняття звуку деякою середньостатистичною людиною (на різних людей ця штука може справити зовсім різне враження, і тому для більшої впевненості в якості її можна відключити). Працює швидко і при правильному налаштуванні (а це доля щирих маньяків) може дати якість кращу, ніж Blade Encoder. Програма також консольна і також заснована на коді від ISO. Поширюється у вигляді коду, але в Інтернеті можна знайти відкомпільовані версії під будь-яку ОС. Там же можна знайти і скіни.
На високих бітрейтах (192 Кбіт/с і вище) два вищезгадані кодери просто поза конкуренцією. Ну а що робити любителям низьких бітрейтів (128 Кбіт/с і нижче)? Для них я б рекомендував MP3 Producer (http://www.opticom.de/)— комерційний кодер від Fraunhofer IIS (http://www.iis.fhg.de/), спеціально оптимізований для цих цілей.
Існує ще безліч найрізноманітніших кодерів, але за якістю їм навряд чи вдасться перевершити вищеописані кодери, яких з головою вистачить навіть досвідченим користувачам. Тому ми залишаємо цю тему і йдемо далі.
Про бітрейт...
Отже, з кодером ми розібралися. Нехай це буде Blade Encoder. Тепер в нас є не менш важливе завдання — вибір бітрейта, тобто кількості біт, необхідних для представлення однієї секунди аудіоданих. Тут саме час згадати для чого призначалися ваші mp3-файли, і врахувати те, що пропорційно бітрейту зростає якість, а разом з нею і розмір файлу. Я дам лише декілька суб'єктивних оцінок.
Напевно, ніхто не порекомендує вам використовувати бітрейт менший 128 Кбіт/с, хіба що в ситуаціях, коли велику роль грає розмір файлу чи пропускна здатність мережі. Тому нижньою межею будемо вважати 128 Кбіт/с (стиск 11:1). При такому бітрейті внесені кодером перекручування чітко помітні на слух (звук ніби змазується, зникають високі частоти, з'являється дзенькіт і т.д.). При цьому ніколи не вірте барвистим написам на компакт-дисках типу горезвісних "11 годин музики CD-якості" — з CD-якістю MP3 взагалі не має нічого спільного! Втім, людей, що таке заявляють, все-таки можна зрозуміти. Проте, будемо вважати, що це був ніякий не обман, а лише наївне припущення, що на своїй старій звуковій і мультимедійних колонках юзер все рівно не помітить різниці між CD і MP3 128 Кбіт/с. А потім в справу втрутилися профі й усе зіпсували. Ось так.
Бітрейт в 160 Кбіт/с (стиск 8:1) чи 192 Кбіт/с (стиск 7:1) дають кращу якість звучання (пізніше я поясню, у чому різниця між stereo і joint stereo), але перекручування усе ще відчувається. При бітрейті 256 Кбіт/с (стиск 5:1) вже складно відрізнити на слух оригінал і MP3-файл, навіть на дуже гарній апаратурі. Саме цим бітрейтом користуюсь я. І жодна людина в цьому світі, напевно, не переконає мене понизити його. Файл з бітрейтом 320 Кбіт/с (стиск 4:1) практично неможливо відрізнити на слух як від оригіналу, так і від файлу з бітрейтом 256 Кбіт/с, тому використовувати цей бітрейт варто лише в тому випадку, коли необхідно максимально зберегти якість, навіть ціною збільшення розміру файлу.
Ще корисно знати, що якщо файл стерео, то зазначений бітрейт буде розділений порівно (чи майже порівно) між каналами, і кожен з них отримає лише половину. Наприклад, при 256 Кбіт/с кожен канал одержить по 128 Кбіт/с. Звідси наслідок: не кодуйте монофонічні файли з тим же бітрейтом, що і стерео — беріть рівно половину!
Тепер декілька слів про змінний бітрейт (VBR). Вперше його почав використовувати Xing десь на початку 1999 року і, як звичайно буває в кодерах цієї фірми, реалізація його залишала бажати кращого. Від Fraunhofer IIS світ теж не побачив гідної реалізації VBR. Зате VBR у кодері LAME реалізований дуже непогано. Суть його полягає в тому, що кодер намагається забезпечити зазначений рівень якості, використовуючи мінімально необхідний бітрейт. Але врахуйте, що старі mp3-програвачі не розуміють VBR. Так що, якщо вас у першу чергу приваблює стильне миготіння цифр бітрейта в Winamp і свідомість того, що ваші добірки емпешок не всім дано прослухати, то ця штука для вас :-).
Про стерео...
Взагалі ж з бітрейтом особливих проблем не виникає: всі знають, що 128 гірше, а 256 краще. Але користувачі майже завжди не звертають уваги на одну дуже важливу деталь, а саме - спосіб кодування стереосигналу. У форматі mp3 існують три способи:
Dual Channel чи Dual Stereo — лівий і правий канали кодуються роздільно, як два різні записи; на кожен з каналів виділяється рівно половина місця в результуючому файлі. Використовується вкрай рідко, наприклад, коли в одному каналі йде дикторський текст, а в іншому — музика;
Stereo — лівий і правий канали кодуються роздільно, як два різні записи, але кодер може виділити одному з каналів у поточний момент часу більше місця — це робиться, наприклад, для того, щоб уникнути кодування тиші в одному каналі, якщо в другому є сигнал. Оптимальний варіант для більшості випадків.
Joint Stereo — лівий і правий канали кодуються разом, а в результуючий файл записується інформація про два канали в нетривіальній формі — наприклад, лівий канал і відмінності правого каналу від лівого (на другу частину віддається менше місця). Є кілька стандартів представлення інформації Joint Stereo, але всіх їх поєднує істотний недолік: погана передача стереоефектів, зокрема, псується фазова інформація. Такий спосіб кодування в більшості випадків істотно погіршить звук.
Не всі кодери дозволяють в явному виді вибирати режим кодування стереосигналу. Так, Blade Encoder використовує тільки Stereo; LAME — Stereo чи Joint Stereo без обмежень, а от Audio Catalyst і MP3 Producer надають перевагу в основному Joint Stereo, але дозволяють іноді вказати і Stereo (Dual Channel усі ці кодери просто терпіти не можуть :-)).
Відзначу, що вибір якого-небудь із трьох режимів мало впливає на обсяг файлу, і у випадку з Joint Stereo ви просто одержуєте менш якісний звук практично в тому ж обсязі!
Про відмітки...
І останнє, про що хотілося б сказати, це про відмітки, які дозволяють встановлювати у файлі майже всі кодери. Це відмітки CRC, Copyrighted, Original і Private. Вони ніяк не впливають на якість чи розмір файлів, тому можете сміло їх встановлювати чи скидати. Виключення складає лише відмітка CRC, що додає до файлу контрольну суму. Контрольна сума потрібна тільки при відтворенні файлів з мережі Інтернет чи якої-небудь іншої мережі, коли передача може здійснюватися з помилками. Для звичайного прослуховування CRC абсолютно не потрібна, до того ж може небагато погіршити якість, а деякі програми можуть відмовитися відкривати ваш MP3-файл. Будьте уважні!
Замість висновку
У завершення статті декілька слів про те, як провести власні тести.
Найочевиднішим способом є, звичайно, оцінка на слух. Але цей тест вимагає наявності високоякісної апаратури (і гарного слуху :-) (чи групи експертів, як сказано вище :-))), до того ж отримані результати будуть суб'єктивними. Найбільш правильний тест, що дає до того ж об'єктивні результати — це аналіз спектрограми (рівня сигналу по кожній з частотних смуг) mp3-файлу і його оригіналу, тобто запису у форматі музичного CD. Для проведення цього тесту вам знадобиться яка-небудь програма, що вміє будувати цю саму спектрограму. Я б рекомендував Cool Edit (http://www.syntrillium.com/) чи SpectraLAB (http://www.soundtechnology.com/). Далі всі просто:
1. Берете який-небудь музичний компакт-диск, у якості якого ви не сумніваєтеся.
2. Копіюєте з нього будь-яку пісню до себе на вінчестер. Для цього можна використовувати спеціалізовану програму, наприклад WinDAC32 (http://www.windac.de/).
3. Кодуєте отриманий wav-файл в mp3.
4. Відкриваєте цей файл, наприклад, у Cool Edit (при наявності кодека він за замовчуванням перетвориться в лінійний формат), входите в Spectrum Analysis і дивитеся.
5. Порівнюєте отриманий результат з іншими аналогічними картинками, отриманими для різних композицій і бітрейтів. Розходження звичайно знаходяться в області високих частот, і наскільки вони помітні, залежить від настроювань аналізатора.
6. Збираєте отримані результати вкупу і робите сенсаційні висновки щодо якості mp3 (чим валите в шок горезвісну групу експертів :-)).
Саме так я і робив.
Що ж, дозвольте на цьому завершити цю розповідь про тонкості формату mp3. Сподіваюся, що розповідь хоча б якоюсь своєю частиною буде вам корисна.
|