Alsaequal - эквалайзер для ALSA. Работает так - настраиваем его, а затем настраиваем любимый плеер на работу с этим эквалайзером и наслаждаемся. В данном случае в роли любимого плеера выступает MPD. Приступим к настройке.Read more... )
http://zenux.ru/articles/26/
http://wikiadmin.net/mpd/
http://itbuben.org/blog/Unix-way/550.html
http://www.dokwork.ru/2011/10/mpd.html
http://un1or.livejournal.com/27672.html
http://uzverss.livejournal.com/5114.html
http://uzverss.livejournal.com/12074.html


развернуть
https://agran.livejournal.com/182872.html
исходники прошивки:
http://support.wd.com/product/download.asp?groupid=904&sid=211&lang=ru
в прошивке есть файл \packages\kernel_3.2.26.28\wd\README
И там описано как откомпилировать ядро и модули.

ссылка на компилятор: https://launchpadlibrarian.net/129960680/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux.tar.bz2

сделано для Ubuntu 12.04 x86. В 64 битной версии может потребоваться установка 32 битных модулей:
apt-get install ia32-libs

архив с уже откомпилированными необходимыми модулями ядра: http://yadi.sk/d/3Ug6EBWuH3dZL
Эти модули откомпилированы из исходников 156 прошивки, они будут работать и с более поздними прошивками (проверил на 165 прошивке - работает).
Необходимо положить папку sound в /lib/modules/3.2.26/kernel на нашем NAS.

Дописать в файл /lib/modules/3.2.26/modules.dep следующие строки:
kernel/sound/soundcore.ko:
kernel/sound/usb/snd-usb-audio.ko:
kernel/sound/usb/snd-usbmidi-lib.ko:
kernel/sound/core/snd.ko:
kernel/sound/core/snd-hwdep.ko:
kernel/sound/core/snd-page-alloc.ko:
kernel/sound/core/snd-pcm.ko:
kernel/sound/core/snd-rawmidi.ko:
kernel/sound/core/snd-timer.ko:
kernel/sound/core/seq/snd-seq.ko:
kernel/sound/core/seq/snd-seq-device.ko:
kernel/sound/core/seq/snd-seq-midi.ko:
kernel/sound/core/seq/snd-seq-midi-event.ko:

После чего выполнить команду:
depmod -a

Потом:
modprobe snd-usb-audio

Что бы звуковые модули автоматически загружались при старте NAS, в файле /etc/modules
дописываем:
snd-usb-audio

Теперь установим пакет отвечающий за работу со звуком.
apt-get update
apt-get install alsa

Подключаем свою usb-аудиокарту (у меня SB play!) и вводим
cat /proc/asound/cards
должна появится ваша аудиокарта.

Положим name.wav файл в папку Public.

И выполним команду:
aplay /shares/Public/name.wav

Если из динамиков подключённых к usb-аудиокарте послышится наша запись значит всё готово.

Если выдаст:
ALSA lib confmisc.c:768 :(parse_card) cannot find card '0'

то в файле /etc/modprobe.d/alsa-base.conf редактируем строку
options snd-usb-audio index=-2
так что бы было
options snd-usb-audio index=0

лучше изменить на index=0 в любом случае, так как иначе оно может перестать работать позже.
Перезагружаем NAS.

установка mpd: http://agran.livejournal.com/181608.html
И всё бы хорошо, но регулятор громкости не работал, что бы это исправить в файле /etc/mpd.conf разкоментируем строку:
mixer_type "software"

И перезагружаем mpd
/etc/init.d/mpd restart

Теперь звук должен регулироваться.

p.s.s.
Проигрывание mp3 320kbs отъедает 6.3% CPU и 3.5% RAM.
Проигрывание m4a - 3% CPU и 4% RAM.
---------------------------------------------------------------------------------------------------------------------------------

компиляция ядра:
https://www.kernelconfig.io/
https://wiki.gentoo.org/wiki/Kernel/Configuration/ru
https://progi.pro/chto-delaet-make-oldconfig-delat-imenno-v-make-fayle-yadra-linux-4724477
https://opensource.com/article/18/10/kbuild-and-kconfig
Поиск модулей
Внутри menuconfig можно использовать / для поиска модулей по имени.
Нажатие клавиши 1, в примере ниже, заставит make menuconfig перейти прямо к опции помеченной (1)
make ARCH=x86 menuconfig
make ARCH=mips menuconfig
make ARCH=arm64 menuconfig
yes "" | make ARCH=arm64 oldconfig
make ARCH=arm64 defconfig
make ARCH=arm64 olddefconfig
make ARCH=x86 modules_install
make defconfig сгенерируйте конфигурацию по умолчанию
make oldconfig используется для применения вашего старого файла .config к новому ядру.
make olddefconfig
make alldefconfig похоже make olddefconfig, но он также принимает фрагмент конфигурации для слияния
make silentoldconfig устарел с версии 4.19, заменён syncconfig
make syncconfig похожа на текстовый интерфейс из make config. Для новых опций она предоставляет выбор пользователю
Если новые опции должны быть оставлены как они рекомендуются (по умолчанию), то тогда используйте make olddefconfig
make allnoconfig
make allyesconfig
make tinyconfig Сконфигурируйте минимально возможное ядро

alsa pulse
aplay -D hw:CARD=PCH,DEV=3 /usr/share/sounds/alsa/Noise.wav
aplay -D default:CARD=Device /usr/share/sounds/alsa/Noise.wav
sudo -u pulse parecord -d 15 -v /tmp/123.wav - проверка телефонной трубки
sudo -u pulse paplay -d 2 -v /tmp/123.wav - вывод звука
sudo -u pulse paplay /usr/share/sounds/alsa/Noise.wav
sudo -u pulse pactl list sinks
sudo -u pulse pactl list sources

aplay -l
lspci -k | grep Audio -A2

ls -lah /dev/snd
ls -lah /sys/class/sound/card1/controlC1
cat /proc/asound/modules
cat /proc/asound/cards
cat /proc/asound/devices

проверка udev
udevadm info -a /sys/class/sound/card1/controlC1
udevadm info --query all --path /sys/class/sound/card1/controlC1
udevadm test /sys/class/sound/card1/controlC1 2>&1 | grep apply_to_event

/dev/snd/controlC0для управления аудиомикшером,
/dev/snd/pcmC0D0pи /dev/snd/pcmC0D1p для аудиовыхода, и
/dev/snd/pcmC0D0c для аудиовхода.
Также должны быть /dev/snd/seq и /dev/snd/timer для интерфейсов MIDI и таймера соответственно.

ссылки по теме:
https://sabi.co.uk/Notes/linuxSoundALSA.html
https://www.chiark.greenend.org.uk/doc/linux-doc/html/sound/alsa-configuration.html
https://tldp.org/HOWTO/Module-HOWTO/x197.html
https://unix.stackexchange.com/questions/90027/what-is-the-sequence-loading-linux-kernel-module-on-startup-how-priority-is-set
https://www.kernelconfig.io/config_snd_usb_audio?q=&kernelversion=6.13.11&arch=arm64

https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/
https://www.mankier.com/1/pactl
https://uzverss.livejournal.com/tag/mpd/


конфигурация MPD c базой данных музыки и плейлистами в домашней директории (чтобы в случае переустановки системы не пришлось создавать заново) Read more... )



взято у [livejournal.com profile] vectorlin в http://vectorlin.livejournal.com/16401.html

PS
Если в плеере (напр. в gmpc) выдаётся нечто вроде "error code 13: problems connecting to "localhost" on port 6600"(код ошибки 13...), это значит что mpd стартует раньше network-manager (или другого настройщика сети), в этом случае нужно изменить очерёдность запуска mpd в /etc/ rc2.d rc3.d rc4.d rc5.d хотя бы так:
mv S17mpd S20mpd
'K' - остановка службы, 'S' - запуск, число после 'K' или 'S' указывает порядок, в котором запускается служба, первыми выполняются с меньшими номерами.
хотя правильней пользоваться утилитой update-rc.d

Если при запуске клиента нет звука и выводится нечто наподобие "problem opening audio devices" то следует проверить включён ли пользователь в группу audio, если нет, то включить командой: sudo usermod -a -G audio user (user - имя пользователя) проверить что блокирует вывод звука можно командой: fuser -v /dev/snd/*
для того, чтобы была возможность одновременного вывода звука с другими приложениями (прочие звуко и видео плееры), необходимо в стандартной конфигурации (файл /etc/mpd.conf), в секции audio_output закомментировать (поставить #) device:

audio_output {
        type                 "alsa"
        name                 "My ALSA Device"
#       device               "hw:0,0"             # optional
        format               "44100:16:2"         # optional
        mixer_device         "default"            # optional
        mixer_control        "PCM"                # optional
        mixer_index          "0"                  # optional


Если в плеере выдаётся нечто вроде:
Couldn't connect to MPD (host = localhost, port = 6600): В соединении отказано
или
bind to '0.0.0.0:6600' failed: Address already in use (continuing anyway, because binding to '[::]:6600' succeeded)
то дело было в /etc/hosts, а именно в дефолтной строке:
::1 localhost
для IPv6
в этом случае надо изменить строку в /etc/mpd.conf
на
bind_to_address "127.0.0.1"
если не может прочитать собственные настройки
sudo chmod 644 /etc/mpd.conf

https://wiki.archlinux.org/index.php/Music_Player_Daemon/Troubleshooting




Установка
* Установка MPD

sudo aptitude install mpd

* Создайте ссылку на Вашу аудио коллекцию (MP3 и т.д.)

sudo ln -s /path/to/your/music /var/lib/mpd/music/collection

* Перезапустите MPD

sudo /etc/init.d/mpd restart

* Продвинутая настройка

gksudo gedit /etc/mpd.conf

* Установите стандартный Gnome клиент

Альтернативные клиенты, включая основанные на Web, детально описаны в MPD Wiki.

sudo aptitude install gmpc

* Настройте GMPC

Приложения > Мультимедиа > Gnome Music Player Client

Нажмите на иконку опций, установите хост, порт и опции коллекции. По умолчанию клиент соединяется с MPD запущенным на "localhost". Установите опцию "Autoconnect" если нужно. Стандартный MPD порт: 6600, убедитесь, что порт открыт в Firewall.

* Использование GMPC

Нажмите на иконку плейлиста. Разверните дерево "Просмотр файловой системы", кликните правой кнопкой на своей аудио коллекции и нажмите "Обновить". Это заставит MPD server переиндексировать Ваши аудиофайлы. Сами файлы изменены не будут.

По завершении, выберите в дереве просмотра файлов папки и треки и по клику правой кнопкой мыши добавьте их в плейлист.


PS
Если в плеере (напр. в gmpc) выдаётся нечто вроде "error code 13: problems connecting to "localhost" on port 6600"(код ошибки 13...), это значит что mpd стартует раньше network-manager (или другого настройщика сети), в этом случае нужно изменить очерёдность запуска mpd в /etc/ rc2.d rc3.d rc4.d rc5.d хотя бы так:
mv S17mpd S20mpd
'K' - остановка службы, 'S' - запуск, число после 'K' или 'S' указывает порядок, в котором запускается служба, первыми выполняются с меньшими номерами.
хотя правильней пользоваться утилитой update-rc.d

Если при запуске клиента нет звука и выводится нечто наподобие "problem opening audio devices" то следует проверить включён ли пользователь в группу audio, если нет, то включить командой: sudo usermod -a -G audio user (user - имя пользователя) проверить что блокирует вывод звука можно командой: fuser -v /dev/snd/*
для того, чтобы была возможность одновременного вывода звука с другими приложениями (прочие звуко и видео плееры), необходимо в стандартной конфигурации (файл /etc/mpd.conf), в секции audio_output закомментировать (поставить #) device:

audio_output {
        type                 "alsa"
        name                 "My ALSA Device"
#       device               "hw:0,0"             # optional
        format               "44100:16:2"         # optional
        mixer_device         "default"            # optional
        mixer_control        "PCM"                # optional
        mixer_index          "0"                  # optional


Если в плеере выдаётся нечто вроде:
Couldn't connect to MPD (host = localhost, port = 6600): В соединении отказано
или
bind to '0.0.0.0:6600' failed: Address already in use (continuing anyway, because binding to '[::]:6600' succeeded)
то дело было в /etc/hosts, а именно в дефолтной строке:
::1 localhost
для IPv6
в этом случае надо изменить строку в /etc/mpd.conf
на
bind_to_address "127.0.0.1"
если не может прочитать собственные настройки
sudo chmod 644 /etc/mpd.conf

Слушаем музыку с одного ПК на другом с помощью MPD HTTP-Streaming

Версия, с которой MPD поддерживает HTTP Streaming - 0.15. Проверим какая у нас:

└─[% >mpd --version | grep mpd
mpd (MPD: Music Player Daemon) 0.16.5

Моя версия поддерживает.

Чтобы всё это заработало, меняем пару настроек в /etc/mpd.conf:

bind_to_address     "0.0.0.0" 
password                "myverysecurepassword@read,add,control,admin"

И добавляем куда нибудь в конец файла следующее:

audio_output {    
    type        "httpd"    
    name        "linux.fm"    
    encoder     "vorbis"          
    port        "8000"    
    bitrate     "128"               
    format      "44100:16:1"    
}

Немного про настройки:

  • bind_to_address - какой адрес будет слушать MPD. По-умолчанию - localhost, но нам же это не подходит. Верно?
  • password - думаю, тут всё понятно
  • type - Тип аудио вывода
  • name - Название потока
  • encoder - В каком формате отдаём. Поддерживается vorbis, lame
  • port - На какой порт будем вещать аудио-поток
  • bitrate - Битрейт потока
  • format - Характеристики. В данном случае вещаем 44100 KHz, 16 bit, 1 channel. Вещаем в моно, т.к. в stereo потребляется слишком много процессорного времени. У меня не очень новый ПК, поэтому мне бывает критично.

Перезапускаем MPD:

sudo service mpd restart

На этом настройку можно считать законченной. Если всё сделано верно, то сейчас можете открыть какую нибудь Sonata, запустить песню, открыть http://127.0.0.1:8000 (для некоторых плееров, возможно, потребуется указать формат потока через URL - http://192.168.1.2:8000/mpd.ogg) например, в firefox и должны услышать заветную музыку.



https://wiki.archlinux.org/index.php/Music_Player_Daemon/Troubleshooting
Слушаем музыку с одного ПК на другом с помощью MPD HTTP-Streaming

Profile

uzverss: (Default)
uzverss

December 2024

S M T W T F S
12345 67
891011121314
15161718192021
22232425262728
293031    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 17th, 2026 07:49 pm
Powered by Dreamwidth Studios