ö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()