Звук у FreeBSD

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

Якщо ви ще не читали розділ керівництва адміністратора, присвячений мультимедіа (див. http://www.freebsd.org/handbook/multimedia.html), ви будете приємно здивовані. Нещодавно він був повністю перероблений і тепер це справді те місце, де в першу чергу можна з'ясувати, чи підтримується ваша звукова плата, і якщо так, то як змусити її працювати під FreeBSD.

У моїй машині встановлений SoundBlaster PCI 128, тому для того, щоб увімкнути підтримку звуку, мені треба додати у файл конфігурації ядра лише пристрій pcm. Оскільки я збираюся користуватися DVD-програвачем, я додам до конфігурації пункт, який оптимізує ядро ​​для виконання мультимедіа-додатків. Мультимедійні програми також використовують щось, зване LDT, рядок для включення якого може бути, а може і не бути у конфігураційному файлі. Якщо її не було – додайте. Ось три рядки, які я додала до файлу конфігурації ядра:

Потім я перекомпілювала ядро, використовуючи інструкції, що містяться у відповідному розділі керівництва адміністратора (див. http://www.freebsd.org/handbook/kernelconfig-building.html).

Ось кілька значень sysctl-змінних, які можуть підвищити продуктивність мультимедійних операцій. Дві з них мають атрибут лише читання, тому ви повинні помістити їх у файлі /boot/loader.conf:

Наступні чотири змінні можна розмістити у файлі /etc/sysctl.conf. Зверніть увагу, що на відміну від попереднього файлу, ви не повинні використовувати лапки:

Якщо вашазвукова карта не використовує пристрій pcm, не вимикайте у файлі /etc/sysctl.conf рядок, що містить цю абревіатуру. Якщо ви використовуєте pcm1 замість pcm0, змініть 0 на 1 у відповідному рядку. Також зверніть увагу, що вам доведеться перезавантажитися, щоб зміни набули чинності.

Перший час, коли я зібрала нове ядро, при монтуванні компакт-диска я отримувала дивне повідомлення. Ось воно:

Зазвичай це повідомлення виводиться, якщо на приводі не встановлено диск з даними. Однак у цьому випадку диск був. Пошук інформації в списках розсилки показав, що така помилка відбувається, якщо ви використовуєте cvsup для оновлення FreeBSD з версії 4.5 до 4.6, як і було в моєму випадку. Для вирішення проблеми, я оновила файл дискового пристрою:

Тепер я можу розпочати складання додатків для роботи зі звуком. Я випробувала більшість програм з розділу колекції портів, і можу чесно сказати, що для програвання звуку важко знайти утиліту краще, ніж xmms. Вона підтримує скіни, хоча навіть за умовчанням виглядає чудово. Для неї написано безліч штепселів на будь-який смак. Вона вміє програвати mp3, mpeg, wav, shoutcast-файли, а заразом і компакт-диски, використовуючи CDDB сервера. Вичерпна документація, що описує використання цих можливостей, знаходиться на сайті програми http://www.xmms.org. Також на сайті можна знайти скріншоти, штепселі та скіни.

Для встановлення цієї програми надрукуйте:

Крім цього, я встановила всі штепселі до xmms, що є в колекції портів. Оскільки їх дуже багато, я зібрала їх у список, де вказала, де знаходиться штепсель, короткий опис того, що він робить і де налаштовується:

Ці штепселі після установки конфігуруються у вкладці Audio I/O plug-ins діалогуPreferences:

Ці штепселі після встановлення конфігурують у вкладці Effect/General Plug-ins діалогу Preferences:

Ці штепселі після установки конфігурують у вкладці Visualization Plug-ins діалогу Preferences:

На момент написання статті всі порти, що стосуються xmms, відмінно встановлювалися, за винятком:

  • /usr/ports/graphics/xmms-avi – відзначений як непрацездатний, але ведуться роботи з усунення проблем
  • /usr/ports/graphics/xmms-xvs – видавав мені помилку бібліотеки libxml
  • Вихідні тексти /usr/ports/misc/xosd більше недоступні
  • Я встановила /usr/ports/graphics/xmms-iris, але при спробі активації xmms падав
  • Встановивши і /usr/ports/graphics/xmms-fishmatic, і /usr/ports/audio/xmms-gdancer, я так і не змогла досягти ні показу рибок, ні коміксів, що танцювали. Якщо у вас вийде, повідомте мені, будь ласка, як це зробити, щоб я змогла розповісти про це в наступній статті
  • Нарешті, я навіть не намагалася встановити /usr/ports/audio/xmms-kde, оскільки він призначений для KDE2, а я використовую KDE3. Тим більше, що мені подобається додавати ярлики прямо до моєї панелі, не використовуючи меню KDE.

Давайте зробимо коротку екскурсію xmms. Замість повторення стандартної інформації про використання xmms, яка добре задокументована на сайті програми (див. http://www.xmms.org), я дам вам кілька порад, які допоможуть вам розпочати використання xmms. Я виходитиму з припущення, що ваша звукова карта і привод компакт-дисків встановлені і працюють коректно і FreeBSD може з ними взаємодіяти.

Почнемо з аудіо компакт-дисків. За допомогою вашого віконного менеджера запустіть xmms і натисніть Ctrl+P, при цьому має відкритися вікно налаштування параметрівпрограми (Preferences). Ви побачите кілька різних вкладок для конфігурації штепселів, які були описані вище, і були встановлені вами з колекції портів.

У вкладці Audio I/O виділіть пункт CD Audio Player, а потім натисніть кнопку Configure. Тепер у вкладці Device переконайтеся, що пристрій програвача встановлено на /dev/acd0c, а каталог на /cdrom. Якщо ви хочете налаштувати підтримку роботи з сервером CDDB, клацніть на вкладку «CD Info». CDDB сервери - це велика річ, вони містять інформацію про вміст аудіо компакт-дисків, типу назви диска, імені артиста, а також найменування всіх композицій. Однак використання цих серверів вимагає підключення до Інтернету, коли ви вперше завантажуєте компакт-диск у привід, щоб завантажити інформацію з сервера. Якщо вам подобається ця функція, клацніть «Use CDDB» та введіть назву вашого улюбленого сервера. Я використовую freedb.freedb.org.

Збережіть зроблені налаштування, вставте компакт-диск у привід, і дочекайтеся, поки на ньому згасне лампочка. Потім натисніть xmms на значок виштовхування диска. Замість того, щоб віддати вам диск, xmms видасть спливаюче вікно, де ви зможете вибрати файли для відтворення. Ідіть у каталог /cdrom, там ви маєте побачити список усіх композицій, записаних на диску. (Якщо список порожній, ви, ймовірно, забули змінити права доступу до файлу пристрою /dev/acd0c.) Натисніть кнопку "Add all files in directory" (додати всі файли, що містяться в каталозі). Якщо у вас включена підтримка роботи з CDDB сервером і цей музичний диск надається у вашому приводі вперше, потерпіть – процес завантаження відомостей про диск з Інтернету займає одну-дві хвилини. Після того, як файли будуть додані, натисніть "Close" - у плейлисті ви побачитеназви вибраних композицій. Якщо відтворення не відображається, викличте його, натиснувши кнопку «PL». Якщо вам незрозумілі деякі з піктограм xmms, для того, щоб ознайомитися зі списком наявних функцій, витратите трохи часу на читання документації (див. http://www.xmms.org/docs/readme.php).

Xmms може відтворювати не тільки компакт-диски. У мене досить специфічні музичні уподобання, а це означає, що компакт-диски, які мені сподобалися, досить складно придбати. На щастя для мене, Інтернет є чудовим джерелом для пошуку нової музики. Якби не Інтернет, то як би інакше я дізналася, що мені сподобаються єврейське регі, близькосхідна попса, блюзи західної Індії, електронні ремікси класичної музики і навіть дещо з готичного року? Свій вільний час я зазвичай витрачаю на пошук і прослуховування нових mp3, так що я завжди маю список компакт-дисків, який я беру з собою в музичний магазин.

Я використовую Mozilla, і оскільки у мене вже встановлений plugger (див. попередню статтю), коли я знаходжу цікавий mp3, для його прослуховування мені досить просто натиснути на посилання «play». Ви можете налаштувати Mozilla таким чином, щоб для програвання mp3 використовували xmms. Для цього у Mozilla відкрийте меню Edit -> Preferences -> Helper Applications -> New Type. Впишіть у перші три поля рядок "mp3", а в полі "Application to use" рядок "/usr/X11R6/bin/xmms".

Для зберігання mp3-файлів, завантажених з Інтернету, я створила в моєму домашньому каталозі підкаталог «mp3s». Для того, щоб прослуховувати ці файли в xmms, я натискаю комбінацію клавіш «Shift+L», після чого в діалозі роблю подвійне клацання на каталозі «mp3s».

Якщо ви встановили штепсель xmms-liveice, ви можете прослуховуватиShoutcast потоку. Сходіть на сайт http://www.shoutcast.com, знайдіть щось цікаве, і клацніть на кнопку «Tune In!». Коли браузер запитає вас, що робити з файлом такого типу, виберіть пункт «Open using an application», а потім виберіть «/usr/X11R6/bin/xmms». Коли вам набридне слухати, натисніть кнопку "Stop" на панелі xmms. Якщо вам не подобається щоразу вказувати xmms як обробник для shoutcast-потоку, відкрийте меню Edit -> Preferences -> Helper Applications -> New Type. Впишіть якийсь опис типу файлу, в якості розширення використовуйте "pls", тип MIME "audio/x-scpls" і в якості використовуваного обробника впишіть "/usr/X11R6/bin/xmms". Тепер я зможу взагалі ніколи не користуватись радіо!

Багато радіостанцій можна знайти на сайті http://www.icecast.org. Більшість із цих станцій використовують для трансляції інший тип MIME-контенту, так що вам знову доведеться повернутися у віконце Helper Applications. На цей раз розширення буде "mpu", а тип "audio/mpegurl". Мені менше пощастило з цим типом мовлення: деякі станції звучали чудово, а деякі видавали лише клацання. Якщо ви знаєте, як з цим боротися, напишіть мені, і я включу розповідь про це до наступної статті.

Якщо під час прослуховування музики ви хочете дивитися на гарні візуальні ефекти, натисніть Ctrl+P, при цьому відкриється вікно налаштування параметрів Preferences, а потім клацніть там на пункті Visualization Plug-ins. Виділіть будь-який із встановлених штепселів, а потім натисніть кнопку Enable Plug-in. Найбільше мені подобається штепсель "xmms-jess", на другому місці "xmms-gloom". Якщо вам набридло дивитися на музику, натисніть на кнопку «Enable Plug-In» ще раз, при цьому штепсель буде відключений. Я помітила, що xmms висне, якщо явключаю одночасно більше одного кольоромузального штепселя.

/.xmms/Skins. Для того, щоб начепити завантажений скін на xmms, натисніть «Alt+S», і виділіть його в списку, при цьому xmms негайно змінить вигляд.

Ще одну гарну колекцію скінів я виявила на сайті http://www.spacefem.com/xmms.shtml. Якщо ви самі почнете шукати скіни, то ви дуже скоро виявите, що переважна більшість скінів, що є в Інтернеті, призначені для програвача WinAmp. Не бійтеся, сміливо завантажуйте їх у свій каталог

Якщо ви встановите штепсель smpeg-xmms, то зможете дивитися mpeg-фільми. Просто натисніть клавішу "l" ("Ел") і виберіть файл із фільмом. Цей штепсель може бути налаштований на показ фільму у вікні, центрованому по екрану, у вікні подвійного розміру, а також у повноекранному режимі. Для того, щоб спробувати його в дії, сходіть до Бібліотеки Конгресу, там є ціла низка фільмів пізнавального характеру (див. http://lcweb.loc.gov/rr/mopic/ndlmps.html).

Однією з моїх улюблених функцій є будильник, який з'являється під час встановлення штепселя xmms-alarm. Для того, щоб задати час спрацювання будильника, натисніть Ctrl+P, при цьому відкриється вікно Preferences, виберіть вкладку Effect/General Plug-Ins, виділіть Alarm і натисніть кнопку Configure. Не встановлюйте гучність на 100%, якщо ви не хочете вистрибнути з ліжка. Якщо ви не оберете список музики в налаштуваннях штепселя, то вас розбудить якась пісня з основного плейлиста, вибрана навмання. Для того, щоб бути збудженим з ранку, просто переконайтеся, що перед тим, як лягти спати, ви запустили xmms.

Для початку роботи з xmms цього цілком повинно вистачити. У наступній статті я розповім про програвання DVD-дисків, RealPlayer'е та деяких іншихпрограм, покликаних розширити мультимедійні можливості вашого комп'ютера.