rick commited on
Commit
17f055f
·
unverified ·
1 Parent(s): 4c0fbc6

changements mineurs

Browse files
Files changed (2) hide show
  1. core/speech_to_text.py +58 -0
  2. pages/main.py +2 -0
core/speech_to_text.py ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #coding: utf-8
2
+ # Importation des bibliothèques nécessaires selon les bonnes pratiques PEP8
3
+ import requests # Pour envoyer des requêtes HTTP à l'API
4
+ import json # Pour traiter les réponses JSON de l'API
5
+ from os import getenv
6
+
7
+
8
+ def huggingface_endpoints_stt(fichier_audio: str) -> str:
9
+ # Définir l'URL de l'endpoint d'inférence sur Hugging Face
10
+ API_URL = "https://dm1be3hzvtdrl2tt.us-east-1.aws.endpoints.huggingface.cloud"
11
+
12
+ # Inclure votre token d'accès Hugging Face dans les en-têtes de la requête
13
+ headers = {
14
+ "Authorization": f"Bearer {getenv('HF_API_TOKEN')}"
15
+ }
16
+
17
+
18
+ """
19
+ Envoie un fichier audio au modèle Whisper et renvoie la transcription textuelle.
20
+
21
+ Arguments:
22
+ fichier_audio (str): Chemin vers le fichier audio à envoyer pour la transcription.
23
+
24
+ Retour:
25
+ str: Texte transcrit à partir de l'audio.
26
+ """
27
+ # Ajouter le type de contenu audio à l'en-tête de la requête
28
+ headers["Content-Type"] = f"audio/{fichier_audio.split('.')[-1]}"
29
+
30
+ # Ouvrir le fichier audio en mode binaire
31
+ with open(fichier_audio, "rb") as audio:
32
+ # Envoyer une requête POST à l'API avec le fichier audio
33
+ response = requests.post(API_URL, headers=headers, data=audio)
34
+
35
+ # Vérifier si la requête a réussi (code 200)
36
+ if response.status_code == 200:
37
+ # Extraire la transcription du texte de la réponse JSON
38
+ transcription = json.loads(response.content.decode("utf-8"))
39
+ return transcription.get("text", "Pas de transcription disponible.")
40
+ else:
41
+ # En cas d'erreur, afficher le code de statut et le message
42
+ raise Exception(f"Erreur API: {response.status_code}, {response.text}")
43
+
44
+ # Exemple d'utilisation de la fonction
45
+ if __name__ == "__main__":
46
+ fichier_audio = "sample_1.wav" # Remplacez par votre fichier audio
47
+ try:
48
+ transcription = huggingface_endpoints_stt(fichier_audio)
49
+ print(f"Transcription : {transcription}")
50
+ except Exception as e:
51
+ print(f"Une erreur est survenue : {e}")
52
+
53
+
54
+
55
+
56
+ """
57
+ Supported content types are:\n application/json, application/json; charset=UTF-8, text/csv, text/plain, image/png, image/jpeg, image/jpg, image/tiff, image/bmp, image/gif, image/webp, image/x-image, audio/x-flac, audio/flac, audio/mpeg, audio/x-mpeg-3, audio/wave, audio/wav, audio/x-wav, audio/ogg, audio/x-audio, audio/webm, audio/webm;codecs=opus, audio/AMR, audio/amr, audio/AMR-WB, audio/AMR-WB+, audio/m4a, audio/x-m4a\n
58
+ """
pages/main.py CHANGED
@@ -32,6 +32,8 @@ from core.files import load_ui_language
32
  from core.files import read_file
33
  from core.text_to_speech import openai_tts
34
  from core.DetectLanguage import detect_language
 
 
35
 
36
 
37
  # Au début du fichier, après les imports
 
32
  from core.files import read_file
33
  from core.text_to_speech import openai_tts
34
  from core.DetectLanguage import detect_language
35
+ from core.speech_to_text import huggingface_endpoints_stt
36
+
37
 
38
 
39
  # Au début du fichier, après les imports