Как стать автором
Поиск
Написать публикацию
Обновить

Нейросеть мне в помощь или как я сделал телеграм бота, который умеет переводить песни

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров16K
Всего голосов 29: ↑29 и ↓0+27
Комментарии23

Комментарии 23

usermod -aG sudo tg_bot

после всей настройки стоит удалить пользака из группы

Да, верно.

Проект интересный, я вот обожаю гуглить переводы понравившихся песен! Жаль, нет примеров перевода целой песни, на примере чего-нибудь известного типа Битлз или Металлики. А раз проект для умной колонки, в результате что получается - песня перепевается на русском языке, или просто диктор читает перевод? Аудио - дипфейки ведь уже существуют, но я не знаю, способны ли они петь, т.е. изобразить интонацию, взять высокую или низкую ноту, и т.п. - насколько силен уже прогресс в этой области?

Жаль, нет примеров перевода целой песни, на примере чего-нибудь известного типа Битлз или Металлики. 

Не проблема :)

Hidden text
Полный перевод песни

Перевод аудиофайла: Metallica – Master Of Puppets.mp3 В файле используется английский язык.

ID элемента: 0 Начало: 60 --- Конец: 65 Исходный текст: Indipassibly, crumbling away Перевод: Неразборчиво, рассыпаясь

ID элемента: 1 Начало: 65 --- Конец: 68 Исходный текст: I'm your source of self-destruction Перевод: Я твой источник самоуничтожения.

ID элемента: 2 Начало: 68 --- Конец: 71 Исходный текст: Faded pop with fear Перевод: Измельченный поп со страхом

ID элемента: 3 Начало: 71 --- Конец: 73 Исходный текст: Stuck in darkness clear Перевод: Застряла в темноте.

ID элемента: 4 Начало: 73 --- Конец: 77 Исходный текст: Needing on your destruction Перевод: Потребность в разрушении

ID элемента: 5 Начало: 77 --- Конец: 79 Исходный текст: Tasty you will see Перевод: Вкусно, что ты увидишь.

ID элемента: 6 Начало: 79 --- Конец: 81 Исходный текст: More is all you need Перевод: Больше - это всё, что тебе нужно.

ID элемента: 7 Начало: 81 --- Конец: 84 Исходный текст: Dedicated to Перевод: Направлен на

ID элемента: 8 Начало: 84 --- Конец: 87 Исходный текст: How I'm killing you Перевод: Как я тебя убиваю.

ID элемента: 9 Начало: 90 --- Конец: 94 Исходный текст: Controlling master Перевод: Хозяин контроля

ID элемента: 10 Начало: 94 --- Конец: 99 Исходный текст: Obey your master Перевод: Повинуйся своему хозяину

ID элемента: 11 Начало: 99 --- Конец: 104 Исходный текст: Your life burns master Перевод: Твоя жизнь горит хозяином

ID элемента: 12 Начало: 104 --- Конец: 108 Исходный текст: Obey your master Перевод: Повинуйся своему хозяину

ID элемента: 13 Начало: 108 --- Конец: 111 Исходный текст: Master of puppets of bulletproof strings Перевод: Мастер куклов пуленепробиваемых струн

ID элемента: 14 Начало: 111 --- Конец: 115 Исходный текст: Swishing your mind and smashing your dreams Перевод: Закидываешь свой разум и разбиваешь мечты.

ID элемента: 15 Начало: 115 --- Конец: 118 Исходный текст: Dying for me you can't see a thing Перевод: Умирать ради меня ты ничего не видишь

ID элемента: 16 Начало: 118 --- Конец: 121 Исходный текст: Discard my name cause all you scream Перевод: Сними мое имя, и все, что ты кричишь

ID элемента: 17 Начало: 121 --- Конец: 124 Исходный текст: Master, master Перевод: Мастер, мастер

ID элемента: 18 Начало: 124 --- Конец: 127 Исходный текст: Discard my name cause all you scream Перевод: Сними мое имя, и все, что ты кричишь

ID элемента: 19 Начало: 127 --- Конец: 130 Исходный текст: Master, master Перевод: Мастер, мастер

ID элемента: 20 Начало: 140 --- Конец: 142 Исходный текст: Needlework the way Перевод: Иглы двигаются по дороге.

ID элемента: 21 Начало: 142 --- Конец: 144 Исходный текст: Never you betray Перевод: Никогда не предавай

ID элемента: 22 Начало: 144 --- Конец: 148 Исходный текст: Life of death becoming clearer Перевод: Жизнь смерти становится яснее

ID элемента: 23 Начало: 148 --- Конец: 151 Исходный текст: Pain monopoly Перевод: монополия на боль

ID элемента: 24 Начало: 151 --- Конец: 153 Исходный текст: Rich room misery Перевод: Богатые комнаты несчастья

ID элемента: 25 Начало: 153 --- Конец: 157 Исходный текст: Chop your breakfast out of fear Перевод: Отрежьте свой завтрак из страха.

ID элемента: 26 Начало: 157 --- Конец: 159 Исходный текст: Tasty you will see Перевод: Вкусно, что ты увидишь.

ID элемента: 27 Начало: 159 --- Конец: 161 Исходный текст: More is all you need Перевод: Больше - это всё, что тебе нужно.

ID элемента: 28 Начало: 161 --- Конец: 164 Исходный текст: Dedicated to Перевод: Направлен на

ID элемента: 29 Начало: 164 --- Конец: 167 Исходный текст: How I'm killing you Перевод: Как я тебя убиваю.

ID элемента: 30 Начало: 170 --- Конец: 173 Исходный текст: Controlling master Перевод: Хозяин контроля

ID элемента: 31 Начало: 175 --- Конец: 179 Исходный текст: Obey your master Перевод: Повинуйся своему хозяину

ID элемента: 32 Начало: 179 --- Конец: 184 Исходный текст: Your life burns master Перевод: Твоя жизнь горит хозяином

ID элемента: 33 Начало: 184 --- Конец: 187 Исходный текст: Obey your master Перевод: Повинуйся своему хозяину

ID элемента: 34 Начало: 187 --- Конец: 191 Исходный текст: Master of puppets of bulletproof strings Перевод: Мастер куклов пуленепробиваемых струн

ID элемента: 35 Начало: 191 --- Конец: 195 Исходный текст: Swishing your mind and smashing your dreams Перевод: Закидываешь свой разум и разбиваешь мечты.

ID элемента: 36 Начало: 195 --- Конец: 198 Исходный текст: Dying for me you can't see a thing Перевод: Умирать ради меня ты ничего не видишь

ID элемента: 37 Начало: 198 --- Конец: 202 Исходный текст: Discard my name cause all you scream Перевод: Сними мое имя, и все, что ты кричишь

ID элемента: 38 Начало: 202 --- Конец: 204 Исходный текст: Master, master Перевод: Мастер, мастер

ID элемента: 39 Начало: 204 --- Конец: 208 Исходный текст: Discard my name cause all you scream Перевод: Сними мое имя, и все, что ты кричишь

ID элемента: 40 Начало: 208 --- Конец: 211 Исходный текст: Master, master Перевод: Мастер, мастер

ID элемента: 41 Начало: 211 --- Конец: 214 Исходный текст: Master, master Перевод: Мастер, мастер

ID элемента: 42 Начало: 232 --- Конец: 234 Исходный текст: Master Перевод: Мастер

ID элемента: 43 Начало: 262 --- Конец: 264 Исходный текст: Master Перевод: Мастер

ID элемента: 44 Начало: 292 --- Конец: 294 Исходный текст: Master Перевод: Мастер

ID элемента: 45 Начало: 294 --- Конец: 296 Исходный текст: Master Перевод: Мастер

ID элемента: 46 Начало: 320 --- Конец: 322 Исходный текст: Master, master Перевод: Мастер, мастер

ID элемента: 47 Начало: 322 --- Конец: 324 Исходный текст: Where's the dreams that I've been after? Перевод: Где те сны, за которыми я охотился?

ID элемента: 48 Начало: 324 --- Конец: 326 Исходный текст: Master, master Перевод: Мастер, мастер

ID элемента: 49 Начало: 326 --- Конец: 328 Исходный текст: Promise totally lies Перевод: Обещай полностью лгать

ID элемента: 50 Начало: 328 --- Конец: 331 Исходный текст: Laughter, laughter Перевод: Смех, смех

ID элемента: 51 Начало: 331 --- Конец: 333 Исходный текст: All I hear is tears laughter Перевод: Все, что я слышу, это слезы смех

ID элемента: 52 Начало: 333 --- Конец: 335 Исходный текст: Laughter, laughter Перевод: Смех, смех

ID элемента: 53 Начало: 335 --- Конец: 338 Исходный текст: Laughing at my cries Перевод: Смеяться над моими криками

ID элемента: 54 Начало: 341 --- Конец: 343 Исходный текст: Fix me Перевод: Поправь меня.

ID элемента: 55 Начало: 352 --- Конец: 354 Исходный текст: Ah, ah, ah Перевод: А, а, а,

ID элемента: 56 Начало: 354 --- Конец: 356 Исходный текст: Ah, ah, ah Перевод: А, а, а,

ID элемента: 57 Начало: 356 --- Конец: 358 Исходный текст: Ah, ah, ah Перевод: А, а, а,

ID элемента: 58 Начало: 358 --- Конец: 360 Исходный текст: Ah, ah, ah Перевод: А, а, а,

ID элемента: 59 Начало: 360 --- Конец: 362 Исходный текст: Ah, ah, ah Перевод: А, а, а,

ID элемента: 60 Начало: 362 --- Конец: 364 Исходный текст: Ah, ah, ah Перевод: А, а, а,

ID элемента: 61 Начало: 364 --- Конец: 366 Исходный текст: Ah, ah, ah Перевод: А, а, а,

ID элемента: 62 Начало: 366 --- Конец: 368 Исходный текст: Ah, ah, ah Перевод: А, а, а,

ID элемента: 63 Начало: 368 --- Конец: 370 Исходный текст: Ah, ah, ah Перевод: А, а, а,

ID элемента: 64 Начало: 382 --- Конец: 384 Исходный текст: Master Перевод: Мастер

ID элемента: 65 Начало: 384 --- Конец: 386 Исходный текст: Master Перевод: Мастер

ID элемента: 66 Начало: 409 --- Конец: 413 Исходный текст: Huntsworth all that natural habitat Перевод: Хантсворт, вся эта природная среда обитания.

ID элемента: 67 Начало: 413 --- Конец: 417 Исходный текст: Just arrived without a reason Перевод: Только что прибыл без причины.

ID элемента: 68 Начало: 417 --- Конец: 419 Исходный текст: Never ending phase Перевод: Никогда не заканчивая фазой

ID элемента: 69 Начало: 419 --- Конец: 421 Исходный текст: Fipped enough for days Перевод: Достаточно надолго.

ID элемента: 70 Начало: 421 --- Конец: 425 Исходный текст: Now your life is out of season Перевод: Теперь твоя жизнь вышла из сезона.

ID элемента: 71 Начало: 425 --- Конец: 428 Исходный текст: I will occupy Перевод: Я займусь этим.

ID элемента: 72 Начало: 428 --- Конец: 430 Исходный текст: I will help you die Перевод: Я помогу тебе умереть.

ID элемента: 73 Начало: 430 --- Конец: 432 Исходный текст: I will run to you Перевод: Я побегу к тебе.

ID элемента: 74 Начало: 432 --- Конец: 435 Исходный текст: Now I roll you to Перевод: Теперь я отворачиваю тебя

ID элемента: 75 Начало: 435 --- Конец: 437 Исходный текст: Master Перевод: Мастер

ID элемента: 76 Начало: 437 --- Конец: 439 Исходный текст: Master Перевод: Мастер

ID элемента: 77 Начало: 439 --- Конец: 441 Исходный текст: Master Перевод: Мастер

ID элемента: 78 Начало: 441 --- Конец: 443 Исходный текст: Master Перевод: Мастер

ID элемента: 79 Начало: 443 --- Конец: 445 Исходный текст: Master Перевод: Мастер

ID элемента: 80 Начало: 445 --- Конец: 447 Исходный текст: Master Перевод: Мастер

ID элемента: 81 Начало: 447 --- Конец: 451 Исходный текст: Your life burns faster Перевод: Твоя жизнь горит быстрее.

ID элемента: 82 Начало: 451 --- Конец: 453 Исходный текст: Master Перевод: Мастер

ID элемента: 83 Начало: 453 --- Конец: 455 Исходный текст: Master Перевод: Мастер

ID элемента: 84 Начало: 455 --- Конец: 457 Исходный текст: Master Перевод: Мастер

ID элемента: 85 Начало: 457 --- Конец: 459 Исходный текст: Switching your mind Перевод: Переворачиваю твой разум

ID элемента: 86 Начало: 459 --- Конец: 461 Исходный текст: Switching your dreams Перевод: Переворачиваю твои мечты

ID элемента: 87 Начало: 461 --- Конец: 463 Исходный текст: Switching your dreams Перевод: Переворачиваю твои мечты

ID элемента: 88 Начало: 463 --- Конец: 466 Исходный текст: Dying is my main, you can't do nothing Перевод: Умирать - моя главная задача, ты ничего не можешь сделать.

ID элемента: 89 Начало: 466 --- Конец: 469 Исходный текст: Discommon in, cause I hear you scream Перевод: Раздвоение, потому что я слышу, как ты кричишь

ID элемента: 90 Начало: 469 --- Конец: 472 Исходный текст: Master, master Перевод: Мастер, мастер

ID элемента: 91 Начало: 472 --- Конец: 475 Исходный текст: Discommon in, cause I hear you scream Перевод: Раздвоение, потому что я слышу, как ты кричишь

ID элемента: 92 Начало: 475 --- Конец: 478 Исходный текст: Master, master Перевод: Мастер, мастер

ID элемента: 93 Начало: 494 --- Конец: 497 Исходный текст: Ah, ah, ah Перевод: А, а, а,

ID элемента: 94 Начало: 497 --- Конец: 501 Исходный текст: Ah, ah, ah Перевод: А, а, а,

ID элемента: 95 Начало: 501 --- Конец: 504 Исходный текст: Ah, ah, ah Перевод: А, а, а,

ID элемента: 96 Начало: 504 --- Конец: 507
Исходный текст: Ah, ah, ah
Перевод: А, а, а,

Спасибо! Да, конечно нейросетям есть еще куда прогрессировать... "Needlework the way - Иглы двигаются по дороге" это отпад )))
А, вот ещё что. Так и не нашел в статье ссылку на самого телеграм-бота, чтобы самому попробовать )

Да, в целом всё зависит от качества модели.

А, вот ещё что. Так и не нашел в статье ссылку на самого телеграм-бота, чтобы самому попробовать )

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

Но вы можете запустить скрипт на своем компьютере и протестировать его работу, без особых усилий.

Измельченный поп со страхом

Перевод просто супер, бггг.

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

Мастер куклов пуленепробиваемых струн

Бессвязный набор слов это не перевод. Он даже исходный текст не в состоянии разобрать.

Распознавание - классная идея. Но перевод пока не очень:(
Сравните с https://www.amalgama-lab.com/songs/m/metallica/master_of_puppets.html
Понятные песни воспринимаются уже совсем по другому.
А может распознавать и показывать перевод (при наличии) с этого сайта, например. Увы, это уже не локально и требует интернета, но качество-то получше.

Всегда можно заюзать последовательность - взять текст на оригинале , засунуть в LLM и посопросить связный текст на нужном языке = имхо +- будет лучше на 100%.

Это я к тому что как правило faster whisper крутится на тойже машине где и тот же Mixtral \ llama2 \ llava etc. и просто дополняет \ расширяет круг задач.

Сам не пробовал . Только ставлю все это.

а если 2 человека разговаривают, оно сможет как-то пометить текст, чтобы было понятно где персон 1 а где персон 2?

Насколько я понял из документации на Whisper, подобная фича отсутствует. Но можно попробовать поискать модель под ваши потребности здесь: https://huggingface.co/models

Насколько вообще можно надеяться, что новейшие достижения в области ИИ (генераторы текста, картинок, видео и кода; переводчики; стихоплёты; распознавание текста и речи и т. д.) станут доступны оффлайн, на домашнем компьютере? Компьютеры-то всё мощнее, память дешевеет, ядер больше.

Собственно уже доступны. Хороший GPU и можно экспериментировать.

а почему вы думаете что они не доступны? берите карту nvidia rtx серии мин от 8gb (лучше конечно 12) и все будет в кое-каком виде, есть "округленные" модели. основное ограничение сейчас это объем этой самой vram, но и большие его объемы требует только генераторы текста.

Учите иностранные языки )) они развивают мозг )))

whisper хорош - делаю субтитры для мультиков - детям, чтобы смотрели и учили языки. Но ему очень желательна Cuda - пятиминутный ролик Свинки Пеппы на процессоре переводится примерно на порядок медленнее, а даже простая RTX 3060 тратит на это минуты полторы.

Это тот же Whisper, что и в API OpenAI? Или предыдущая модель?

Как получить ggml .bin файл из huggingface репки?

# try.py
from transformers import WhisperForConditionalGeneration
import tempfile
import torch

model = WhisperForConditionalGeneration.from_pretrained("openai/whisper-tiny.en")
model.save_pretrained('./my')
torch.save(model.state_dict(), './my/file.pt')
$ python3 try.py
$ python3 models/convert-pt-to-ggml.py ./my/file.pt ~/code/whisper ./my

Traceback (most recent call last):
  File "~/code/whisper.cpp/models/convert-pt-to-ggml.py", line 210, in <module>
    hparams = checkpoint["dims"]
              ~~~~~~~~~~^^^^^^^^
KeyError: 'dims'

> They serve as others

....

they got their icons

Н-да, качество перевода так себе.Особенно учитывая, что на это нужно достаточно мощный сервер, а не i80286+ProMT :-)

 they love their movies

А тут внезапно перевод правильный, хотя я в упор не вижу, чем это принципиально отличается от предыдущего.

И вот эта непредсказуемая нестабильность для меня портит нейросетки, я просто не могу доверять переводу и должен параллельно читать основной текст. А в таком режиме - когда робот-переводчик по сути становится расширенным словарём - я не замечаю большой разницы между DeepL и Google Translate... Вот честно, пытался понять чего все так шумели и восторгались DeepL - и не понял...

Зарегистрируйтесь на Хабре, чтобы оставить комментарий