Вільному світу вільний звук

"Мій комп'ютер" (тижневик)

Сергій А. ЯРЕМЧУК [email protected]

Одразу після своєї появи формат .mp3 набув шаленої популярності у користувачів персонального комп'ютера. Подумати тільки, тепер аудіодиск розміром 650 Мб можна загнати в десять разів менший об'єм, при цьому зберігши прийнятну якість. Створені таким чином файли можна спокійно надсилати через Інтернет, використовувати в переносних пристроях, збирати музичну колекцію. Але не все було так безхмарно. З'явившись, він практично відразу став причиною численних скандалів, суперечок, переслідувань.

Все почалося з того, що компаніїFraunhofer InstituteіThomson Multimedia, які мають патент на даний формат, оголосили, що він, на жаль, зовсім не безкоштовний, і зажадали деяких відрахувань за кожен кодек ( програма, яка створює цей файл). Але й цього мало: постійно в Мережі з'являються повідомлення про те, що умови ліцензування даного продукту можуть докорінно змінитися, і тепер доведеться платити за кожен поширений екземпляр декодера (програвача). Вдосталь наслухавшись суперечок та обурень громадськості, зупинилися (поки що) на відрахуваннях лише з комерційних програм та побутових пристроїв, але хто знає, що на нас чекає попереду. З іншого боку, в країнах, що особливо ретельно стежать за дотриманням патентів, можуть виникнути проблеми при його використанні, саме тому компанія Red Hat, що знаходиться в США, відмовилася від включення в останніх версіях свого дистрибутива засобів роботи з цим форматом, побоюючись можливих проблем.

Отже, що ж є новий формат? Найголовніша відмінність даного формату від попередніх у тому, що він повністю відкритий та вільний у розповсюдженні. Усі вихідні кодиповністю доступні, але якщо кодер і декодер поширюються за ліцензією GPL, бібліотеки та засоби розробки (SDK) — під ліцензією BSD.

При стисканні звуку кодек Ogg Vorbis використовує зовсім інші психоакустичні моделі, причому більш досконалі в порівнянні з тими, що використовуються в MP3. Тому за однакового розміру файлів музика Ogg Vorbis звучить краще. Численні тестування показали, що з більшості параметрів даний формат якщо не оминає, то принаймні не поступається своїм конкурентам. Ще одна особливість відрізняє Ogg Vorbis — справа в тому, що більшість кодеків mp3 (крім деяких «нових» типуLame, але більшість портативних програвачів не розуміють дане розширення) і досі використовують постійний бітрейт при кодуванні звуку, тобто. якщо ми кодуємо пісню з 128 Кбіт/с, то такий кодек тупо слідуватиме установкам, незважаючи на те, що в пісні може бути різний ритм або взагалі буде пауза, що, по-перше, призводить до нераціонального використання дискового простору, а по- по-друге, втрачається якість у тих місцях, де мелодія дуже насичена і де бажаний бітрейт в два рази вище для більш якісної передачі нюансів. А ось в Ogg Vorbis відразу відмовилися від такої постановки питання - всі кодеки працюють спочатку зі змінним бітрейтом, тому і файли виходять меншими за розміром (від 15 до 20%, уявіть, яка економія!) і якісніше зберігають закладену інформацію.

А щоб користувач не ламав голову, з яким йому бітрейтом йому працювати в Ogg Vorbis, використовується більш зрозумілий термін «якість», тобто. наскільки отриманий файл повинен відповідати оригіналу. Якщо для mp3 CD-якість досягалося за 256 Кбіт/с, тобто. тестери не могли відрізнити записану таким чином мелодію від оригіналу,цьому стандартним вважається 128 Кбіт/с, а 64 Кбіт/с приблизно відповідає якості FM-радіо, то у форматі Ogg прийнята шкала якості в діапазоні від 0 до 10 з кроком хоч 0.01, що, до речі, дозволяє більш тонко підібрати для себе прийнятне співвідношення якість/розмір. Так, якості 3 відповідає стандартному звучанню для mp3 128 Кбіт/с, бітрейт файлу Ogg Vorbis складає 112 Кбіт/с (звучить часом навіть як 160 Кбіт/с), а файл відсотків на 20 менше. Якості FM-радіо відповідає 0, якість 10 відповідає приблизно бітрейту 400 Кбіт/с, втім, у специфікації немає жодного обмеження на бітрейт - все залежить тільки від можливостей кодека, що використовується.

У Ogg Vorbis, до речі, закладена можливість, звана bitrate peeling, суть її полягає в тому, що є можливість «прямо» перекодувати файл з більш високого в нижчий бітрейт (наприклад, для використання в плеєрах, що носяться), уникаючи у своїй можливих втрат якості, що виникають при додаткових (читай: зайвих) перетвореннях. Але поки що інструментів, в яких реалізована дана функція, немає. Що ж, чекатимемо.

Напевно, вже вистачить теорії, перейдемо до практики. Відразу обмовлюся: оскільки я використовую Linux, то і розглядатиму інструменти буду під дану платформу. Хоча розширення для роботи з Ogg Vorbis є вже для всіх Windows-програвачів (до речі, спробуйтеQuintessentialhttp://www.quinnware.com/downloads/qcd340.exe, прикольна штука), а інструмент для роботи з даним форматом можна взяти з http://fatpipe.vorbis.com/files/1.0/windows/vorbis-tools-1.0-win32.zip.

Для кодування аудіофайлів у Ogg Vorbis призначена програмаoggenc. Формат виклику в найпростішому випадку такий (як перегнати з аудіодиска в .wav - в окремій статті):

в режимі за замовчуванням використовується якість, що дорівнює 3, цього зазвичай вистачає в більшості випадків. Якщо є необхідність вказати іншу якість та назву файлу, відмінну від оригінального, то скористайтеся опціями -q і -о (останню можна в більшості випадків опускати):

Але по-старому можна вказати і бітрейт, для цього існують наступні опції: -b встановлює швидкість, приблизно рівна зазначеній; -m і -М вказують на мінімальний і максимальний бітрейт. Наприклад, цілком можливий такий варіант команди:

У командному рядку можна відразу вказати інформацію про файл (артист, альбом тощо), яка, до речі, у специфікації формату ніким і нічим не обмежується — про те, що туди можна буде помістити в майбутньому (наприклад, малюнок), залишається лише здогадуватися. Вказавшизразок (pattern), можна відразу перейменувати файли, що вийшли на виході.

До послуг тих, хто не хоче возитися з командним рядком, в Інтернеті повно різних фронтендів до цієї утиліти - наприклад,Korbisдля бібліотекQT(http://korbis.sourceforge.net/ ) абоjorbis(http://www.jcraft.com/jorbis) для шанувальниківJava. До того ж у файловому менеджеріKonquerorвбудована можливість автоматичного перекодування CD-ROM у цей формат. Для цього потрібно звернутися до бічної панелі підменюПереглядач аудіо CD> Ogg Vorbis, і весь вміст компакт-диска буде представлено у вигляді файлів з розширенням .ogg; тепер залишилося просто скопіювати доріжки в потрібне місце, в процесі чого вони автоматично перекодуються (так само можна швидко перегнати аудіодиск в .wav).

Для програвання створених таким чином файлів до комплекту входить плеєрogg123. У найпростішому випадкурядок для запуску такий:

При цьому програються всі файли з розширенням .ogg у поточному каталозі; програма розуміє також URL, тому команда

не викличе непорозумінь. Іноді потрібно вказати специфічні параметри, наприклад звуковий сервер: -d (null, oss, alsa і т.д.), для деяких з них -о можна вказати специфічні параметри:

Підтримка пристроїв реалізована за допомогою бібліотекиlibao, тобто у файлі /etc/libao.conf або $HOME/.libao можна раз і назавжди вказати необхідні параметри, наприклад default_driver=oss. З прапором -f виведення програми відбувається у вказаний файл, так можна без проблем перекодувати .ogg-файл у .wаv.

При вказівці замість назви файлу рисочки (-) аудіопотік буде виводитися стандартно.

Утилітаogginfoдозволяє отримати інформацію про .ogg-файл:

При цьому буде виведено всю інформацію про файл у вигляді attribute=value. Таким чином, можна дізнатися бітрейт (максимальний, мінімальний, номінальний), з яким закодований файл, тривалість звучання та іншу корисну інформацію.

А ось за допомогою vorbiscomment можна відредагувати теги.

Ось так можна вивести всі теги у файл:

За допомогою прапора -а можна додати інформацію до файлу, додатково для цього використовується прапорець -t у вигляді tag=value.

Але можна інформацію для зручності взяти з файлу за допомогою -с, формат запису аналогічний виведеному за допомогою -l.