# data[].attributes.body
Dans cette étape de mon projet, j'ai utilisé Claude 3.7 de Anthropic pour transcrire un fichier audio. J'ai d'abord configuré l'API d'Anthropic et chargé un fichier audio. La transcription se fait par l'envoi du fichier audio encodé en base64 à l'API avec une demande de transcription en arabe.

Si l'API Claude rencontrait un problème, une alternative avec Whisper d'OpenAI était disponible. Les deux solutions ont permis de générer une transcription, qui a été ensuite comparée avec un texte de référence en arabe pour évaluer la qualité de la transcription. Le calcul de la précision a été effectué en comparant les mots communs entre la transcription et le texte de référence.

J'ai choisi Claude 3.7 pour sa capacité à gérer les fichiers audio et générer des transcriptions de haute qualité. Cependant, Whisper a été utilisé comme une solution de secours pour garantir une transcription fonctionnelle en cas de problème avec l'API.

# data[].attributes.body
Dans cette étape de mon projet, j'ai intégré le modèle Whisper pour transcrire des fichiers audio. J'ai installé Whisper et ffmpeg, puis chargé un fichier audio pour le transcrire en texte, en utilisant le modèle "small" pour une bonne précision. Le texte transcrit est ensuite comparé à un texte de référence en arabe grâce à la bibliothèque difflib, afin d'évaluer la qualité de la transcription. J'ai choisi Whisper pour sa précision et sa capacité à gérer plusieurs langues, notamment l'arabe, ce qui est essentiel pour le projet.

# data[].attributes.body
🎯 Étape : Test de la transcription automatique de fichiers audio en français avec Claude

✅ Objectif : Transcrire automatiquement un fichier audio en français et comparer le texte obtenu avec un texte de référence pour évaluer la qualité de la transcription.

🔧 Outils utilisés :

Whisper (modèle "small" d'OpenAI) pour la transcription locale.

Claude 3.7 (Anthropic API) pour la transcription via une intelligence artificielle externe.

Google Colab pour l’exécution du code

📥 Étapes réalisées :

1. J’ai installé les bibliothèques nécessaires (whisper, ffmpeg, anthropic).

2. J’ai importé un fichier audio que j’ai moi-même fourni.

3. J’ai utilisé deux méthodes pour transcrire le fichier audio :

Whisper (modèle léger) pour la transcription hors-ligne.

Claude 3.7 pour tester une approche basée sur une API avancée.

4. J’ai comparé le texte obtenu à un texte de référence déjà connu à l’aide d’une comparaison mot à mot.

5. J’ai également calculé un taux de précision basé sur le nombre de mots correctement transcrits.

📊 Résultat :
La transcription fonctionne dans les deux cas, avec une précision qui dépend fortement de la qualité de l’audio et de l’élocution. Whisper est plus rapide, mais Claude peut être plus précis selon les cas. Le système peut basculer automatiquement vers Whisper si Claude échoue.

# data[].attributes.body
✅ Transcrire un fichier audio

D'abord avec Claude 3.7 via l’API d’Anthropic (si disponible),

Sinon avec Whisper d’OpenAI en fallback (transcription locale, en français).

✅ Comparer cette transcription

Avec un texte de référence (fourni ailleurs, probablement par toi),

En utilisant TinyLLaMA pour la similarité sémantique (via embeddings + cosinus),

Et aussi difflib pour la similarité textuelle mot à mot.

Affichage amélioré des différences
Pour faciliter la lecture, j’ai développé une fonction d’alignement mot à mot qui surligne :

les mots identiques (en vert),

les mots modifiés/supprimés (en rouge),

les ajouts dans la transcription.

# data[].attributes.body
J’utilise BERT (via sentence-transformers) pour calculer la similarité sémantique entre les deux textes.

J’intègre aussi une comparaison mot à mot (avec difflib) pour évaluer les différences lexicales.

Affichage avancé des différences :
Une version améliorée du comparateur montre les différences sous forme d’alignement (ajouts, suppressions, remplacements), facilitant l’analyse pédagogique.

# data[].attributes.body
Utilisation du modèle BERT (via sentence-transformers) pour calculer la similarité cosinus entre les deux textes, permettant ainsi une évaluation de la proximité sémantique, indépendamment des différences de formulation.

# data[].attributes.attachment_link.description
Contribute to sabir7achraf/Speech-Recognition development by creating an account on GitHub.

# data[].attributes.headline
Changement de modèle pour la transcription en arabe 

# data[].attributes.subject
Changement de modèle pour la transcription en arabe 

# data[].attributes.body
J'ai décidé de remplacer Whisper pour la transcription en arabe, car ce modèle ne prend pas en compte la diacritisation de la langue. En effet, Whisper ne gère pas les signes diacritiques essentiels pour la bonne lecture du texte arabe. J'ai donc opté pour une autre approche qui tiendra compte de ces diacritiques afin d'assurer une transcription plus précise et fidèle à la langue.

# data[].attributes.body
Système de reconnaissance vocale arabe et diacritisation avec Wav2Vec2 :

J'ai développé un système qui combine la reconnaissance vocale arabe et la diacritisation dans un seul processus à l'aide du modèle Wav2Vec2, qui permet non seulement de transcrire l'audio en texte arabe, mais aussi d'ajouter automatiquement les diacritiques nécessaires.

Technologies utilisées :

Wav2Vec2 pour la reconnaissance vocale arabe et la diacritisation : Ce modèle est capable de transcrire l'audio en texte arabe tout en ajoutant directement les diacritiques, ce qui simplifie le processus en une seule étape.

Fonctionnement du système :

1. Transcription et diacritisation simultanées : Le fichier audio est traité par le modèle Wav2Vec2, qui génère le texte arabe avec les diacritiques ajoutés directement pendant la transcription.

2. Résultat final : Le texte diacritisé est retourné, prêt à être utilisé pour des applications nécessitant du texte arabe correctement diacritisé.

# data[].attributes.attachment_link.description
Contribute to aya2ait/Arab_Speech_to_text development by creating an account on GitHub.