Pseudo-streamng mp3-файлов с помощью Node.js

Речь пойдет о проигрывании mp3-файлов в браузере.

Допустим, лежит у вас в сети mp3-файл, и вы хотите, чтобы с помощью параметра можно было запустить его с любого момента:

http://www.example.com/song.mp3?start=15

У читателя могут возникнуть два вопроса: зачем это вообще нужно и как это реализовать. Отвечу по порядку.

Зачем это вообще нужно?

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

Хорошие HTML5-браузеры умеют делать seek с помощью Range-запросов. А вот Flash не умеет, но его приходится использовать до сих пор, потому что не всякий браузер поддерживает mp3. И даже те браузеры, которые поддерживают, имеют вопиющие баги. Чего стоит обнаруженный мной на этой неделе разлом в Chrome 33.

Читать далее ▸

Shadow Of Your Smile

На днях разродился еще одной гитарной аранжировкой:

Ну и ноты-табы, как обычно, в комплекте.

Все, что было

Недавно, листая «Избранное» на YouTube, еще раз посмотрел вот этот фрагмент из сериала Ликвидация, в котором звучит романс «Все, что было».

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

Кроме того, я подготовил таблатуру, которую можно скачать прямо тут в разных вариантах:

Несколько слов о песне. Ей в буквальном смысле сто лет. Автор стихов Павел Герман, музыка Дмитрий Покрасс.

Для интересующихся привожу текст и аккорды (в интернете их почему-то невозможно найти):

       Am                    Dm
Всё равно года проходят чередою,
     G7                    C
И становится короче жизни путь,
     A7                        Dm
Не пора ли мне с измученной душою
     H7                     E7
На минуточку прилечь и отдохнуть.

Am               Dm
    Всё, что было, всё, что ныло, -
E7♭9              Am♯5 Am
    Всё давным-давно уплыло,
A7     Edim   Dm 
    Утомились лаской губы,
H7      F♯dim E7
    И натешилась душа!

    Всё, что пело, всё, что млело, -
    Всё давным-давно истлело,
    Только ты, моя гитара,
H7          E7         Am
    Прежним звоном хороша.

Kinds of House

А это микс, который я свел в прошлом месяце. Как следует из названия, в нем представлены различные ответвления хорошей хаус-музыки (Deep House, Club House, Tech House, Dub House, еще-какой-нибудь House).

(скачать)

Треки очень разные и с разными темпами, поэтому я их упорядочил в порядке возрастания BPM, а ускорение с 119 до 127 постарался сделать плавным и незаметным.

Треклист:

  1. Bondax — Gold (Moon Boots Remix)
  2. Miguel Migs — Create A Mood
  3. Kres — She’s Got Everything
  4. Romantic Couch — Delux (Little Big Bee Remix)
  5. Mario Ochoa — In The Rain
  6. David Penn, Studio Apartment, Rae — Your Words feat. Rae (David Penn Urbana Dub)
  7. Muzzaik — Work It feat. Zaida (David Penn Remix)
  8. Jesse Garcia, David Penn, Corey Andrew — Stormy Weather (David Penn Dub)

Все исходные материалы на этот раз были честно куплены (в основном на Beatport).

Переезд на DigitalOcean

С октября 2010 года этот сайт хостился у провайдера 1Gb.ru на дохленьком VPS. Хостинг был дешевый, падучий, но кое-как работал, и благодаря ему я узнал для себя очень много нового и полезного (в том числе, какая гадость Gentoo Linux).

Со временем блог стали посещать до 80 людей в сутки. Еще я завел проект fmcafe, который приобрел свою аудиторию, и согласно Google-аналитике на сайте практически всегда кто-то есть.

Захотелось уже иметь достойный uptime. Да и жуткие лаги при работе через ssh вместе с тормозами WordPress-консоли при написании постов достали. Словом я принял решение переезжать к другому хостеру.

Выбор пал на DigitalOcean, о котором я услышал в подкасте Radio-T как об убийце всех поставщиков облачных услуг. Вот уже несколько дней сайт живет в Нью-Йорке, и пока что мне все нравится…

Чем так хорош DigitalOcean?

  • Полноценная виртуализация (KVM), не OpenVZ
  • SSD-диски на всех тарифах
  • Почасовая оплата (можно дешево экспериментировать)
  • Создание снапшотов (то есть легкое клонирование и удобный backup)
  • 99.99% SLA с компенсацией недоступности
  • Дешевые цены!

Из недостатков могу отметить недоступность младших тарифов в европейском дата-центре (из-за исчерпания IPv4-адресов), и вытекающий отсюда большой пинг до дата-центров в США (150-180 ms).

15 мая они докупили IP-адресов, и вновь стали доступны младшие тарифы в голландском дата-центре. Узнав об этом, я без каких-либо проблем переместил свой сервер из Нью-Йорка в Амстердам.

Переводите ваши сервера на DigitalOcean прямо сейчас!