Traduciendo videos de Youtube con IA

No sé tu nivel de inglés, pero mi «english’s town» tiene sus limitaciones, y en ocasiones ver algunos videos en Youtube en inglés son más un suplicio que un disfrute, y hacen que parte de mi atención se pierda en la traducción.

Así que ¿y si montamos un traductor de videos de youtube?

Veamos primero el flujo antes de empezar a picar código …. 😈 dice que mejor picar código, pero 😇 dice que mejor sentarse a plantear la solución …. gane de momento 😇

  • Usaremos la librería Pytube de Python para poder extraer el audio del video de Youtube 🐍
import pytube

youtubeUrl = "https://www.youtube.com/watch?v=fHyh0D7IENs"
youtubeVideo = pytube.YouTube(youtubeUrl)

audio = youtubeVideo.streams.filter(only_audio=True).first()
audio.download(filename='videoyou_aldi.mp4')
  • Una vez tengamos el audio en inglés, lo pasaremos a texto con Whisper de OpenAI. 🎧
client = OpenAI(api_key = 'sk-xxxxxxxxxxx')

speech_file_path = "videoyou_aldi.mp4"
audio_file = open(speech_file_path, "rb")
response = client.audio.transcriptions.create(
  model="whisper-1", 
  file=audio_file, 
  response_format="text"
)
print(response)
  • Ya tenemos la transcripción del video, es hora de traducirlo, y para ello usaremos al hermano mayor de OpenAI, ChatGPT. 🤖
response = client.chat.completions.create(
  model="gpt-4",
  messages=[
	{"role": "system", "content": "You are a helpful spanish translator. Not verbose, only give me the tanslation.Please translate this text to spanish:"},
	{"role": "user", "content": response}
  ]
)
print(response.choices[0].message.content)
  • Bravo mi arma olé 💃 ya estamos en español. que alguien lo lea 🗣️!!! Para ello tiramos de Text_to_Speech de OpenAI.
speech_file_path = "videoyou_aldi.mp3"
response = client.audio.speech.create(
  model="tts-1",
  voice="alloy",
  input=response.choices[0].message.content
)
response.stream_to_file(speech_file_path)

💥 El resultado

Así podemos pasar de míticos videos como el del gran Steve Jobs

A tenerlo hablando en español, así que ya sabes, o te pones el video le quitas el audio y le das al play, o te lo llevas en modo Podcast y a dejarte inspirar 💪🏻