|
--- |
|
sdk: streamlit |
|
--- |
|
|
|
|
|
# English Accent Detection Tool |
|
|
|
## Project Overview |
|
|
|
This tool is a working proof-of-concept designed to evaluate spoken English in candidate video submissions. It automatically extracts audio from a public video or uploaded file, identifies whether the language spoken is English, and classifies the English accent (e.g., American, British, Australian). A confidence score is also provided to aid in candidate screening. |
|
|
|
This submission was developed as part of the REM Waste hiring challenge, with emphasis on practicality, technical clarity, and clean design. |
|
|
|
--- |
|
|
|
## Features |
|
|
|
* Accepts public video URLs (e.g., Loom, MP4 links) or uploaded video/audio files. |
|
* Extracts audio using `ffmpeg`. |
|
* Detects the spoken language using `SpeechBrain`'s language identification model. |
|
* If English is detected, simulates classification into common English accents. |
|
* Outputs include: |
|
|
|
* Accent classification |
|
* Confidence score (0β100%) |
|
* Brief summary |
|
|
|
--- |
|
|
|
## Live Demo |
|
|
|
Deployed Streamlit app (hosted on Streamlit Cloud): |
|
|
|
**\[Live App URL β Insert Link Here]** |
|
|
|
--- |
|
|
|
## Technology Stack |
|
|
|
* **Python 3** |
|
* **Streamlit** for the web interface |
|
* **SpeechBrain** for spoken language identification |
|
* **Torchaudio** for audio preprocessing |
|
* **FFMPEG** for audio extraction |
|
* **Requests, Matplotlib** for I/O and optional output handling |
|
|
|
--- |
|
|
|
## How It Works |
|
|
|
1. The user inputs a video URL or uploads a file. |
|
2. The audio is extracted and resampled to a suitable format. |
|
3. The system determines whether the speaker is using English. |
|
4. If English is detected, the tool classifies the accent based on common linguistic traits. |
|
5. The result includes: |
|
|
|
* Accent label (e.g., British) |
|
* Confidence score |
|
* Explanation or notes |
|
|
|
--- |
|
|
|
## Local Setup Instructions |
|
|
|
1. Clone the repository: |
|
|
|
```bash |
|
git clone https://github.com/yourusername/english-accent-detector.git |
|
cd english-accent-detector |
|
``` |
|
|
|
2. Install dependencies: |
|
|
|
```bash |
|
pip install -r requirements.txt |
|
``` |
|
|
|
3. Launch the app: |
|
|
|
```bash |
|
streamlit run app.py |
|
``` |
|
|
|
--- |
|
|
|
## Requirements |
|
|
|
``` |
|
streamlit |
|
torch |
|
torchaudio |
|
speechbrain |
|
ffmpeg-python |
|
requests |
|
matplotlib |
|
``` |
|
|
|
--- |
|
|
|
## Notes |
|
|
|
* Accent classification is simulated based on common accent features, due to the lack of an open-source, fine-grained English accent classifier. |
|
* The core English language detection is handled by a pre-trained SpeechBrain model. |
|
* This project was developed as a rapid prototype within the recommended 4β6 hour window and can be expanded into a production-grade system with access to more detailed accent datasets and APIs. |
|
|
|
--- |
|
|
|
## Author |
|
|
|
Developed by Edgar Muyale |
|
For inquiries: edgarmuyale@gmail.com |
|
Submission for REM Waste Hiring Challenge |
|
|
|
|
|
|