Transcribe videos with google colab and openai whisper
Google colab provides powerful GPUs with 12G of VRAM even at free tier. I foud this very useful to first generate srt files of chinese youtube videos and then translate the chinese srt files into english srt files.
Sample yt-dlp command to download video
Sample ffmpeg command to extract audio from video
First visit https://colab.research.google.com/
Set the runtime type¶
Select python3 as interpreter and t4 gpu as hardware accelator
Each code bock below is inserted by pressing the +Code
button in the UI first
and then entering the text. Lines that beings with !
is run in the os shell
environment, while the rest are run in the selected interpreter (here python3).
After typing in each code blocks, press the run button:
The codeblocks (run in sequence)¶
- Click on Choose Files, navigate to and select file.
filename = list(uploaded.keys())[0]
print(f"Uploaded file: {filename}")
import os
os.environ['FNAME'] = filename
Note
Replace zh
with the spoken language in the uploaded audio file
filename_without_ext = os.path.splitext(os.environ['FNAME'])[0]
files.download(f"{filename_without_ext}.srt")
Note
- The generated srt file has the same name but different
srt
as extension.
Translate with google translate¶
At https://translate.google.com, in Documents
tab you see that google only supports .docx, .pdf, .pptx, .xlsx.
To work around this limitation, use libreoffice
.
This creates output.docx. Get it translated at google translate and download the resulting docx. Convert it back with
Rename this file to your "video name.srt" and you're good to go!