26 ноября 2013 в 11:09

Cобираем звуковую станцию на базе Linux и MPD



В основе референсного аудиопроигрывателя Bryston BDP–2 стоимостью, на минуточку, 156 тысяч рублей лежит стандартная материнка с процессором Intel Atom и звуковой картой ESI Juli@ PCI. В качестве ОС для этого плеера разработчики выбрали Debian Linux. При наличии времени и желания можно собрать аналогичный цифровой источник из имеющегося железа, а с установкой нужного ПО и тонкой настройкой параметров системы тебе поможет эта статья.


Введение


Надо сказать, при создании BDP–2 инженеры из Bryston не сильно утруждали себя работой над программной частью: в поставке идет стоковый Debian 6.0.1, ядро версии 2.6.32 без поддержки realtime, предлагаются практически нетронутые настройки MPD, какие-либо оптимизации вовсе отсутствуют. Дело в том, что стандартные ядра имеют довольно большую задержку звука (11–20 мс), и это не позволяет работать со звуком профессионально. В realtime-системе эта задержка составляет ~1 мс, что уже считается отличным результатом. Поэтому первым делом мы скомпилируем ядро и звуковой сервер MPD с RT-патчами, чтобы максимально снизить задержки, затем настроим высокоточный таймер событий, выставим максимальные приоритеты для устройств и процессов, связанных с передачей аудио, а в завершение проведем тюнинг системных параметров. В общем, сделаем то, что должны были сделать hi-end’овцы.

Будем рассматривать на примере древнего компа (материнка VIA Epia-MS, проц VIA C3 800 МГц, 512 Мб ОЗУ, звуковая карта ESI Juli@ PCI) и дистрибутива Debian 7.1, установленного по минимуму, то есть без графики и лишних сервисов. У тебя может быть другая звуковуха, только мы бы рекомендовали именно PCI/PCI-E, поскольку внешние карты USB могут некорректно работать с некоторыми материнскими платами.

Подопытный комп, аналоговая часть ESI Juli@ демонтирована
Подопытный комп, аналоговая часть ESI Juli@ демонтирована

Для тестов использовался цифро-аналоговый преобразователь Nagra DAC
Для тестов использовался цифро-аналоговый преобразователь Nagra DAC



Компиляция RT-ядра


RT-патч предназначен для поддержки реального времени в ядре, причем не «мягкого», а «жесткого». Разница заключается в том, что системы «мягкого» реального времени допускают небольшое превышение желаемого времени выполнения, в системах же «жесткого» реального времени подобное превышение недопустимо. Патч накладывается на ванильное ядро, поэтому ставим все необходимое для его компиляции и качаем ядро и патч:

# apt-get install kernel-package libncurses5-dev fakeroot build-essential pkg-config wget gcc autoconf git
# mkdir kernel && cd $_
# wget bit.ly/149djQn
# wget bit.ly/14rDBvQ

Распаковываем и патчим:

# tar xjf linux-3.8.13.tar.bz2 && cd linux-3.8.13
# bzcat ../patch-3.8.13-rt11.patch.bz2 | patch -p1

Затем в menuconfig/nconfig включаем опцию Processor type and features -> Preemption Model -> Fully Preemptible Kernel (RT) и собираем ядро:

# CONCURENCY_LEVEL=3 fakeroot make-kpkg --initrd --append-to-version=-rt kernel_image kernel_headers

Вместо CONCURENCY_LEVEL=3 можешь поставить свое число, в зависимости от количества ядер процессора + 1.
Устанавливаем и перезагружаемся:

# dpkg -i ../*.deb
# reboot

Выбор нужной опции ядра
Выбор нужной опции ядра


Подготовка MPD


Для начала — что это такое? Зачем нужен еще один плеер, если их и так предостаточно? Собственно, MPD — демон с клиент-серверной архитектурой, что открывает довольно любопытные возможности, а именно:

  • в отличие от множества других графических плееров, он прекрасно обходится без иксов, так что, если они упали или вообще отсутствуют на компе, музыка все равно будет играть;
  • это клиент-серверное приложение — при желании им можно управлять из графического интерфейса;
  • MPD мало того что клиент-серверный — он еще и сетевой! Следовательно, его можно поставить на безголовый сервер и спокойно рулить им хоть с нетбука, хоть с другого компа, хоть со смартфона или планшета (iOS/Android).


Сам же MPD поддерживает множество возможностей, в том числе поддержку FLAC, ALAC, WAV, MP3, OGG, потокового воспроизведения аудио, gapless playback (воспроизведение без пауз)… всего не перечислишь.
Исходники берем с официального cайта (по указанным ниже причинам необходима версия 0.17.1), затем ставим необходимые зависимости для сборки:

# wget bit.ly/14wxPtj
# tar xjvf mpd-0.17.1.tar.bz2
# cd mpd-0.17.1
# apt-get build-dep mpd
# apt-get install libcdio-paranoia-dev

После этого можно, в принципе, заходить в каталог и набирать команду autogen, а затем make… но мы торопиться не будем, поскольку в противном случае MPD будет скомпилирован с опциями по умолчанию, что нам может не подойти. Кроме того, придется применять RT-патч к самому MPD, который предназначен для улучшения качества звука путем управления приоритетами потоков (зря, что ли, RT-ядро компилировали?). Поскольку сам плеер развивается быстрее, чем патч, версия MPD должна быть именно 0.17.1. Скачиваем патч и накладываем его:

# wget bit.ly/10kbsHY -O mpd-rtopt.diff.gz
# gunzip -c mpd-rtopt.diff.gz | patch -p1

Теперь уже можно выбирать опции сборки. Конечно, это дело вкуса, но мы собирали со следующими опциями:

# ./autogen.sh CFLAGS="-O2 -mtune=`uname -m`" --enable-alsa --enable-rtopt --enable-id3 --enable-sqlite --enable-audiofile --enable-flac --enable-cdio-paranoia --enable-lsr --disable-oss --disable-pulse --disable-jack --disable-ipv6 --disable-inotify
# make && make install

Рассмотрим некоторые опции подробнее:

  • --enable-alsa — включает поддержку ALSA;
  • --enable-rtopt — собственно, то, ради чего мы патчили;
  • --enable-id3 — поддержка тегов ID3;
  • --enable-sqlite — поддержка SQLite для внутренней БД MPD;
  • --enable-audiofile — поддержка WAV-файлов;
  • --enable-flac — поддержка FLAC — формата сжатия без потери качества;
  • --enable-cdio-paranoia — аудиоCD;
  • --enable-lsr — поддержка изменения частоты дискретизации на лету;
  • --disable-oss — поскольку мы будем использовать ALSA, OSS нам не понадобится;
  • --disable-pulse, --disable-jack — обертки вокруг ALSA нам тоже ни к чему;
  • --disable-ipv6 — если нет IPv6, зачем его включать?
  • --disable-inotify — для меньшего потребления ресурсов.


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


Начальная настройка и тюнинг


Приведем наиболее важные части файла mpd.conf:

# Каталог с музыкой. Вложенные подкаталоги также поддерживаются
music_directory "/var/mpd/music"
# Плей-листы
playlist_directory "/var/mpd/plists"
# База данных с тегами
db_file "/var/mpd/mpd_db"
# Еще одна база данных — на этот раз для пользовательской информации о музыке
sticker_file "/var/mpd/sticker_db"
log_file "/var/log/mpd.log"
# Настройка для ESI Juli@, подключенной по SPDIF (Toslink либо RCA) к внешнему ЦАП
# Конфигурация аудиовывода — почти единственный многострочный параметр в `mpd.conf`. Возможно использование одновременно нескольких аудиовыводов
audio_output {
    # Указываем, что будем использовать ALSA
    type "alsa"
    # Название конфигурации
    name "ESI Julia SPDIF"
    # Используем цифровой выход (для получения информации о звуковой карте смотри вывод команды aplay -L)
    device "iec958:CARD=Juli,DEV=0"
    # Чтобы получить bit-perfect playback, запрещаем звуковой подсистеме автоматически выравнивать громкость, изменять частоту дискретизации, изменять количество каналов и выполнять преобразование разрядности аудиопотока
    replay_gain_handler "none"
    auto_resample "no"
    auto_channels "no"
    auto_format "no"
    # Поддержка Memory-mapping I/O
    use_mmap "yes"
    # Выставляем максимальный приоритет
    priority "FIFO:99"
}
...
# Размер внутреннего аудиобуфера в килобайтах
audio_buffer_size "2048"
# Заполнение аудиобуфера перед проигрыванием музыки в процентах
buffer_before_play "50%"
...
# Конфигурация realtime-опций MPD — второй многострочный параметр в данном файле
realtime_option {
memlock "yes" # Поддержка locks in-memory
stack_reserve "1024" # Резервируем стек (в килобайтах)
heap_reserve "10240" # и кучу (также в килобайтах)

main_priority "OTHER:0"
player_priority "FIFO:50"
decoder_priority "FIFO:47"
update_priority "OTHER:0" # Приоритеты потоков
}

По желанию (и если MPD был скомпилирован с соответствующей опцией) можно, например, включить потоковое аудио по HTTP — для последнего надо добавить следующие строчки в конфиг:

audio_output {
    type "httpd"
    name "My HTTP Stream"
    # Используемый кодек, может быть vorbis или lame
    encoder "vorbis"
    port "8000"
    # quality "5.0"
    # Параметры quality и bitrate взаимоисключающие
    bitrate "128"
    # Формат аудиопотока (44,1 кГц, 16 бит, стерео)
    format "44100:16:2"
}

Конфигурационный файл mpd.conf
Конфигурационный файл mpd.conf

Также необходимо произвести тюнинг системы. Первым делом создаем файл /etc/security/limits.d/mpd со следующим содержанием:

@audio - rtprio 99
@audio - memlock unlimited
@audio - nice -19

Этот файл практически выключает ограничения приоритетов для демона. Далее необходимо изменить настройку HPET (который является генератором тактовой частоты и на многих довольно старых материнских платах по умолчанию не используется). Для этого правим строку в файле /etc/default/grub — заодно добавим опцию threadirqs, которая имеет отношение к RT-ядру и которая понадобится в дальнейшем:

GRUB_CMDLINE_LINUX_DEFAULT="quiet clocksource=hpet threadirqs"

HPET необходим для более точной (по времени) подачи сигнала на ЦАП. Казалось бы, разница в несколько микро- (а то и нано-) секунд при подаче потока битов настолько незначительна, что на нее не стоит обращать внимания… ан нет. Один бит задержался, два пришли раньше времени — и в высококлассной стереосистеме разница может быть ощутима человеческим ухом. С использованием HPET вероятность подобного сценария уменьшается.
Давай также настроим некоторые параметры ядра через sysctl. Открой в своем любимом редакторе /etc/sysctl.conf и добавь в него следующие строчки:

# Настройки виртуальной памяти, в частности стратегия распределения памяти и коэффициент подкачки
vm.overcommit_memory = 2
vm.overcommit_ratio = 50
vm.swappiness = 10
# Настройка максимально допустимой частоты HPET
dev.hpet.max-user-freq = 2048

В дополнение к последнему параметру необходимо изменить подобный же для rtc — но, поскольку он находится в sysfs, придется прописывать его в rc.local:

echo 2048 > /sys/class/rtc/rtc0/max_user_freq

Поставим пакет rtirq-init. Он содержит скрипт, увеличивающий приоритеты IRQ-потоков, связанных со звуковым оборудованием:

# apt-get install rtirq-init

После установки, возможно, потребуется отредактировать файл /etc/default/rtirq, а именно список IRQ-потоков, которые будут иметь повышенный приоритет:

RTIRQ_NAME_LIST="rtc snd usb i8042"

Ну и напоследок — если у тебя PCI’ная звуковая карта, то надо увеличить до максимума таймер времени ожидания (latency timer, задающий время, которое может занимать карта на шине, если к шине обращаются другие карты) для нее и, соответственно, немного увеличить его для других устройств PCI. Но сперва надо узнать PCI ID карты:

# lspci | grep -i audio

В моем случае ID был 01:09.0, следовательно, для увеличения latency timer набираем команды

# setpci -v -d *:* latency_timer=b0
# setpci -v -s 01:09.0 latency_timer=ff

Эти команды ты тоже можешь прописать в rc.local.

Интерфейс QMPDClient
Интерфейс QMPDClient

Sonata — еще один клиент для MPD
Sonata — еще один клиент для MPD

RT-патч превращает ядро Linux в полностью преемптивное (то есть с вытесняющей многозадачностью)

Проверка работоспособности


В общем-то, теперь можно запускать демон MPD. Перед запуском убедись, что музыка в соответствующем каталоге присутствует и создан каталог для плей-листов. Если же она разбросана по разным каталогам, то можно указывать на них симлинками. Команда для ручного запуска выглядит так:

# mpd /etc/mpd.conf

А как же проверить работоспособность? Дело в том, что даже самый простой консольный клиент в состав исходников MPD не входит, как и библиотека libmpdclient, поэтому можно либо скомпилировать их самостоятельно, либо установить соответствующий пакет. Поскольку клиент не требует наложения патчей, то особого смысла заморачиваться с компиляцией нет, а значит, ставим пакет:

# apt-get install mpc

Перед запуском рекомендуем посмотреть настройки микшера — в Debian 7.1 звук по умолчанию отключен. Обновляем базу данных MPD, добавляем всю музыку в плей-лист и запускаем воспроизведение:

# mpc update --wait
# mpc listall | mpc add
# mpc play

Если все нормально, то должна зазвучать музычка. В случае же потокового воспроизведения тебе надо еще проверить работу этого потока. Указываем адрес и порт, прописанный в конфиге. Для некоторых плееров необходимо также указывать файл mpd.ogg — например 192.168.1.5:8000/mpd.ogg.


Удаляем лишнее


Ну а теперь необходимо подчистить систему. В общем-то, ты можешь это сделать и сам, но есть некоторые тонкости — к примеру, пакеты, установленные с помощью apt-get build-dep, удалить не совсем просто. Итак, сначала мы отмечаем нужные для MPD пакеты, чтобы они не удалились следующей командой, а уже затем удаляем пакеты, относящиеся к сборке:

# apt-mark manual libcdio-paranoia1 libavahi-glib1 libcurl3-gnutls libshout3
# apt-get autoremove kernel-package libncurses5-dev fakeroot build-essential pkg-config wget gcc autoconf git
# apt-get remove libcdio-paranoia-dev

Затем выполняем следующую трехэтажную команду:

# apt-get remove $(apt-cache showsrc "mpd" | grep Build-Depends | perl -p -e 's/(?:[\[(].+?[\])]|Build-Depends:|,|\|)//g')

Команда эта выглядит пугающе, но делает вполне безобидную вещь — удаляет все пакеты, которые нужны были для сборки MPD.

Удаляем также MTA — зачем нам почта на аудиостанции?

# apt-get remove exim

В общем-то, остальные бесполезные для аудиостанции пакеты ты можешь удалить и сам. Но если ты не уверен, понадобится ли тебе, к примеру, cron или syslog, — лучше их просто отключить из init-скриптов.

Монтирование корневой ФС в режиме RO


Если музыка у тебя будет находиться на ином накопителе, нежели система, имеет смысл при загрузке монтировать корневую ФС в режиме read only. Наиболее простой способ сделать это — прописать соответствующую опцию в /etc/fstab. Однако это потребует размещения всех изменяемых частей на других разделах либо удаления программ, которые эти данные генерируют, что иногда не совсем просто.
Еще один способ заключается в использовании unionfs/aufs/overlayfs — эти файловые системы позволяют объединять в одной точке монтирования и RO, и RW — последняя может размещаться в оперативной памяти. Данная техника используется при создании Live-дистрибутивов. Подробнее о том, как это делать, можно узнать на страничке.

Клиенты для MPD


Есть ли для MPD другие клиенты? Конечно, есть. Более того, наличие множества клиентов — одна из особенностей этого демона. Некоторые из них опишем чуть подробнее.

  • Ncmpc — довольно простой клиент для MPD, основанный на ncurses. К сожалению, не очень удобно работать с плей-листами.
  • А вот еще один клиент на ncurses — ncmpcpp в этом смысле куда более приятен. В нем имеется поиск по тегам.
  • Клиент для xfce, xfmpc, отличается присущей этой среде минималистичностью и отсутствием лишних функций.
  • Еще один графический клиент, Sonata, позволяет, кроме всего прочего, загружать из интернета обложки альбомов и тексты песен и обладает большим количеством настроек. К примеру, он поддерживает работу с несколькими серверами MPD. Правда, вызывается окно настроек не слишком интуитивно.
  • QMPDClient, как понятно из названия, является Qt-клиентом и на вид очень мощный плеер — но не особо впечатлил. Тем не менее отметим такую возможность, как автоматическое удаление уже сыгранной композиции из плей-листа.


Отдельно стоит упомянуть клиенты для коммуникаторов. Для Android в Google Play нашлись MPDroid и DroidMPD. Какой из них выбрать — дело вкуса; интерфейс второго показался несколько аляповатым. Для iPhone/iPod пользуется популярностью MPoD, для iPad есть специализированная версия — MPaD.

Интерфейс MPDRoid довольно симпатичен
Интерфейс MPDRoid довольно симпатичен

MPoD: клиент для iPhone
MPoD: клиент для iPhone



Околоаудиофильские дистрибутивы


Существует множество дистрибутивов для работы со звуком — от минималистичных, для работы исключительно в качестве аудиоцентра без монитора с управлением по сети, до навороченных, имеющих кучу секвенсоров и VST-плагинов. Все их, конечно, описать невозможно, но небольшой обзор отдельных не помешает. И начнем мы с Voyage MPD.

Voyage MPD — встраиваемый дистрибутив на базе Debian 7.1. Последняя на момент написания статьи версия содержит MPD 0.18, ядро 3.8.13 с последними драйверами ALSA, веб-интерфейс на основе Meshlium, заявлена также поддержка DoP (DSD over PCM, упаковка DSD в фреймы PCM). Имеется Voyage MPD Starter Kit, позволяющий собрать аудиостанцию. Стоимость набора 149 долларов, но звуковая карта в комплект не входит.

64 Studio — дистрибутив (опять же на Debian), позиционируется как заточенный под создание медиаконтента. Имеет следующие особенности: low-latency ядро, секвенсоры, такие как Rosegarden, Ardour — мультитрековый звуковой редактор… Однако дистрибутив не обновлялся с 2008 года.

Ubuntu Studio — как говорится, без комментариев. По сути, тот же Ubuntu с XFCE, заточенный под создание мультимедийного контента. Ничем особенным не выделяется — разве только low-latency ядром да возможностью поставить на обычный Ubuntu метапакет и превратить в данный дистрибутив.

AV Linux, несмотря на название, не антивирус под Linux, а еще один дистрибутив для работы с аудио и видео. Из особенностей можно назвать то, что он включает в себя не только свободное ПО, но и демоверсии проприетарных продуктов, таких как LinuxDSP и Mixbus.




Итоги


Linux вполне может использоваться как в качестве ПО для аудиоцентров, так и в качестве ПО для профессиональной работы со звуком. И если первый аспект еще более-менее обозрим (хотя и тут есть свои тонкости, как можно было увидеть из вышесказанного), то профессиональная работа со звуком настолько разнообразна, что и в рамках книги ее не охватишь. Статья, однако, такую цель не преследовала — мы хотели всего лишь показать, что на основе древнего компа можно собрать систему, качество звучания которой не будет уступать оборудованию стоимостью в тысячи долларов.

Оптимальные настройки BIOS


Приведем некоторые настройки BIOS, которые рекомендуется подправить для улучшения производительности:

  • Если имеется HyperThreading, лучше его отключить.
  • Video BIOS shadow тоже лучше отключить.
  • Для устройств PCI выключи опцию PCI Delay Transaction, поскольку она увеличивает задержки.
  • Отключи все ненужные встроенные устройства.



Впервые опубликовано в журнале «Хакер» от 08/2013.

Публикация на Issuu.com

Подпишись на «Хакер»




Автор: @XakepRU
Журнал Хакер
рейтинг 87,75
Компания прекратила активность на сайте

Комментарии (29)

  • +1
    В основе референсного аудиопроигрывателя Bryston BDP–2 стоимостью, на минуточку, 156 тысяч рублей лежит стандартная материнка с процессором Intel Atom и звуковой картой ESI Juli@ PCI.


    Что говорит лишь о том, что Bryston окончательно погрязли в маркетинге и положили болт на качественный звук. Хотя с ним у них всегда были некоторые проблемы. Я не к тому, что сама идея звуковой станции на Linux плоха. Просто если уж ссылаетесь на какую-то аппаратуру как на референсную, то ссылайтесь хотя бы на качественную. А там почему-то никто не горит желанием использовать компы и стандартные звуковухи, по вполне очевидным и объективным физическим причинам.
    • +2
      Там это где? На студиях то компы вполне себе стандартные, сейчас, а раньше отличались разве что развитым SCSI хозяйством…
      Ну а аудиофилия с начала двухтысячных в терминальной стадии, всё лучше из того что было достигнуто когда-то осталось в прошлом.
      А для покупателя имиджевых продуктов совершенно похрен Юля там внутри Апогей или Линкс…
      • 0
        Так мы за компы говорим или за звук? Если за звук, но на студиях всё ж таки звуковухи ставят внешние, а на нормальных студиях — компьютерные интерфейсы отвечают только за цифровые входы/выходы, когда за звук отвечает отдельно стоящая железка с конвертерами. По простейшим причинам — нормально развязать цифровую часть с аналоговой так, чтобы она не гадила, практически нереально. Тем более на базе стандартных решений.
        • 0
          Да, так и есть как правило внешние, и цифровые интерфейсы причём специализированные так, что из корпуса выносится не только аналоговая часть, но причина тут несколько другая…
          В компе сильные ЭМП по этому даже развязанный по питанию преамп размещать внутри не самая лучшая идея, кроме того правильная разводка аналоговой части требует места, НО не всем и не для всякой работы нужна многоканальность, а для записи обычно используются преампы\компрессоры как отдельные блоки, по этому бывали и вполне удачные внутренние аудиокарты, вроде эму1212…

          Фигня в том, что цифровая часть тоже местами требует внимания и к питанию в том числе, ранние Creamware tripleDAT были по истине ужасны в этом плане уступая бытовым SoundBlaster-ам, но это лечилось, паяльником…

          Студия — живой организм со своей эргономикой пользования, ProTools TDM отнюдь не была самым крутым решением в плане качества, но прекрасно в вписывалась в процесс и избавляла владельцев от множества головняков. Пиковые индикаторы на передней панели, обилие цифровых интерфейсов, это всё нужно в работе. Те-же тослинки и коксы, смысл не в том что бы отбиться от космических помех, а в том, что бы подключить, например, кошерный цап\ацп к дат\адат магнитофону или цифровой эффект процессор к цифровому же пульту, многое делается с запасом на будущее и поправкой на различные сценарии использования…

          Если говорить за звук, то опять-же правильные пОцаны Prism слушаютъ, но не факт что в случае двойного слепого на их же тракте emu0404usb будет замечена или вообще окажется теплее :-)
          • 0
            Ну, не Prism'ом единым. Lavry и иже с ним со счетов тоже грех списывать. Совсем-то правильные чуваки знают толк и юзают Studer A820/A810 вместо всей этой новомодной хреноты ;)
            • 0
              Вопрос цены\качества, резонный потолок давно был пройден. Раньше это всё паслось исключительно на мастер хаусах, а сегодня люди набивают ими рэки уже не сколько из-за качественных резонов, сколько ради того что бы набить цену студии.

              А что до магнитофонов, то это ИМХО был бы самый разумный вектор для развитии аудиофилии, но из соображений копирайта он не получил развития. Фишка в том, что уважаемые эксперты и любители дорого звука, даже понятия не имеют о том, как это звучало на студи. Лично мне доводилось работать с материалом сведённым на ленту полностью или по группам 4-8 дорожек, в контрольной комнате это звучит офигительно, но на выходе от меня требуется 16(а на самом деле чуть меньше)@44 CDюшка :-( с хорошей цифрой та-же ботва, я не представляю что чувствовали старики когда ужимали и кастрировали ленту до винила, это просто драма душевная, но аудиофилы до сих пор носятся с винилом как с писаной торбой.
              • 0
                Справедливости ради надо сказать, что ужимать ленту до винила надо сильно меньше, чем ужимать ленту до CD :) Потому и носятся, обычно. Но так-то тоска, да. Ибо полдюймовый стерео-мастер — это 100дБ честного ДД и 50кГц честной же полосы.
                • +1
                  Не правда, вы не путайте измерения ДД и спектра готового винила которым хвастают аудиофилы, со стандартами, и физическими возможностями рекордера. К стати, на данном этапе развития технологий, рекордеры можно было-бы сильно улучшить… Лично я «смастерил» всего одну пластинку (в кавычках, потому что мастерингом считаю исключительно полный цикл работ) но видел как это делалось в СССР и учился у людей занимавшихся этим в США весьма не без успеха (золото, платина, граммофон) и знаю что говорится из первых рук. Люди буквально боролись за рынок, допиливая рекордеры, а для наших умников сегодня главное какой-там у них был оптолевеллер :-)

                  Так вот, по иронии судьбы, в современном мире, винил и CD это две разные стороны уродливой медали.
                  Почитайте про тон коррекцию винила, ага, мало кто знает что нечто подобное было придумано и для CD, только наоборот. Там давили низ, тут верх. Но нет, эта штука использовалась лишь в немногих DAT магнитофонах, и ИМХО в этом был смысл, хотя фильтр требовался в разы сложнее.

                  Фигня винила, в высоком уровне гармонических и интермодуляционных искажений возникающих в процессе записи и воспроизведения. Технологически, там было за что бороться, и производители вертушек боролись, и результат был ощутим, но с появлением CD пространства для технологической борьбы поубавилось, остался маркетинг…

                  А что до мастеринга, то это всегда поиск компромисса, просто в годы винила с этим было несколько проще.
                  Обрезка крайних частот она же не от жадности делается, и отнюдь не только что бы резец не поломать, отрежешь больше низа, меньше будет интермодуляций по верху :-) А на верху опять-же не всё так просто, тон коррекция, она ведь и у ленты и не просто так, возникает вопрос, за что борьба?

                  Да 50 килогерц там может быть и есть, только это отнюдь не исходный сигнал, а шум винила, ламп, ленты.
                  И не беда, если его удавит ваш тон корректор, он же наверняка ламповый, причём по самой грязной схеме, «для чистого и прозрачного верха» :-) Про виниловый инфраниз я вообще молчу, слушаем тонарм…

                  PS.И вообще если приглядеться к ламповой схема технике, то у аудиофилов она сильно отличается, от той что была в легендарных приборах, с подобранными парами ламп в режиме малых токов, и поисками правильной земли. Ну кто-ж так сейчас делать то будет, это-ж звучит по электронному стерильно! Нет возьмут лампы от гитарных комбов, обеспечат им кривое питание, и агрессивный режим работы, что бы покупатель лампу сразу услышал :-) И ещё на переднюю панель их вынесут, что-бы увидел…
                  • 0
                    Почитайте про тон коррекцию винила, ага, мало кто знает что нечто подобное было придумано и для CD, только наоборот. Там давили низ, тут верх.


                    Я прекрасно знаю, что такое RIAA curve, которых на самом деле ещё и несколько (стандарт менялся пару раз). Если что, я сам, кроме того, что музыку и хороший звук люблю, звукорежиссёр и разработчик аудиооборудования :) Так что вполне себе представляю масштаб катастрофы.

                    Да 50 килогерц там может быть и есть, только это отнюдь не исходный сигнал, а шум винила, ламп, ленты.


                    50кГц — это не только ценный мех шум винила, это ещё и крутизна фронтов, например. То, чего CD (и, в общем-то, даже форматам более высокого разрешения) адово не хватает из-за всяких FIR-фильтров, которые там неизбежны по выходу и которые одновременно безбожно гадят импульсную характеристику.

                    А фонокорректор у меня таки не ламповый, а вот как по ссылке ниже, и это таки даже не столько классика, сколько один из очень немногих образцов the best of the best с технической стороны :)
                    audio-database.com/Accuphase-kensonic/etc/C-17-e.html

                    вообще если приглядеться к ламповой схема технике, то у аудиофилов она сильно отличается, от той что была в легендарных приборах, с подобранными парами ламп в режиме малых токов, и поисками правильной земли.


                    Ну аудиофилы вообще странные люди. Я не против ламповой техники и у меня даже один мощников, который мы сейчас в производство запускаем, ламповый, но там таки адекватная реализация. Лампу можно использовать заради более благозвучного (хоть и объективно более грязного) звука, но то, что творят с ней аудиофилы — это уже за гранью реальности зачастую. Хотя хорошие примеры есть и там.
                    • 0
                      Да фронты, но откуда они? Из исходного сигнала или из тракта?
                      Да, так звучит лучше, и ответ на вопрос почему давно известен…
                      … подсказка, человеческий слух — не осциллограф, а анализатор спектра, причём чем выше, тем шире.
                      Мозг, помимо всего прочего, обращает на смещения спектра, по этому отраженный временной дискретизацией сигнал мы называет «стеклом», а… нам очень даже нравится, и даже если просто добавить к записи шума, её субъективная оценка будет выше, если двойной-слепой не знаком с этим приколом :-)

                      PS. Ну если звуковик, так тем более, воткни подавитель щелчков и хрустов, да померь ДД по гистограмме, вот и вся правда о виниле. Хотя опять-же это вопрос компромисса, могло-бы быть зажато и легче, просто расчёт делался на среднестатистическую советскую\американскую вертушку.
          • 0
            Ну и, кстати, приведённый топикстартером в пример Bryston таки относится к классу бытового оборудования, а тут следует смотреть в сторону чего-то вроде Accuphase, Mark Levinson, Theta Digital, Wadia, dCS, Krell, Chord, McInstosh и прочих. Я, конечно, понимаю, что Mark Levinson давно продался Harman Group и уже сто лет как не торт, а Wadia точно так же ударилась в маркетинг, но всё ж таки уровень технологий (если оставить в стороне градус эзотерики и цены) там несколько отличается от вот этого вот поделия Bryston. На всякое топовое старьё типа Aurex, Diatone, Trio, Lo-D и Exclusive лучше вообще не смотреть, а то с новодела будет всё время к рвотным пакетикам тянуть :)
            • 0
              А это всё, вполне себе бытовая техника, да-да, для профессиональных целей она не пригодна.
  • +16
    Не понимаю зачем проигрывателю аудио RT-ядро и оптимизированные настройки BIOS? Плеер загружает кусок аудио из файла и декодирует в свой буфер в виде PCM, потом выкидывает порциями (достаточно большими) в аудиокарту. У звуковой платы свой внутренний генератор, не связанный с основной системой. Задержка имеет значение только в том случае когда у вас процессор аудиоэффектов и необходимо получить аудио-сигнал, преобразовать его и тут же выдать обратно на выход.

    Я бы вообще на Raspberry PI посмотрел — на мой взгляд в связке с качественной звуковой платой будет самое то.
    • +6
      А я еще тем более не понимаю, зачем нужна даже Juli@, если всё равно вывод идет на внешний DAC? SPDIF — он ровно один и тот же, что на Juli@, что встроенный на материнке.
      • +9
        Ну что вы, это же совсем другой S/PDIF! Если используете коаксиал — то только из безкислородной меди и соплей девственницы, если TosLink — то не менее 5000 руб за погонный метр)
        Аудиофилы такие аудиофилы.
      • +6
        Дрожание фазы SPDIF от которого будет тактироваться внешний DAC…
        • +1
          Вы реально открыли мне глаза: я до этого как-то не читал подробно о работе S/PDIF и не думал, что такая проблема действительно существует. Наверное, она решается введением буфера и внутреннего генератора в DAC, но… в общем, познавательно, да.
    • +8
      ЦА журнала — школота, которой хочется побыть ХЭККЕРАМИ. В этих условиях без RT-патча и перекомпиляции ядра — никуда. Осталось только притащить генту и пересобрать мир.
  • +23
    Тонкая настройка аудио, а на скриншотах — mp3.
  • 0
    А какие ключи для сборки «теплого лампового звука»?
    • +1
      Для него придётся ставить JACK и пускать всё через тёплый-ламповый сатуратор и какой-нибудь динамический мути-добавитель для сидюшек, если тракт вашего аудиофила не достаточно искаженный и мутный, то хорошо помогает…
      • +1
        У ASUS'a была материнка — AX4B-533 Tube — там в звуковой тракт был «интегрирован» двойной триод SOVTEK 6922, с гордой надписью made in russia.
  • +2
    Инструкция отличная, но все же не без недостатков.
    Если вы уж поставили ядро с rt патчами, то НЕ используйте hpet-таймер! Он гораздо менее точен того же tsc. Не знаю, откуда у многих появилось противоположное мнение.
    И, к слову, можно было обойтись и без -rt ядра, отключив у alsa dmix полностью (он, как я понимаю, вам не нужен). Это, конечно, не совсем замена -rt, но задержку снижает заметно.
    • +1
      По тестам с RT все равно раз в 10 меньше.

      Вопрос в том какая задержка приемлема.
      Если это не для соло на синтезаторе — вполне сгодится и стандартное ядро =)
  • +2
    Ага, самое главное «Video BIOS shadow» отключить…
  • +1
    Ксакеп как советовал в мохнатом году в редхате делать make install, так и продолжает в 2013 делать то же самое в дебиане.

    Вердикт: не нужно.
  • 0
    И ещё это чудовищно раздражающее «тыкание»…
    • 0
      Целевая аудитория этого журнала при обращении на «вы» начинает в панике озираться: «кто здесь?! к кому они обращаюся?»
      • 0
        Грамотно написанная статья не использует ни того, ни другого.

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

Самое читаемое Разное