Хабрахабр

Как мы делаем корпоративное радио для своих

Решили протестировать, поставили первый сетап: в ящике лежал смартфон с плейлистом в AIMP, который подключался к трансляционному усилителю, а сам плейлист закачивался на карту памяти с компа. Когда-то нашему саунд-дизайнеру пришла идея крутить в офисном туалете музыку (прям как в барах). Треки всем зашли, и стали развивать идею до внутреннего радио. Костыли, но зато всё заработало моментально. Расскажу, какую статью на Хабре мы взяли за основу, что поменяли и бонусом покажу комикс — презент от коллег за музыку.

Но постоянно загружать музыку в телефон не хотелось и как-то на корпоративе мы с саунд-дизайнером Ильей Викторовым разговорились про вещание в интернете. Сначала телефон в ящике казался неплохим вариантом для концепта. Сошлись, что будет круто, если во всех туалетах компании от Белгорода до Лимассола будет играть одна и та же хорошая музыка.

Тем более плейлист очень зашел команде (в Слаке постоянно просили скинуть треки), а московский офис постепенно расширялся — появились новые этажи, столовые и пространства, которые хотелось «оживить».

Там @Teon_501 дает несколько полезных ссылок и рассказывает, как практично организовать вещание на связке из одного компа с LibreTime и второго — принимающего. Полез я на Хабр и наткнулся на статью «Организация музыкального сопровождения торгового зала». Если кратко, то его решение состоит из готовой сборки LibreTime, которая включает в себя web-админку с LiquidSoap, и с вещанием через IceCast. Плюс он настроил запуск рекламы по времени.

В результате составили список плюсов и минусов для нашей ситуации. Отличный вариант, мы попробовали сделать так же (но без рекламы) и довольно долго его использовали.

Плюсы:

  • Удобная и простая настройка.
  • Стабильность (у нас ничего не падало).
  • Есть страничка с онлайн-плеером и расписанием.

Минусы:

  • Встроенный модуль, который при автозагрузке треков сам высчитывает Fade in и Fade out, и делает это очень плохо. Многие треки обрезает до минуты.
  • Не обновляется.
  • Необходимость обязательно делать расписание вещания отдельно на каждый день.
  • Излишняя для нашей простой задачи функциональность.
  • Не устраивал встроенный перемешиватель музыки, треки часто повторялись.
  • Ограниченная длина плейлиста.

Мы же для себя собрали огромный плейлист, который хотели залить и рандомно проигрывать очень долгое время. Поэтому в следующей итерации всё упростили и заменили LibreTime на связку IceCast с MPD. На Хабре найдётся много статей, описывающих всё это (вдохновится можно здесь или здесь), а я приведу краткое описание настройки.

04: В качестве сервера вещания я выбрал Ubuntu Server 18.

Ставим Icecast и MPD

sudo apt install mpd icecast2

Потом правим конфиг MPD

sudo vi /etc/mpd.conf

И приводим его к такому виду (по факту это конфиг по умолчанию с отредактированными настройками выходного устройства и буфера)

0. music_directory "/var/lib/mpd/music"
playlist_directory "/var/lib/mpd/playlists"
db_file "/var/lib/mpd/tag_cache"
log_file "/var/log/mpd/mpd.log"
pid_file "/run/mpd/pid"
state_file "/var/lib/mpd/state"
sticker_file "/var/lib/mpd/sticker.sql"
user "mpd"
bind_to_address "0. 0"
port "6600"
log_level "default"
metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
auto_update "yes"
auto_update_depth "3"
default_permissions "read,add,control,admin"
audio_output

replaygain "auto"
replaygain_preamp "0"
replaygain_missing_preamp "0"
replaygain_limit "yes"
volume_normalization "no"
filesystem_charset "UTF-8"
audio_buffer_size "2048"
buffer_before_play "50%"

0.

Заливаем файлы, включаем как службу и перезапускаем mpd

systemctl enabled mpd
systemctl restart mpd && systemctl status mpd

Конфиг IceCast из коробки рабочий, но я всё же советую поменять хотя бы пароль в файле /etc/icecast2/icecast.xml (по умолчанию это hackme).

Мне нравится ncmpc, но можно выбрать другой по душе. На данном этапе настройка завершена, теперь можете подключиться любимым плеером к серверу mpd и запустить треки. Там же есть веб-клиенты, чтобы управлять плейлистом через браузер, но наш плейлист не меняется так часто.

Теперь на your_server:8000/_a можно прослушать свою трансляцию, но лучше, конечно, вставить ссылку в VLC.

Например, сделать главную страницу. Хотя планов еще много, это тот случай, когда надо делать проще. Сейчас мы просто отдаём поток для клиентов, который можно слушать через VLC.

To-Do List:

  • сделать, чтобы сотрудники могли сами предлагать треки прямо в вебе;
  • и голосовать за следующую композицию.

За звук у нас отвечает Илья, которому изначально и пришла идея. Сейчас в плейлисте около тысячи треков, плюс специально сделанные для такого случая джинглы.

Хотелось, чтобы она всем нравилась, и тут помог большой опыт составления плейлистов для мероприятий. Музыка, в основном, подбиралась фоновая. Плюс отдельные плейлисты для рождественских праздников, дня святого Валентина, Хеллоуина, дня рождения War Robots и других событий. Преимущественно это легкий liquid funk, chillwave, deep house, dub techno, немного эмбиента, типа Carbon Based Lifeforms, качественный электронный поп, типа Royksopp или Ladytron, немного инди-рока и несколько пасхалок из игр, вроде Fallout.

S. P. Когда все заработало, ребята из других отделов — Егор Гафидов, Даша Карякина, Анастасия Колчина и Софья Соломонова — сделали нам крутой подарок в виде комикса: Приятное лично для нас, захотелось поделиться.

ПРОДОЛЖЕНИЕ

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть