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 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 ony supports .docx, .pdf, .pptx, .xlsx.
To work around this i had libreoffice open this file and save it as .docx
. Surprisingly it took less than a second for google
to translate this. I downloaded the file and converted it back to txt
format with libreoffice, and then changed it to srt
.