Обновить

Запилили TG-бота для склейки голосовух - https://t.me/voicemixbot

👍 Зачем.

  1. Сложно наговорить длинную 3-минутную мысль за раз красиво. Вместо этого, ясно произнеси отдельные фразы по 5 сек друг за другом, продумав каждую.

  2. Мысль приходит только на улице во время прогулки и с собой только телега, монтировать дома никто не будет, а итоговая цельная голосовуха с красивой мыслью нужна уже сейчас чтобы кому-то переслать.

  3. Хочешь записать инновационный трек из склейки пердежа, скрипа двери и крика бомжей в метро, но прямо сейчас без инвестиций в монтаж и продюсирование.

🧰 Как пользоваться.

  1. Заходим в @voicemixbot - ему уйдёт команда start.

  2. Шлем голосовухи друг за другом. После каждой видим ADD N, где N - её порядковый номер (начиная с нуля). Это значит, голосовой кусок вставился в ряд. Не говори следующую голосовуху, пока не получил ADD.

  3. Удалить последнюю голосовуху - pop. Когда понял, что последней голосовухе нужен новый дубль. Вернёт SIZE N, где N - новое общее число эпизодов в проекте.

  4. Всё сказал: пишем makeили go. Получаем цельный файл. Забыл что-то сказать - докидываем голосовух в конец и снова make .

  5. Пишем clear если надо начать новый файл.

💎 Команды.

  • clear - забыть всё, начать новый проект

  • info - статус текущего проекта

  • make - склеить текущий проект (цепь голосовух) в один файл

  • name TEXT - указать название TEXT для вашей итоговой записи

  • pop - удалить последнюю голосовуху из стека

  • amp 1 или amp 0 - включить или выключить автоусиление тихой речи.

  • bitrate N - установить битрейт, где N - между 2000 и 50000
    23000 - достаточно для прилично звучащей речи

  • mk N MESSAGE - поставить текстовую метку MESSAGE перед куском номер N. Нумерация с нуля. N - это тот номер, который фигурирует в ответе "ADD"

  • fade N, N - число миллисекунд: длительность плавного перехода между фразами.

Метки.

00:00 - Приветствие
00:21 - Музыка
00:31 - Новости
01:04 - О погоде

Чтобы получить такую таблицу временных меток под записью, отправляй нужный текст перед той голосовухой, на начало которой этот текст должен ссылаться. Текстом считается любой текст, которого нет в таблице команд. Если вы хотели поставить метку перед уже отправленной голосовухой, но забыли это сделать, то используйте команду mk N (см выше).

🔌 Технические детали.

Кодируем речь кодеком OPUS, он прекрасно звучит даже на битрейте 24k, где mp3 бы уже умер. "/" в начале команды не важен. /pop и pop работают одинаково. Цепь голосовух мы называем "проект". У каждого проекта есть уникальное случайное служебное имя вида d7_uaUcUXc0. Помнить его не надо. Команда clear создаёт новый проект с новым именем, забывая предыдущий навсегда. Лимит кусков в проекте - 200, но лучше не рисковать. make 13 минутного файла будет работать 3 минуты. Написано на голимом C++20, libopus, libogg, epoll.

⌛ Лимиты.

  1. Одна голосовуха - не более 60 секунд.

  2. Число голосовух в проекте - 200 штук.

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

🔒Безопасность и надёжность.

clear удаляет голосовухи с сервера бота. Бекапов нет. ФС сервера - в ramdisk. Наговорил, скомпилил - забери себе, не растягивай проект на неделю. Сервер не стабилен, падает раз в неделю с переналивом всей OS с нуля. У админа доступ ко всем голосовухам (как у админы телеграм к личкам), но чаще падает сервер с данными, чем админу охота покопаться. Если придёт майор с бутылкой - всех сдадим, но рамдиск (может быть уже нечего). Метаданные о пользователях не собираем, спамить не будем - даже БД нет. Точнее, есть, но в рамдиске. Если сервер не отвечает, то он либо сдох и ему скоро автоматически нальют образ по вотчдогу, либо занят компиляцией чьего-то проекта - отправь команду info и подожди. Устраивать DoS и хакерство с отправкой гиговых видосов и фоток не надо: бот даже не начнёт качать. В целом, наверное вы можете его положить, но мы просто пнём сервак и он забудет всё плохое в жизни, рамдиск же.

https://t.me/voicemixbot в общем.

Теги:
+1
Комментарии4

Публикации