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 💪🏻
