Spaces:
Sleeping
Sleeping
| # Quran Recitation Comparison API | |
| This API allows you to compare two Quran recitations and determine their similarity using deep learning embeddings from the Wav2Vec2 model. | |
| ## Features | |
| - Compare two audio files of Quran recitations | |
| - Get a similarity score (0-100) and interpretation | |
| - Uses Wav2Vec2 embeddings and Dynamic Time Warping (DTW) for comparison | |
| ## API Endpoints | |
| ### POST /compare | |
| Upload two audio files to compare: | |
| ``` | |
| curl -X POST "http://localhost:7860/compare" \ | |
| -H "accept: application/json" \ | |
| -H "Content-Type: multipart/form-data" \ | |
| -F "file1=@path/to/first/audio.mp3" \ | |
| -F "file2=@path/to/second/audio.mp3" | |
| ``` | |
| Response: | |
| ```json | |
| { | |
| "similarity_score": 60.0, | |
| "interpretation": "The recitations show moderate similarity." | |
| } | |
| ``` | |
| ### GET /health | |
| Check if the API is healthy and the model is loaded: | |
| ``` | |
| curl -X GET "http://localhost:7860/health" | |
| ``` | |
| Response: | |
| ```json | |
| { | |
| "status": "ok", | |
| "model_loaded": true | |
| } | |
| ``` | |
| ## Setup | |
| 1. The API requires a Hugging Face token as an environment variable: | |
| ``` | |
| HF_TOKEN=your_hugging_face_token | |
| ``` | |
| 2. The model uses `jonatasgrosman/wav2vec2-large-xlsr-53-arabic` by default. | |
| 3. Audio files should be in a format supported by librosa (mp3, wav, etc.). |