Перейти к содержимому

Как сделать пластинку в телеграмме

  • автор:

Как сделать виниловые пластинки?

Для создания пластинки с саундтреком из мультфильма, я использовала бот Винилизатор @VinylizeBot.

Есть бесплатная версия и платная.

В бесплатную включён весь необходимый функционал. Давайте подробно его разберём.

После запуска (отправить в бот /start) вам необходимо прислать аудиодорожку.
Это может быть голосовое сообщение, или песня. Песни ищу и бесплатно скачиваю с помощью бота @vkmusic_bot.

Далее бот предложит выбор: быстрая запись или настроить вручную.

Настроить вручную

Рассмотрим настройки ручной записи.
1️⃣ Выбор оформления обложки, есть 3 варианта (третий в виде диска доступен в платной подписке)

2️⃣ Выбор изображения обложки (третий вариант также доступен по платной подписке. Мне не понравилось, как генерирует изображение ИИ в этом боте).

Поэтому я всегда использую собственные картинки (в том числе и от нейронки, но с собственным промтом*)

*Промт — текстовое описание для создание картинки искусственным интеллектом.

Отправляйте изображение, через «скрепку» (��), также как вы отправляете обычные фотки.

3️⃣ Далее бот спрашивает, нужен ли виниловый шум. Тут, что называется — по желанию.

4️⃣ В платной подписке можно сделать плавное увеличение громкости в начале и уменьшение в конце.
В бесплатной эти функции не доступны, поэтому выбираем «сохранить и продолжить»
5️⃣ Выбираем скорость вращения. Рекомендую 8RPM, а вот так выглядит 78RPM.

6️⃣ Если аудиодорожка длиннее одной минуты, у вас будет возможность выбрать с какого места будет начинаться.
В бесплатной версии кратно 15 секунд. В платной можно выбрать свой промежуток (например, 00:03 — 01:03)

✨ Вуаля, ваша пластинка готова.

Кстати, ещё одна плюшка платной подписки, что пересылка в ваш бот будет без пометки «переслано от Винилиз. «

Что ещё есть в платной подписке?

  • Записывать CD-диски;
  • Записывать пластинки дольше минуты;
  • Присылать аудио через ссылку на YouTube‑видео;
  • Добавлять плавное затухание в начале и в конце трека;
  • Вручную выбирать длительность пластинки через таймкод;
  • Разделять длинные треки на отдельные пластинки.

Быстрая запись.

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

Увидел в ТГ видеокружок — винил-пластинку с аудио, и захотел также. И сделал своего бота

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

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

Второй кочкой, на которой споткнулся полет моей идеи, стала сама механика видеокружочков. Юзер не может загрузить их с устройства — только записать.. Тут я вспомнил что разрабатываю ботов на Python, и в сущностях сообщений явно видел поле VideoNote — видеокружок. И стало ясно что загружать их из галереи нельзя только в реализации приложения — само API телеграмма естественно не против.

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

Поехали

Начинаем с центральной функции — монтажа и рендера.

  • Входные данные — картинка и аудио файл.
  • На выходе нужно mp4 видео с вращающейся картинкой под музыку.

Сразу как то интуитивно было, что вращение проще оформить на этапе подготовки картинки. Использовать самый банальный инструмент, встроенный в Python — PIL Image, создать раскадровку будущего видео и сохранить на диске.

Делаем цикл, оставляем на перспективу множитель скорости(им также можно менять направление вращения знаком +-), поворачиваем картинку на шаг*скорость, и сохраняем в массив кадров

def rotate_set(f_imgpath, f_speed,f_id): f_step = int(360 / f_speed) f_res = [] # умножаем на минус потому что интуитивнее когда плюс крутит по часовой f_speed = -f_speed f_img = Image.open(f_imgpath) for i in range(0, f_step): q_img = f_img.rotate(i * f_speed) f_res.append(q_img) return f_res

Сразу скажу, получится урод. Надо сначала сделать из картинки квадрат: считаем точки краев картинки и получаем новую

def crop_img(f_imgpath): img = Image.open(f_imgpath) f_size = min(img.size) f_crop_size = (max(img.size)) f_dif = int((f_crop_size — f_size) / 2) if img.height >= img.width: f_crop_img = img.crop((0,f_dif,img.width,img.height — f_dif)) else: f_crop_img = img.crop((f_dif, 0, img.width — f_dif,img.height)) return f_crop_img

Готовый набор картинок собираем в контейнер видео-либы, накладываем аудио и го рендерить на старом офисном ноуте это дело адски долгое.

def spin_imag(f_len=59, f_speed=2, f_img=’low.jpg’): j = 0 clips = [] f_img_obj = crop_img(f_img) f_frames = rotate_set(f_img_obj, f_speed) for i in range(0, f_len * 24): # тут гоняем массив кадров полного вращения f_frames # пока не получим массив на всю длинну видео f_len * 24 clips.append(ImageSequenceClip(f_frames[j])) j += 1 if j >= len(f_frames): j = 0 result_clip = concatenate_videoclips(clips, method=»compose») audio_clip = AudioFileClip(f_audio) result_clip.audio = new_audioclip f_result_file = f’.mp4′ result_clip.write_videofile(f_result_file, fps=24, ) return f_result_file

Сразу тестим на VPS с убунтой и 300mb ОЗУ: Процесс убивается еще на закручивании картинок

Оптимизируем

Ладно, если не торопиться, то во первых надо делать входные картинки одного небольшого размера, всё-таки в кружочке нет приоритета на ХайРес, а видео рендерится по размеру большего из слоев. Заодно внимательнее следим за закрытием ненужных файлов/потоков

def crop_img(f_imgpath): . else: f_crop_img = img.crop((f_dif, 0, img.width — f_dif, img.height)) f_crop_img = f_crop_img.resize((s_img_size, s_img_size)) img.close() return f_crop_img

Из любопытства глядим на нагрузку системы

Бедная озу, где то я не там свернул.

Немного вчитавшись в доки находим метод как раз для склейки картинок кадров в клип, в который надо только отправить адреса файлов, а он сам их по умному загрузит и склеит.

# сохраняем каждый кадр в файл, возвращаем путь к файлу def rotate(f_img,f_angle,f_result_path): f_res_path = f_result_path rotate_img = f_img.rotate(f_angle) rotate_img.save(f_result_path) return f_res_path def rotate_set(f_img, f_speed, f_id): . for i in range(0, f_step): q_img = rotate(f_img, i * f_speed, f’_rotate.jpg’) f_res.append(q_img) return f_res def spin_image(f_id=0, f_len=59, f_speed=2, f_img=’low.jpg’): . # теперь здесь мы получаем массив адресов файлов f_frames = rotate_set(f_img_obj, f_speed, f_id) f_img_obj.close() for i in range(0, f_len * 24): # гоняем массив адресов файлов так же как раньше картинки clips.append(f_frames[j]) j += 1 if j >= len(f_frames): j = 0 # этот объект будет загружать кадры из файлов только когда они # потребуются на рендере result_clip = ImageSequenceClip(clips, fps=24) .

Ощутимая оптимизации. Надо больше читать доки

Где то в это время под тест попадет кейс когда входное аудио короче минуты, и хочется эту ситуацию быстро пусть топорно решить.

С божей помощью оно работает с первого раза, едем дальше.

Бот Телеграмм Turntable Music — бот с виниловыми пластинками

Умеет распознавать аудио, находить, скачивать, делать пластинки, делать видео для сторис.

Понравилось? Поделитесь с друзьями!

Скачай всю музыку из ВК бесплатно

Почему именно мы? Парочка причин, чем мы лучше аналогичных сервисов! 1 OFFLINE музыка Скачанная музыка доступна для

Создаем музыку в Telegram c помощью бота creatormusbot

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

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

Исходя из такой ситуации, у меня возник вопрос, почему команда Telegram не легализует музыку\фильмы? Не создаст свои библиотеки на разных языках с разной доступностью для регионов? Чтобы по итогу все каналы публиковали, то что легально в самом Telegram, как это сейчас происходит в ВКонтакте с музыкой.
Они могли бы это запросто монетизировать, вставляя рекламу и давая доступ по подписке, этакий Telegram+ (отсылка к Яндекс плюсу)

Так же я заметил интересный факт (возможно просто совпадение):

— Дуров ушел с поста гендиректора ВКонтакте в Апреле 2016 года.
— Музыку легализовали в Октябре 2016 года

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

Создаем своего музыкального бота

Так как у меня был опыт в администрировании своего музыкального бота в Telegram, я учел все факторы и ошибки и решил дать идеального музыкального бота каждому пользователю в Telegram. Для этого вам необходимо будет создать в @BotFather (официальный функционал Telegram где создаются боты) своего собственного бота, после создания вы получите API-токен, этот токен вам нужно будет отправить в бота @creatormusbot, после чего вы получите функционал музыкального бота, функционал которого мы разберем ниже.

По факту, без какого-либо программирования, вы создаете бота, который будете использовать либо как свой личный плейлист, который никто не найдет, либо заниматься его продвижением, наращивать аудиторию и зарабатывать на рекламе в боте.

В созданном боте у вас будет доступно 4 пункта меню:

  • Популярное — В этом разделе у вас будут отображаться песни из рейтинга VK, то есть все что сейчас популярно у пользователей этой соц.сети
  • Новинки — Здесь же все просто, все что выпустили исполнители за последнее время, все и доступно у вас.
  • VK-плейлист — Можно сказать это сокровище этого бота, при помощи этого функционала, вы сможете мгновенно перенести весь свой плейлист со своего профиля VK в Телеграм
  • Поиск — Наверное самый популярный и эффективный раздел, вы просто пишите название песни или исполнителя и бот вам выдает результаты поиска

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

Давайте разберем по порядку:

  • Первое и наверное самое важно, этот бот ваш и знаете о нем только вы, получается так, что все остальные музыкальные боты и каналы публичны, то есть на виду у всех пользователей Telegram, именно поэтому рано или поздно такого бота прикроют правообладатели и вам придется искать другого бота и создавать там заново плейлист.
  • Второе, это продвижение своего канала. То есть если вы ведете какой-либо канал в Telegram, вы можете внутри вашего созданного бота рекламировать канал, какие-то посты и прочее.
  • Третье, заработок на рекламе. Как именно заработать на аудитории которая будет в вашем боте, уже решать вам, это может быть, какие-то партнерские сети, либо прямой рекламодатель который захочет разместить пост в вашем музыкальном боте, я лишь дальше в статье расскажу как именно можно разместить рекламные посты

Если у вас появятся постоянные слушатели\пользователи вашего бота, то вы сможете на нем заработать (скриншот статистики одного из ботов). Например продать бота вместе с его аудиторией или разместить рекламные посты, какие именно возможности для рекламных креативов у вас есть:

  • Текст под музыкой — в описание каждого трека, вы можете разместить любую рекламную ссылку или информацию, что этот трек был найден при помощи вашего бота.
  • Информация после запуска бота — как только пользователь запустит ваш бот, в центре экрана появится окно с текстом, в котором, вы можете описать функционал вашего бота, а также добавить любую рекламную ссылку.
  • Кнопка в меню — как и у любого другого бота, у вас есть меню, где есть стандартный функционал кнопок, как я уже говорил, в этом боте это кнопки — новинки, популярное, поиск и VK Playlist, помимо этих кнопок, вы можете добавить свою кнопку, в которой сможете разместить ЛЮБУЮ рекламную информацию, либо рекламу ваших групп или контактные данные вашего рекламного менеджера.
  • Рекламный пост — помимо всего этого, вы можете разместить полноценный рекламный пост (картинка+текст+кнопка), который будет появляться у пользователей, которые пользуются вашим ботом.

При помощи все этих рекламных размещений, вы можете также отправлять аудиторию на какой-то свой канал

Пройдемся по итогам:

  • Вы создаете свой личный островок музыки в Телеграм, о котором знаете только вы. Который вы можете постоянно обновлять, используя функционал бота.
  • Если вы хотите развиваться как Администратор Телеграм каналов, то вы уже привлекаете аудиторию в своего музыкального бота и на этой аудитории сможете заработать.

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

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