Clementine был создан в 2010 году как форк от Amarok 1.4. И на сегодня является одним и самых популярных аудиоплееров для Linux. По сравнению с Amarok 1.4 функциональность пополнена некоторыми расширениями, а код был переписан с библиотек Qt3 и kdelibs на библиотеку Qt4, соответственно Clementine не требует для своей работы библиотек KDE. За последние семь лет плеер оброс полезным функционалом, при этом не утратил в своём внешнем виде шарма KDE 3.
Как и многие другие аудиоплееры Clementine имеет настройки, позволяющие указать устройство вывода звука, которые не работают как надо уже несколько лет. Если ненависть к PulseAudio вынудила вас использовать что-то другое (ALSA в моём случае), то Clementine настойчиво сбрасывает настройки на «автоматический выбор», что подразумевает безальтернативное использование PulseAudio даже в том случае, если PulseAudio в системе нет вообще. А если PulseAudio всё же присутствует, но не запущен, то Clementine даже ошибок не будет выдавать; он будет воспроизводить треки без звука.
Мои отношения с PulseAudio всегда сопровождались плясками с бубном и нецензурной лексикой. Независимо от железа и используемого дистрибутива. По умолчанию PulseAudio имеет конфигурацию, которая позволяет серверу работать на тостере. Но стремления разработчиков обеспечить совместимость с железом образца 90-х годов делают бессмысленными покупку многоканальных устройств и треков в высоком качестве. Если всё равно звук как из ведра, то не важно какой мощности ваш сабвуфер. С практически тем же результатом можно использовать колонки за 5 долларов. И чем больше манипуляций с конфигурационными файлами PulseAudio — тем больше шансов к кастрюльному звуку добавить ещё и скрежет с залипаниями.
И так, как же решить проблему с Clementine? Сердце успокоилось использованием ALSA. Но то ли прикрученный общесистемный эквалайзер, то ли тенденции в среде разработчиков с навязыванием ПО не позволяют Clementine работать с ALSA, хотя видимых причин для этого нет.
Нужно подправить конфигурационный файл Clementine. Это «Clementine.conf» по адресу «~/.config/Clementine/». Ищем строку «[GstEngine]» и правим две следующих. В итоге должно выглядить примерно так:
Замените « 0,0» на своё значение.
«hw:0,0» - это устройство с его номерами устройства и подустройства. Выполните команду «aplay -l» для вывода всего перечня звуковых устройств в системе. В моём случае это device 0 и subdevice 0 (ALC887-VD Analog).
В Clementine.conf» это скорее всего выглядит так:
Что и является причиной тишины. С «sink=autoaudiosink» всё понятно — это результат сброса на настройки по умолчанию. Но почему работающее и активное устройство обозначено как убитое, для меня тайна.
Стоит учесть, что при изменениях любых настроек Clementine во вкладке «preferences», файл будет перезаписываться. Поэтому сначала следует настроить всё, что нужно и только потом внести изменения в «Clementine.conf», имея этот факт ввиду. Для верности можно запретить перезапись этого файла, сделав его «только для чтения».
Возможно подобная «автоматика» в Clementine - проблема только тех дистрибутивов, где PulseAudio является сервером по умолчанию и где (как в Ubuntu и производных) из-за зависимостей невозможно вычистить PulseAudio полностью, не оставив и следа. Так или иначе, но «костыль» работает.
Как и многие другие аудиоплееры Clementine имеет настройки, позволяющие указать устройство вывода звука, которые не работают как надо уже несколько лет. Если ненависть к PulseAudio вынудила вас использовать что-то другое (ALSA в моём случае), то Clementine настойчиво сбрасывает настройки на «автоматический выбор», что подразумевает безальтернативное использование PulseAudio даже в том случае, если PulseAudio в системе нет вообще. А если PulseAudio всё же присутствует, но не запущен, то Clementine даже ошибок не будет выдавать; он будет воспроизводить треки без звука.
Мои отношения с PulseAudio всегда сопровождались плясками с бубном и нецензурной лексикой. Независимо от железа и используемого дистрибутива. По умолчанию PulseAudio имеет конфигурацию, которая позволяет серверу работать на тостере. Но стремления разработчиков обеспечить совместимость с железом образца 90-х годов делают бессмысленными покупку многоканальных устройств и треков в высоком качестве. Если всё равно звук как из ведра, то не важно какой мощности ваш сабвуфер. С практически тем же результатом можно использовать колонки за 5 долларов. И чем больше манипуляций с конфигурационными файлами PulseAudio — тем больше шансов к кастрюльному звуку добавить ещё и скрежет с залипаниями.
И так, как же решить проблему с Clementine? Сердце успокоилось использованием ALSA. Но то ли прикрученный общесистемный эквалайзер, то ли тенденции в среде разработчиков с навязыванием ПО не позволяют Clementine работать с ALSA, хотя видимых причин для этого нет.
Нужно подправить конфигурационный файл Clementine. Это «Clementine.conf» по адресу «~/.config/Clementine/». Ищем строку «[GstEngine]» и правим две следующих. В итоге должно выглядить примерно так:
[GstEngine]
sink=alsasink
device="hw:0,0"
Замените « 0,0» на своё значение.
«hw:0,0» - это устройство с его номерами устройства и подустройства. Выполните команду «aplay -l» для вывода всего перечня звуковых устройств в системе. В моём случае это device 0 и subdevice 0 (ALC887-VD Analog).
~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: ALC887-VD Analog [ALC887-VD Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: SB [HDA ATI SB], device 1: ALC887-VD Digital [ALC887-VD Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
................
В Clementine.conf» это скорее всего выглядит так:
[GstEngine]
sink=autoaudiosink
device=@Invalid()
Что и является причиной тишины. С «sink=autoaudiosink» всё понятно — это результат сброса на настройки по умолчанию. Но почему работающее и активное устройство обозначено как убитое, для меня тайна.
Стоит учесть, что при изменениях любых настроек Clementine во вкладке «preferences», файл будет перезаписываться. Поэтому сначала следует настроить всё, что нужно и только потом внести изменения в «Clementine.conf», имея этот факт ввиду. Для верности можно запретить перезапись этого файла, сделав его «только для чтения».
Возможно подобная «автоматика» в Clementine - проблема только тех дистрибутивов, где PulseAudio является сервером по умолчанию и где (как в Ubuntu и производных) из-за зависимостей невозможно вычистить PulseAudio полностью, не оставив и следа. Так или иначе, но «костыль» работает.
___
Tatyana K.
Tatyana K.