import speech_recognition as sr
from nltk.tokenize import word_tokenize
from nltk.corpus import stopwords

# Fonction de reconnaissance de la parole
def reconnaissance_parole(fichier_audio):
    # Initialiser le recognizer
    recognizer = sr.Recognizer()

    try:
        # Charger le fichier audio
        with sr.AudioFile(fichier_audio) as source:
            # Utiliser l'algorithme de réduction de bruit
            recognizer.adjust_for_ambient_noise(source)
            
            # Enregistrement de l'audio
            audio = recognizer.record(source)

            # Reconnaissance de la parole
            texte_transcrit = recognizer.recognize_google(audio, language="en-us")
            
            return texte_transcrit

    except sr.UnknownValueError:
        print("La reconnaissance de la parole a échoué.")
        return None
    except sr.RequestError as e:
        print(f"Erreur lors de la requête à l'API Google : {e}")
        return None

# Chemin vers le fichier audio (remplacez avec votre propre fichier)
fichier_audio_path = "/Users/benoit2023/Documents/Second_Bill_of_Rights_Speech.wav"

# Appeler la fonction de reconnaissance de la parole
transcription = reconnaissance_parole(fichier_audio_path)

# Afficher le résultat
if transcription:
    print("Transcription de la parole :")
    print(transcription)
else:
    print("La transcription de la parole a échoué.")
