Да что мы знаем о веселье? ⁠ ⁠

Да что мы знаем о веселье? ⁠ ⁠

Выброс из головы , достойный на новый проект . Часть #2 Наверное конец . ⁠ ⁠

И снова добрый день мои читатели. И вот я закончил начатое , сразу скажу , проект я закончил , ТЗ - выполнено и приложение заработало .

Работает - палкой и смекалкой , но все же , возможно когда-нибудь пригодится человечеству ( вероятность = 0 )

Остановились в прошлой части мы на том , что извлекли видео и отдельно звуковую дорожку .

Проблема сразу меня атаковала и отняла 4 часа моего времени на её решение ( диванные эксперты справились бы за 1 минуту но я еще молод и глуп что бы просить помощи у великих .. ) Так вот , аудиофайл с youtube скачивается хоть и как mp3 файл , но mimetype у него webm , для этого пришлось скачать еще 3 файла с ffmpeg и закинуть в мою директорию указав в python .

import speech_recognition as sr

from os import path

from pydub import AudioSegment

с помощью библиотеки AudioSegment я импортирую исходный трек sound = AudioSegment.from_file(namefile+".mp3")beginning = sound + 1Прибавляю 1db громкости ## мне помогло немного повысить точность распознания , если криво распознает убрать .

И теперь, сохраняет файл в wav формате со всеми изменениями . beginning.export("outputfile.wav", format="wav")

Далее переходим к блоку распознания и так :

Импортируем библиотеки , да где то выше я уже импортировал их , но НУЖНО БОЛЬШЕ ИМПОРТОВ . import speech_recognitionfrom speech_recognition import *

Берем наш файл и объявляем объект

with sr.AudioFile('outputfile.wav') as source:

audio = r.record(source) чтение объекта ( аудиофайла)

print(type(audio)) выводим тип аудиофайла , удостоверяемся что он объект своими глазами

massslov = [] - сюда будут выводиться слова которые нашел sphinx

out = r.recognize_sphinx(audio, language="en-US")

## далее идут исключения если ничего не нашел или невозможно найти .

print("Sphinx could not understand audio")

except sr.RequestError as e:

print("Sphinx error; ".format(e))

print("--- %s seconds ---" % (time.time() - start_time)) ## считаю сколько времени займет процедура

Кстати, процедура не быстрая , 2 минутный трек читает около 80 сек . (На моём пеньке , у вас может будет быстрее)

print(massslov) ## выводим массив найденных слов

Давайте переведём эти слова

Использовать будем библиотеку deep_translator

from deep_translator import GoogleTranslator

translated = GoogleTranslator(source='auto', target='ru').translate(to_translate)

И на выходе получаем это :

Получится что-то похожее на текст . Похожее на перевод .

Далее нужно этот текст озвучить :

Используем библиотеку gtts

from gtts import gTTS ## импортируем библиотеку

import os ## системные утилиты будет для сохранения нужна

text = translated ## говорим что текст для озвучки хранится в переменной translated

language = 'ru' # язык русский

speech = gTTS(text = text, lang = language, slow = False) ## с параметрами не игрался , возможно можно настроить более тонко , мне лень было честно , со slow можно играться , если в видео говорят быстро ставим True , а если нет - False.

speech.save ("text.mp3") ## сохраняем в text.mp3 в нашей директории

И так ,есть видео , есть mp3 файл с переводом , давайте совместим видео с аудиодорожкой .

Используем библиотеку mhmovie

from mhmovie import * ## импортируем библиотеку

m = Movie(namefile+".mpeg") # указываем видеофайл

mu = Music('text.mp3') # указываем звуковой файл

final = m+mu #соединить звук и видео

final.save (namefile+"film.mp4") ## сохраняем результат

и на выходе получаем ролик с переводом , открываем и наслаждаемся .. ( ржем с перевода ) мне стыдно :(

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

Все остальное допилю ,

Берем видео (Английская болтовня )

А получаем вот что :

Выброс из головы , достойный на новый проект . Часть #1⁠ ⁠

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

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

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

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

И так, как хороший ленивый программист игнорируем тз, а список требований сокращаем в 100 раз для своего удобства. В целом нам требуется :

1.Скачать видео из Youtube по URL

2.Отделить видео от аудио и сохранить 2 файла в одну папку

3.Вытащить текст из аудио

5.Из текста создать новую дорожку

6.Наложить переведенную дорожку на оригинальную дорожку ( оригинальную немного приглушить что бы лучше было слышно перевод )

7.Наложить звук обратно на видео

8.Наслаждаться ОТМЕННЫМ переводом .

Создаем py файл, и начинаем калякать.

Для того, чтобы скачать видео нам требуется библиотека "youtube_dl" следственно импортируем её.

import os ## Требуется для os.path и поиска пути директории

import youtube_dl # импортирую библиотеку

result = ydl.extract_info( ##извлекаем информацию о видеофайле из ссылки

download=False ## Скачать информацию True False

if 'entries' in result:

# Если плейлист или список

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

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

Поиск ключа и его значений:

slovar = video.keys() # выводим все ключи словаря

videos = video['formats'][6]['url'] ## URL видео было в списке "formats"

audios = video['formats'][3]['url'] ## URL аудио было в списке "formats"

Скачивать решил через WGET библиотеку.

Получаю два загруженных файла в папке, один видео, второй звук.

Получаем пути этих файлов:

path_vid = os.path.join(os.getcwd(), 'yt_vid.mpeg') ## Путь до видеофайла

path_audio = os.path.join(os.getcwd(), 'yt_sound.mp3') ## Путь до аудиофайла

Теперь перехожу к обработке . Но уже в следующем посте .

Переводчик с кошачьего на человеческий⁠ ⁠

В Google Play и AppStore состоялся релиз приложения MeowTalk, которое переводит с кошачьего на человеческий и наоборот. Его создал топ-менджер компании Akvelon Хавьер Санчес. С его помощью устраняется языковой барьер между питомцем и его хозяином.

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

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

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

В Google разработали онлайн-переводчик древнеегипетских иероглифов⁠ ⁠

Приложение работает благодаря процессам машинного обучения и сопоставления языка древних египтян.

В Сети появился онлайн-переводчик древнеегипетских иероглифов. Приложение является частью проекта Google Arts & Aulture, запущенного в Британском музее в 2017 году.

В создании переводчика принимал участие австралийский центр египтологии, а также компании Psycle Interactive и Ubisoft. Переводчик работает благодаря процессам машинного обучения и сопоставления языка древних египтян.

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

Между тем, в Египте обнаружили пещеру с уникальными наскальными рисунками. Находка располагается на севере Синайского полуострова и свидетельствует о том, что использовалась местным населением на протяжении нескольких столетий подряд.

Ответ на пост «Яндекс обновил голос в русском переводчике. ( голос звучания )»⁠ ⁠

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

Вот еще несколько примеров того, какими могут быть голоса в переводчике.

Говорим по-французски!⁠ ⁠

Переводчик lvl 9000⁠ ⁠

Иногда Гуглопереводчик (который в последнее время выдает стабильно-качественный результат в 90% случаев) порождает из своих недр нечто совершенно прекрасное:

Гугл переводчик и протесты в США⁠ ⁠

Решил значит перевести надпись,а тут.

Всё гениальное - прокси⁠ ⁠

Простой по своей гениальности способ обходить различного вида блокировки в Интернете.

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

Как оказалось, существует очень простой способ не морочиться всеми этими настройками. Не беда. Идем на страницу Гугл-переводчика, и вбиваем туда прямо в окно перевода ссылку на заблокированное видео.

В соседнем окне получаем ссылку на «перевод страницы». Кликаем на нее, и смотрим видео без блокировки. В этом случае переход на заблокированный контент осуществляется не с вашего IP, а с прокси-IP самого Гугла.

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

📎📎📎📎📎📎📎📎📎📎