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')