Раз уж говорите, что Linux готов для десктопа.
Сейчас играю музыку в windows, хотя и пользуюсь linux. Причина - J. River Media Center, а точнее - его фичи.
Я заранее извиняюсь за огромную портянку. Думаю, кому-то будет интересно почитать, что должен на самом деле делать плеер.
Кстати, это именно просто плеер, с обезьяньим интерфейсом, а не навороченный daw в котором фиг что поймешь. И он заточен на обычное использование - проигрывание пачек файлов из коллекции.
Хотелось бы чего-то такого под линукс. Может, оно существует? Если так, это явно не Clementine, который я использую под линуксом обычно.
Лично мне особенно важны фичи, относящиеся к многоканальности и переключению аудиокарт, и их форматов вывода. Эмуляция объема. Ночной режим и прочий автолевелинг. Эквалайзер. Программная настройка сабвуфера. Коррекция пространства (и возможность гасить девайсы для точной калибровки.). Частотный анализатор самого трека.
Вот полный список фич, относящихся только к звуку. И регулирующихся двумя кликами из гуя. (Есть десятки опций, относящихся к управлению коллекциями, и к просмотру видео, но тут их не перечисляю чтобы излишне не удлинять тред)
- Прямо из плеера в выпдающем списке выбор аудиосистемы (под Windows это Direct Sound, ASIO, WASAPI, Null Device. Ничего настраивать не надо, плеер сделается все абсолютно сам. На линуксе, соответственно, хотелось бы ALSA/Pulseaudio/Jack/OSS разных версий)
- Для каждой комбинации аудиоката+аудиосистема - собственные настройки.
- В частности channel offset (если у карточки больше 2 выходов, н-р 8 как у меня, будут использоваться выходы начиная с номера channel_offset)
- Размер буферизации вывода (н-р 50 миллисекунд)
- К какой из аудиокарт будет подключаться ползунок внутренней громкости (у меня их 2 шт на обычное проигрывание, плюс всякая мура типа пары разных неиспользующихся S/PDIF, DVI-HDMI Audio итп)
- Связать ли ползунок внутренней громкости напрямую с аудиокартой, или с системным индикатором громкости (на таскбаре который)
- Включить ли поддержку высоких битрейтов DSD Bitstream DoP format. Для тех кто не в курсе - это Super Audio CD, изобретение Sony и Philips. Мало у кого поддержка таких битрейтов есть аппаратно. Конвертер DSD to PCM превращает 1-bit DSD в 64-bit PCM на 1/8 от sample rate. Общий объем данных от этого преобразования увеличивается в 8 раз, т.ч. конвертация не добавляет искажений. После того как получилось PCM, оно будет 64bit @ 352.8 kHz для DSD, или 64bit @ 705.6 kHz для DSD 2x.
- Настройки формата вывода
- кодировка - авто/обычная, Dolby Digital, DSD in DOP, 2DSD in DOP, 2DSD in native
- Channels & mixing. СУПЕР важная штука. Например, есть четыре колонки, а музыка 2-канальная. В режиме «clone side channels to rear speakers» оно просто склонирует музон с 1 и 2 канала на 3 и 4 канал (точнее, на channel_offset+3 и channel_offset+4). В режиме JRSS mixing оно попытается программно разрулить, на какой колонке что лучше играть, и в ASIO/realtime/kernel mode сделает это. Мне JRSS mixing нравится гораздо больше простого клонирования. Таким образом, можно реально комфортно слушать двухканальную музыку на четырех колонках.
- Sample rate - форсировать звуковуху играть на выбранном рейте, если он доступен, либо эмулировать если недоступен.
- Что делать с сабвуфером, если каналов вывода больше, чем каналов прогрывания (4-канальное проигрывается на 5.1). Варианты: играть тишину (но брать басы с DSP симуляции комнаты), перенаправлять все частоты на сабвуфер (рекомендуется со внешним аппаратным lowpass фильтром), виртуальный сабвуфер JRSS с регулируемой частотой lowpass).
- Левелинг: у всех файлов будет одинаковая громкость
- Адаптивная громкость: «сглаживание пиков громкости», «ночной режим», «режим усиления для маленьких динамиков»
- 11-полосный эквалайзер с возможностью сохранять пресеты
- Параметрический эквалайзер с кучей возможных сценариев (лимитер, хай-шелф, лоу-шелф, делей, итп). Точнее, два стоящих друг за другом параметрических эквалайзера - один до коррекции пространства и прочих эффектов, другой - после.
- Эффекты: среда (н-р «concert hall»), виртуальный сабвуфер (размер в дюймах), программные улучшения поля (степень «улучшений»)
- Улучшения для наушников (действительно работает!)
- Настройки tempo-pitch-rate (горизонтальные ползунки, можно тянуть и повышать темп, например)
- Коррекция пространства (настройки выбираются для каждого канала отдельно)
- Дистанция до девайса
- Уровень громкости
- Настройка баса: кроссовер (частота Hz, н-р 40 Hz для больших девайсов) + db/octave (12, 24), роутинг («убрать весь бас ниже кроссовера», «переместить бас на сабвуфер», «скопировать бас на сабвуфер») + db/octave (12, 24, 36, 48)
- Полярность (поменять полярность, если провода у девайса подключены наоборот, плюс перепутан с минусом)
- Настройки для точной калибровки: mute, solo, tone, можно взять настройки из регулятора децибелов.
- Convolution
- Файл, сделанный внешней утилитой специально для комбинации девайса и пространства (комнаты :-)
- Нормализация
- Автоматическое переключение фильтра в зависимости от входящих данных
- Красивый цветной частотный анализатор. (в риалтайме рисующий точный график по музыке, которая сейчас играет.) На практике нужен чтобы быстро на него глянуть и перенастраивать эквалайзеры под конкретный музон или перекинуть звук на другие девайсы.
- Битстриминг: HDMI, S/PDIF, DSD, Custom (настройка).
- Prebufferig (по умолчанию буфер 6 секунд)
- Перед запуском играть тишину для синхронизации с аудиокартой и прочим железом. Измеряется в количестве миллисекунд.
- Играть из RAM вместо жесткого диска
- Выключить выключение дисплея (нужно для HDMI audio)
- Настройки переключения треков
- Переключение с тишиной между треками (тишина в миллисекундах)
- Агрессивный кроссфейд (тоже мс)
- Мягкий кроссфейд (тоже мс)
- Затухание в тишину / из тишины (миллисекунды)
- Без промежутков между треками
- Перемещение вдоль трека
- Seek (standard, gapeless, smooth-fast, smooth-normal, smooth-slow)
- Stop (immediate, fadeout-fast, fadeout-normal, fadeout-slow)
- Pause (immediate, fadeout-fast, fadeout-normal, fadeout-slow)
- Длина перемотки вперед (в миллисекундах)
- Длина перемотки назад
- Можно определить два профиля этих настроек, и переключаться между ними по хоткею (Alt+M)
- Регулятор громкости
- Собственная громкость
- Привязка к системному регулятору громкости
- Максимальная громкость (0-100)
- Собственная громкость будет относиться к максимальной как (0-100)
- Volume Protection
- Loudness
- Что делать с ошибками при проигрывании (спрашивать в диалоговом окне, пробовать починить и пропустить, останавливаться)
- Максимальная задержка, которую пытается обеспечить плеер (по-умолчанию 50 мс)
Перемещено mono из talks