File size: 1,015 Bytes
6dc2e46
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import whisper

# On charge le modèle une seule fois au début pour gagner du temps
model = whisper.load_model("base")

def get_transcription_segments(audio_path, target_duration=5.375):
    """
    Transforme un audio en une liste de segments de texte sans créer de fichiers .txt
    """
    print(f"⏳ Analyse de l'audio...")
    result = model.transcribe(audio_path, verbose=False)
    
    segments_list = []
    current_part_text = ""
    current_part_start = 0

    for segment in result["segments"]:
        current_part_text += segment["text"] + " "
        
        # Vérification du timing
        if segment["end"] - current_part_start >= target_duration:
            segments_list.append(current_part_text.strip())
            
            # Réinitialisation
            current_part_text = ""
            current_part_start = segment["end"]

    # On ajoute le reliquat s'il existe
    if current_part_text.strip():
        segments_list.append(current_part_text.strip())

    return segments_list