UAS_FAREL / app.py
JoshMe1's picture
Update app.py
4fe97cd
Raw
History Blame Contribute Delete
1.33 kB
import streamlit as st
import yt_dlp
import ffmpeg
import os
# Membuat fungsi untuk mengunduh audio dari YouTube
def download_audio(url):
ydl_opts = {
'format': 'bestaudio/best',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
}],
'outtmpl': 'audio.mp3'
}
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
ydl.download([url])
st.success('Audio berhasil diunduh!')
# Membuat fungsi untuk menerjemahkan teks menggunakan model Whisper
def translate_text(audio_file):
os.system(f'whisper "{audio_file}" --model small.en --language en --best_of 20 --word_timestamps True --output_format srt --task transcribe')
with open('audio.srt', 'r') as f:
text = f.read()
st.write(text)
# Membuat tampilan UI menggunakan Streamlit
st.title('Aplikasi Penerjemah Audio YouTube')
url = st.text_input('Masukkan URL video YouTube')
if st.button('Unduh Audio'):
download_audio(url)
if st.button('Terjemahkan Teks'):
translate_text('audio.mp3')
st.success('Teks berhasil diterjemahkan!')
with open('audio.srt', 'r') as f:
srt_text = f.read()
with open('translated_text.srt', 'w') as f:
f.write(srt_text)
st.download_button('Unduh Hasil Terjemahan', data=srt_text, file_name='translated_text.srt')