önceki konuda yazdım. whisper her ikisinide çevirir.
Bunu ceviri.py olarak kaydet
python ceviri.py test.mp3
veya
python ceviri.py test.mpg
olarak çevirebilirsin.
python ceviri.py test.mp4 tr yazarsan dil dosyasını algılamadan direkt Türkçe olarak çevirir.
#Kurulum:
#pip install git+[url]https://github.com/openai/whisper.git[/url]
#pip install torch
import whisper
import sys
import os
def transcribe_audio(audio_file, language=None):
model = whisper.load_model("small") #tiny, base, small, medium, large
if language:
result = model.transcribe(audio_file, language=language)
else:
result = model.transcribe(audio_file)
return result
def main():
if len(sys.argv) < 2:
print("Kullanım: python ceviri.py <ses_dosyası> [dil_kodu]")
sys.exit(1)
audio_file = sys.argv[1]
language = sys.argv[2] if len(sys.argv) > 2 else None
if not language:
user_input = input("Dil kodunu girin (hi, tr, en, vs.) veya otomatik algılamak için Enter'a basın: ").strip()
language = user_input if user_input else None
result = transcribe_audio(audio_file, language)
# Çıktıyı aynı dosya ismiyle txt olarak kaydedelim
output_file = os.path.splitext(audio_file)[0] + "_ceviri.txt"
with open(output_file, "w", encoding="utf-8") as f:
f.write(result["text"])
# Bilgilendirme
detected_lang = result.get("language", "Bilinmiyor")
print(f"\nAlgılanan Dil: {detected_lang}")
print(f"Çeviri '{output_file}' dosyasına kaydedildi.")
if __name__ == "__main__":
main()