настройка_звуковой_подсістеми - Зейское співтовариство користувачів Linux і Unix
- Крок 1. Встановлення та налаштування засобів ALSA
- Крок 2. Встановлення Mopidy
- установка mopidy
- Крок 3. Установка веб-інтерфейсу
- Крок 4. Запуск і налагодження
- Додаткові засоби керування
У статті піде мова про базовому налаштуванні звукової підсистеми мінімального дистрибутива Debian на мікрокомп'ютері Orange Pi PC і установці програми медіаплейера. Для "движка" плеєра був обраний медіа-сервер Mopidy, написаний на Python. Почитати про нього можна на сайті проекту
Передбачається, що на мікрокомп'ютер встановлена операційна система і є можливість підключитися до неї по ssh. Як це зробити можна почитати в статті "Установка Debian Wheezy на мікрокомп'ютер Orange Pi PC" .
План робіт.
Установка і настройка засобів ALSA.
Установка звукового сервера Mopidy.
Установка веб-інтерфейсу до Mopidy.
Запуск і налагодження.
Налаштування Mopidy для роботи з зовнішніми програмами управління.
Крок 1. Встановлення та налаштування засобів ALSA
Включаємо харчування мікрокомп'ютера, чекаємо закінчення процесу завантаження, підключаємося до операционке по ssh.
Спершу оновлюємо систему.
# Apt-get update # apt-get dist-upgrade
Встановлюємо пакети для роботи ALSA.
# Apt-get install alsa-base alsa-utils gstreamer0.10-alsa python-alsaaudio
На платі працює два засоби виведення звуку: HDMI-порт і аналоговий роз'єм на платі. За замовчуванням висновок звуку працює через HDMI. Щоб переключити на аналоговий аудіо-вихід, створюємо файл /etc/asound.conf з таким змістом:
asound.confpcm.! default {type hw card 0} ctl.! default {type hw card 0}
Запускаємо alsamixer, вибираємо карту audiodecodec і все регулятори крім "Lineout volume control" виставляємо в "0". Сам "Lineout volume control" виставляємо в 60 ... .80. Якщо виставити більше - зростають спотворення звуку.
Тестуємо звук:
# Speaker-test -twav -c2
По черзі в лівому і правому динаміках повинен йти звук. Для зупинки тесту тиснемо Ctrl + C. Якщо звук не йде, пробуємо через alsamixer включити вихід.
Тепер потрібно зробити один тест - перевірити, чи зберігаються настройки мікшера після перезавантаження машини. Пробуємо перезавантажити командою reboot. Після рестарту і повторного входу в систему запускаємо alsamixer.
Канал "Lineout" повертається в 100%
Якщо настройки виходу "Lineout" знову висунулися в "0" або в "100", значить скрипти збереження і відновлення налаштувань мікшера не спрацьовують. Автор провів дослідження і з'ясувалося, що у версії Debian 7.9 (з alsa-base версії 1.0.25 + 3 ~ deb7u1 і alsa-utils 1.0.25-4) не спрацьовує відновлення налаштувань, хоча налаштування справно зберігаються в / var / lib / alsa /asound.conf. Причини поки не з'ясовані і автор для обходу даної проблеми застосував "милиця": потрібно в /etc/rc.local, перед оператором exit 0 помістити рядок:
/ Usr / bin / amixer -c 0 cset numid = 10 1, / Usr / bin / amixer -c 0 cset numid = 6 24
, Тут дві команди - перша включає (unmute) вихід, а друга - виставляє рівень "Lineout" приблизно в 80%. Команди будуть виконуватися відразу ж після старту операційки і завантаження всіх демонів.
Додатково можна подивитися статтю Audio_Codec , Де описана звукова підсистема чіпа H10 (драйвер sunxi), а також raw-стан мікшера:
# Amixer contents
Звукова підсистема готова. Приступаємо до установки звукового сервера Mopidy
Крок 2. Встановлення Mopidy
Встановлюємо додаткові компоненти.
# Apt-get install gstreamer1.0-alsa git python python-setuptools
gstreamer1.0-alsa буде використовуватися самої mopidy; git, python, python-setuptools - для роботи mopidy і збірки веб-інтерфейсу.
установка mopidy
Імпортуємо ключ:
# Wget --no-check-certificate https://apt.mopidy.com/mopidy.gpg | apt-key add -
Викачуємо sources.list для підключення до сховища mopidy:
- для Debian wheezy або Ubuntu 12.04 LTS:
# Wget --no-check-certificate https://apt.mopidy.com/wheezy.list
- для більш нових дистрибутивів (якщо на мікрокомп'ютер встановлений інший дистрибутив):
# Wget --no-check-certificate https://apt.mopidy.com/jessie.list
Копіюємо той чи інший лист в каталог /etc/apt/sources.list.d/
Або можна не викачувати соурс-листи, а додати рядки в /etc/apt/sources.list:
- для Debian wheezy або Ubuntu 12.04 LTS:
deb http://apt.mopidy.com/ wheezy main contrib non-free deb-src http://apt.mopidy.com/ wheezy main contrib non-free
Ну і власне установка:
# Sudo apt-get update # sudo apt-get install mopidy
Виробляємо початкові установки. Редагуємо файл /etc/mopidy/mopidy.conf
mopidy.conf[Core] cache_dir = / var / cache / mopidy config_dir = / etc / mopidy data_dir = / var / lib / mopidy [logging] config_file = / etc / mopidy /logging.conf debug_file = / var / log / mopidy / mopidy-debug .log # Шляху, де будуть зберігатися мультимедійні дані [local] data_dir = / var / lib / mopidy / local media_dir = / var / lib / mopidy / media # Шлях, де будуть зберігатися плей-листи [m3u] playlists_dir = / var / lib / mopidy / playlists # Тип пристрою зі звуковою платою і регулятора гучності. Початкова гучність. # Гучність регулюється програмно - всередині Mopidy. Якщо необхідно використовувати # апаратне регулювання дивіться додаток https://github.com/mopidy/mopidy-alsamixer [audio] mixer = software mixer_volume = 80 # output = autoaudiosink output = alsasink # Настройки підключення до сервера для функції віддаленого управління через веб-інтерфейс [http] enabled = true hostname = 0.0.0.0 port = 6680 static_dir = zeroconf = Mopidy HTTP server on $ hostname [stream] enabled = true protocols = http https mms rtmp rtmps rtsp timeout = 5000 metadata_blacklist = # Настройки проксі-сервера: раськоментіруйте та встановлення опцій, # якщо доступ в Інтернет відбувається через проксі-сервер. # [Proxy] # scheme = http # hostname = 192.168.1.1 # port = 3128 # username = # password =
Детальніше з опціями можна ознайомитися на сторінці .
Крок 3. Установка веб-інтерфейсу
З досвіду експлуатації медіасерверів на базі дистрибутива Pi MusicBox, обраний простенький інтерфейс Mopidy-MusicBox-Webclient (сайт: https://github.com/pimusicbox/mopidy-musicbox-webclient ) Більш докладну інструкцію можна почитати на сторінці .
Переходимо в який-небудь каталог і робимо копію вихідних кодів проекту
# Cd ~ # mkdir musicbox # cd musicbox # git clone https://github.com/pimusicbox/mopidy-musicbox-webclient
Виробляємо установку:
# Cd mopidy-musicbox-webclient # python setup.py install
Крок 4. Запуск і налагодження
Запускаємо mopidy і перевіряємо працездатність:
# /Etc/init.d/mopidy start
Для початку, mopidy повинен з'явитися у списку процесів. Якщо немає - переглядаємо лог на предмет помилок: /var/log/mopidy/mopidy.log
Запускаємо браузер і звертаємося за адресою пристрою: http://192.168.1.10:6680/mopidy/
Головна сторінка веб-інтерфейсу Mopidy
З'явиться сторінка інтерфейсу управління сервера. Якщо Mopidy-MusicBox-Webclient був встановлений коректно, то з'явиться посилання на інтерфейс ( "musicbox_webclient"). Переходимо на неї.
Сторінка веб-інтерфейсу MusicBox
Якщо мікрокомп'ютер підключений до Інтернету та мережу правильно налаштована, можна перейти на пункт меню "Streams" і прослухати якусь станцію. Або можна скопіювати MP3-файли в каталог / var / lib / mopidy / media через scp або за допомогою usb-флешки, перейти на "Browse"> "Files"> "Media" і вибрати mp3-файл. Все повинно відтворюватись.
Додаткові засоби керування
Управління за допомогою програм
Сервером можна управляти по мережі за допомогою зовнішніх програм, наприклад через протокол, реалізований в MPD. Детальніше про способи управління можна почитати на сайті проекту , А для прикладу реалізуємо управління через програму з графічним інтерфейсом - Sonata.
Спершу в файлі конфігурації /etc/mopidy/mopidy.conf додамо блок з параметрами для протоколу MPD:
mopidy.conf[Mpd] enabled = true hostname = 0.0.0.0 port = 6600 password = 1234 max_connections = 20 connection_timeout = 60 zeroconf = Mopidy MPD server on $ hostname command_blacklist = listall listallinfo
, Де значення параметра password - це пароль на доступ на управління, його потрібно буде прописати в профілі з'єднання програми Sonata.
Тепер, на своєму комп'ютері, звідки буде йти управління, встановлюємо власне програму:
# Apt-get install sonata
Відкриваємо через праву кнопку миші меню "З'єднання", створюємо профіль і вводимо адресу і пароль сервера.
Огляд інших програм управління з графічним інтерфейсом можна знайти тут .
На цьому реалізація базового варіанту плеєра завершена. Функціонал має такі можливості:
Прослуховування треків у форматі mp3 з каталогів (включаючи примонтировать) на накопичувачах (флешка мікрокомп'ютера або зовнішня usb-флешка). Природно, ви повинні створити програмну інфраструктуру для реалізації різних зручностей з доступу до мультимедійних файлів - будь-то автоматичне монтування флешок і вказівку Mopidy директорії, або монтування якогось мережевого ресурсу.
Прослуховування потокових радіостанцій як з плей-листів, так і з встановлених через веб-інтерфейс до внутрішньої бази адрес станцій.
Управління за допомогою веб-інтерфейсу або зовнішніх програм по протоколу MPD.
У режимі відтворення файлів, навантаження на процесор становить близько 15%.