Как мы сделали радио, и почему нам хочется летать



    Уже седьмой год мы делаем проект, без ярких взлетов и падений. Этот проект — интернет радио. Нас часто спрашивают, зачем мы это делаем, для кого, и почему так долго, если о нас никто не знает — это побудило меня написать эту статью.

    Как все начиналось.

    Я люблю музыку. В институте я рубил в никому не известной тяжелой группе на электрогитаре, потом несколько лет писал музыку на трекерах, а после трекеров, стал диджеем, больше известным среди друзей, чем где либо еще. На гитарах мы играли музыку собственного сочинения, без вокалиста, а на трекерах я писал в неопределенном электронном стиле, говоря всем, что придумал свой собственный. С диджейством было попроще — минимал, idm, ничего придумывать не пришлось.

    Мой друг тоже любит музыку. Настолько, что почти всю сознательную жизнь проработал администратором в ночных клубах. Это давало ему большие возможности для общения с самыми разными музыкантами. Он отлично разбирается в музыке, во всех направлениях, прочитал много книжек, и вообще — очень хорошо подкован (в отличие от меня). Он знает многих музыкантов, которых никто не знает.

    Мы познакомились давным давно, на просторах не самой популярной FTN сети. Познакомились и подружились, несмотря на то, что жили в разных городах. Как то раз, мы беседовали о том, что в России живет много непопулярных музыкантов, которые пишут в стол, которые жутко талантливы, но про которых никто ничего не знает. Это было первым кирпичиком, который лег в фундамент нашего проекта.

    Мысли о радио пришли мне в тот момент, когда я играл в лесу на open air’е. Это было на берегу ночного озера — я вдруг увидел людей, которые хотят слушать музыку и после того, как у меня закончатся силы ее ставить. Как выяснилось, мой друг к тому моменту уже давно бредил идеей собственного радио, временами наведываясь на местную FM радиостанцию с собственной программой. Он сразу поддержал эту идею, тем более, что к тому моменту он уже открыл сетевой музыкальный лебл, и активно общался с музыкантами, музыку которых можно было бы поставить в эфир.

    Так как я работал сетевым инженером, и хорошо знал что такое Cisco, FreeBSD, и вообще как устроен Интернет, я сразу же поднял shoutcast сервер, создал первый плейлист из любимых треков, и попросил своего будущего коллегу помочь с музыкой.

    Так родилось радио verdure station, в основу которого легла нехитрая философия:

    • Очень часто мы слушаем музыкантов, друзей и знакомых, которых никто не слушает. Мы с большой радостью делимся этой музыкой.
    • Мы не нашли в сети ни одной радиостанции, которую мы бы могли включить в “тот самый момент”. У всех этот момент свой собственный — кто-то под нас пишет код, кто-то готовится ко сну, а кто-то сидит и смотрит в окно. Мы стараемся готовить тот спасительный напиток комфорта и спокойствия, который всегда стоит и ждет, когда его возьмут с полки.


    Что было дальше.



    Когда к нам пришли первые слушатели, нам захотелось новых измерений, и мы стали выходить в прямой эфир — я иногда сводил музыку из дома, а друг приглашал своих приятелей поиграть у него. Потом я познакомился с одним из создателей пиратской станции в подмосковье, и мы работали какое-то время в FM диапазоне, естественно, нелегально.

    Следующий член команды присоединился, когда нам пришла в голову идея делать регулярные передачи с микрофонами. Нам так понравилась эта идея, что мы купили отдельный пульт и микрофоны, а друзья привозили свои старые наушники. Мы выходили в эфир 25 раз, принимали звонки, общались, спорили, ругались — это была наша любимая программа Logia. У нас в гостях побывали все наши друзья, это было очень здорово, и может быть мы когда нибудь начнем делать это снова.

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

    Например, мы просим всех, у кого есть возможность, записать в другой стране “Вы слушаете такое-то радио” на местном языке, после чего, один наш гениальный соратник (которого никто не видел) делает замечательные джинглы.

    Несколько месяцев назад мы отпраздновали шестилетие, и идем дальше.

    Однако, не смотря на шестилетнюю историю, количество одновременных слушателей невелико, 10-40 человек. Но это нас совершенно не смущает — многие из наших слушателей с нами в течении несколькоих лет, и нам не важно, сколько их. Мы не рассчитываем на то, что когда нибудь мы проснемся знаменитыми, и о нас заговорят. Мы делаем радио, которое слушаем сами, и если его слушает кто-то еще, это верх того, на что мы могли бы рассчитывать.

    Может быть это еще и потому, что это почти домашний проект, и мы занимаемся этим непрофессионально. Однажды, прямо перед прямым эфиром, я спустился за другом, чтобы помочь ему занести две вертушки, и за мной захлопнулась дверь. Это было вечером 30 декабря :) Два часа мы сидели с вертушками на лестничной клетке и ждали слесаря, а соседи поздравляли нас с наступающим. Естественно, что почти все те, кто специально собрался ради этого эфира, не осилили двухчасового ожидания. На другой домашней студии, менее отзывчивые соседи просто выключили электрощиток во время выступления — наверное им не нравился вибрирующий бас.

    Немного технических деталей.



    У нас работает внутренний и внешний shoutcast серверы, два стримера, и система управления плейлистами. Когда мы заливаем новый файл на сервер, он добавляется в базу данных треков, после чего его можно включать в один из суточных плейлистов. Всего у нас существует 7 плейлистов, на каждый день недели — это позволяет аккуратно и без спешки обновлять музыку, и формировать контент в зависимости от дня недели. После того как очередной плейлист составлен и “сошелся” (его длина ровно сутки) он выливается файлом pls на сервер. Раз в сутки, первый стример цепляет этот плейлист и начинает стримить его на внутренний сервер. Это простейший стример на Perl’е, он ничего не перекодирует, только льет поток, и главное его достоинство в том, что он может переключаться на новый плейлист, не обрывая трансляции. Таким образом мы имеем внутренний сервер, на котором постоянно крутится недельное расписание. Но цеплять туда пользователей было бы безответственно, так как при любом переключении потока (например при включении диджея, или любой online трансляции) пользователи бы отключались от стрима. Поэтому более сложный стример берет поток с внутреннего сервера, перекодирует его до нужного качества, и льет на внешний сервер, откуда его уже разбирают пользователи. Этот второй стример может принимать соединение от диджея, и возвращаться обратно к трансляции потока с внутреннего сервера, так же не обрывая вещания. Не очень изящно, но работает вполне стабильно. Можем быть, когда нибудь, мы перестроим все на icecast и серьезно упростим схему. Я знаю, что в 21-м веке и в icecast’е и в shoutcast’е есть заявленые возможности переключения стримов на лету, но на практике мы постоянно испытывали с этим проблемы.

    Я не дизайнер и не программист (вообще-то я сетевой инженер), поэтому дизайн и верстка сайта далеки от того, что мы бы хотели видеть в идеале. Движок вяло пишется на php, а сайт все еще верстается в vi. Интерфейс тоже не блещет интуитивностью — обо всех возможностях сайта наши пользователи узнают далеко не сразу, а когда у них появляется интерес покликать все, что они еще не покликали. Нам нравится думать, что это наша особенность — радио поворачивается лицом постепенно. Некоторые даже не могут запустить трансляцию, и мы терпеливо отвечаем “жмите на природу”. Природа, кстати, обновляется каждый месяц, вслед за временами года. Это оказалось очень непростым действием для интернет проекта — оторвать физическую задницу, и раз в месяц отправиться в лес с фотоаппаратом.

    Вместо заключения.



    Мы научились распределять обязанности внутри нашего микроколлектива, и подменяем друг друга в трудные времена — радио не может ждать, оно должно жить и дышать всегда. Не смотря на почти полностью русскоязычный чат, нас слушают из таких уголков планеты, что приходится открывать карту, чтобы понять, где это. Прямые включения у нас очень редкие, и отвыкшие от голоса в эфире слушатели, всегда удивляются тому, что тут кто-то есть. Один из неудавшихся пунктов стратегии — предоставить площадку для выступления всем талантливым музыкантам и диджеям. Крохотный размер аудитории отсекает тех, кому нужна настоящая популярность, но мы рады, что нашим приглашением воспользовались несколько интереснейших коллективов.

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

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

    Ну. И что?
    Реклама
    Комментарии 48
    • –36
      Как все убого. Добро пожаловать в первый класс.
      • +4
        Интересно ваше видение, в основных тезисах, если не трудно.
        • +6
          это просто тролль, забейте на него
          • 0
            А, а-то я хотел спросить какое MercuryShine имеет радио взамен, но Ваш комментарий все расставил по местам)
      • +5
        Спасибо, добавил в закладки, думаю буду слушать на работе,
        то что на данный момент слышал у вас, подходит под мои предпочтения для кодинга :)
        Надеюсь не будет проблем с хабраэффектом, успехов!
        • +2
          Спасибо! Слушать на работе, это самое оно :)

          Хабраэффект мы скорее всего провалим, ибо shoutcast, трафик, и все такое :)
          • +1
            Почему не IceCast?
            • 0
              Сложно сказать. Так сложилось исторически, но переезд на icecast в планах, как минимум мы на нем гоняли aac+ на низком битрейте для мобильных слушателей — логичнее для этого было бы держать один сервер.
              • 0
                Переход не должен быть болезненным. А в качестве генератора источника что используете?
                • 0
                  Не совсем понял, что такое генератор источника?
                  • 0
                    То, что отдаёт звуковой поток на ShoutCast/IceCast
                    • 0
                      Еще раз повторюсь:

                      1. Непрерывный поток формирует внутренний shoutcast (ему переключает 7 суточных плейлистов отдельный стример).
                      2. Затем другой стример обрезает поток до 192Kbps и льет на внешний шауткас, откуда потк разбирают люди.

                      Источник в нашем случае — это 7 суточных .pls файлов, которые мы формируем из админки радио. Эти pls подбирает внутренний стример, и льет на внутренний шауткаст.
                      • +1
                        Вот меня и интересует название стримера. Или он самописный? Просто какая-то технология многозвенная очень. Вроде можно было бы обойтись каким-нибудь Liquidsoap->IceCast, который будет подбирать ваши плейлисты с помощью playlist(reload_mode=«watch»).
                        • 0
                          У нас перехаченый streamcast.pl, не уверен что его где-то можно найти, ведь нам уже скоро 7 лет.

                          Liquidsoap отличная вещь, и мы планируем на него переходить. Вся эта история скорее была про то зачем мы это делаем, и почему, нежели как. Наше «как» давно устарело, но так как оно сейчас работает именно так, я описал текущую схему.
                          • +1
                            В таком случае успехов в обновлении технической стороны системы и увеличения количества слушателей :)
        • +1
          Посадил ваш красивый листочек на панель закладок.
          • +2
            Сделайте кнопку Play в 30 раз больше? Сейчас ее надо искать.

            Еще хорошо бы добавить инструкцию:
            iTunes > ⌘U > http://air.verdure.net:8881/listen.pls
            • +1
              Дочитал пост.
              > Нам нравится думать, что это наша особенность — радио поворачивается лицом постепенно. Некоторые даже не могут запустить трансляцию, и мы терпеливо отвечаем “жмите на природу”.

              Это конечно красиво, но чем проще будет начать, тем раньше включится музыка и тем больше и популярней проект будет, что, по-моему, совсем не плохо.
              • 0
                Спасибо, мы думам как сделать большую кнопку, и не сломать то что есть.
            • 0
              Молодцы ребета, еще ближе к своей мечте!
              • +1
                По софтовой части раскажите? Ну кроме айскаста. Про админку, или у вас самописное?
                • 0
                  Самописное, но вы спрашивайте, расскажем.
                  • +1
                    Генерация плейлистов интересует и на чем крутится? На сервере или клиенте? Руками или автоматом все?
                    • 0
                      Генерация на сервере. Если кратко — файлы заливаются по ftp, потом их видно на web морде, в виде большого списка, которые тегированы по разным папкам — стили, годы, у нас своя система тегирования треков.

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

                      Процесс этот творческий, поэтому автоматом генерировать плейлист это как-то не по нашински.
                • +1
                  Регулярно слушаю радио за работой, verdure в топ3 вместе с RadioParadise и ah.fm. Спасибо вам!
                  • 0
                    Где взять ссылку для добавления вашей станции в проигрыватель (Amarok под Линуксом, на всякий случай)?
                    • 0
                      Справа внизу, в подвале сайта, есть ссылка на стрим.
                    • 0
                      Нашел вас на vtuner, фильтруя станции по битрейту и направлению.
                      Теперь в букмарках на домашнем ресивере, уже больше года или двух.
                      Правда в какой-то момент перестал слушать. Но не помню почему(?) — то-ли битрейт уронили, то-ли стали оффлайн непозволительно долго…
                      Вопчем 320kbps и онлайн — хорошо, а < 192kbps и оффлайн — плохо )
                      • 0
                        Работаем в 192Kbps, в оффлайн вроде не падаем :) Ну за 6 с лишним лет, пару раз, на время переездов.
                        • 0
                          А не планируете повысить битрейт? На vtuner достаточно много станций с 320к
                          Вот прям во всем ваше радио для меня идеально. Но как только играет что-нибудь посложнее психоделики и минимала, я на своей совсем недешевой акустике реально очучаю срезанный динамический диапазон (

                          • 0
                            Много ли среди них некоммерческих радиостанций, без рекламы и баннеров?

                            Мы не то чтобы планируем это «завтра», а будем повышать битрейт по мере обновления исходного материала. Как минимум размышляем об отдельном aac+ потоке для внешних плееров.
                            • 0
                              Ну, у меня как раз внешний «плеер»-ресивер yamaha rx v-671, список станций с vtuner берёт.
                              Ну вот седня слушал chillout zone вроде. 320к, 2 часа прослушки — рекламы не звучало…

                              Но ваш репертуар мне более по-душе, и оч хотелось бы левел-ап битрейта )

                              А исходники у вас в чем лежат?

                              aac+

                              Было бы шикарно ) Ток на vtuner запулите его плз )
                      • +1
                        Правообладатели музыки взялись за кафе
                        Одно из шосткинских кафе посетили с проверкой сотрудники сектора госслужбы по борьбе с экономическими преступлениями.
                        Как выяснилось, правообладатель заявил о нарушении авторских прав.
                        Якобы, без лицензии в кафе воспроизводится его музыка.

                        Правоохранители утверждают, что привлечение к ответственности за незаконное воспроизведение музыки в кафе в нашей стране раньше не было распространено.
                        Сейчас же «входит в моду»: количество заявлений о незаконном воспроизведении музыки увеличивается.
                        shostkaonline.com/news/262/

                        На этом фоне вы можете позиционировать себя как транслирующие «свободную» музыку и пользоваться популярностью в этом секторе (если это так).
                        • 0
                          > На этом фоне вы можете позиционировать себя как транслирующие «свободную» музыку и пользоваться популярностью в этом секторе (если это так).

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

                          Сложность в том, чтобы нам найти их, а им найти нас. В остальном никаких проблем нет.
                        • +2
                          Так больше похоже на процесс проигрывания:

                          [ image_image ]

                          ато я по началу ждал чего тут щас ещё должно загрузиться :)
                          • 0
                            Это для тех, кто застал касеты :)
                            Впрочем, текущая релизация на сайте больше похожа на лоадер загрузки приложения на смартфоне )
                            • 0
                              Это исторический элемент, за несколько лет он уже превратился в икону. Пытались выпилить и заменить чем нибудь симпатичным на css3, но испугались :)
                              • 0
                                Это для тех, кто застал касеты
                                И кто знает зачем это
                                image
                            • +1
                              Етить твою налево! Шикарная психоделика!
                              Однозначно в избранное!
                              • +1
                                Спасибо, ребята, за ваш труд! Давно слушаю.
                                • 0
                                  Спасибо что слушаете, мы этим питаемся :)
                                • 0
                                  Спасибо за статью! Интересно было прочесть! Расскажите вкратце как реализовывали пиратское радио?:)
                                  • 0
                                    Не уверен, что это в правовом поле :)
                                • +2
                                  Привет коллеги по радио -). Вы молодцы! Но в комментариях к подобной статье просто не могу не упомянуть про Liquidsoap. Очень мощная штука. С ее помощью можно создать архитектуру сложного радио (переходы, рекламные моменты с dtmf-метками, войсоверы, джинглы, динамичное управление плейлистами, таймингом, битрейтом, работой с метаданными, гибкое сохранение истории, мониторинг уровня сигнала в децибелах или тишины с последующим вызовом внешних скриптов-оповещалок, идеальное кодирование на лету в кучу разных форматов и битрейтов, кучи разных инпутов, выходов лайвов, автопроговаривания). Описанное — лишь малый список того, что есть «при первом взгляде». Определенную часть из описанного мы используем, с радостью поделюсь опытом (а опыт в 133 потоков разных радио разных форматов и битрейтов + icecast, стабильно держащий avg 4 Гб/с) поднятия и настройки этого чуда). Тема феерично интересная, завораживает и заставляет гордиться)
                                  • 0
                                    Привет! Спасибо за напоминание, давно на него смотрим. У нас конечно не такие объемы, но функционал действительно потрясающий. Надеюсь в скором времени соберем новую схему.
                                  • 0
                                    Спасибо, слушаю вас уже около месяца — просто забыл о другом радио. То что нужно.
                                    • 0
                                      Запоздалое спасибо!

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

                                    Самое читаемое