Azure-powered Amharic ↔ English speech and text translation app with FastAPI, Azure Speech, Azure Translator, and local web UI.
# AmharicVoice AI
## Portfolio Project Summary
**AmharicVoice AI** is an Azure-powered Amharic ↔ English translation MVP that supports typed text translation, browser microphone recording, WAV speech translation, translated audio playback, and Amharic-aware phrase normalization.
This project demonstrates full-stack application development, cloud API integration, secure backend design, deployment documentation, and practical troubleshooting across browser audio, Azure AI services, FastAPI, Render, GitHub, and Windows development environments.
## Live Demo
- **Frontend demo:** `
amharic-voice-ai-web.onrend…`
- **Backend health check:** `
amharic-voice-ai.onrender.c…`
- **Backend API docs:** `
amharic-voice-ai.onrender.c…`
> Note: The backend is hosted on Render's free tier, so the first request after inactivity may take extra time while the service wakes up.
## Key Features
- Amharic ↔ English text translation
- Amharic ↔ English speech translation
- Browser microphone recording
- Browser recordings encoded as 16 kHz mono 16-bit PCM WAV
- Direct upload of recorded WAV audio to the speech translation endpoint
- Translated audio playback
- Custom Amharic phrase normalization for greeting phrases and speech-recognition variations
- Public frontend and backend deployment on Render
- API documentation through FastAPI Swagger UI
## Security and Privacy Highlights
- `.env` file excluded from Git tracking
- `.env.example` included for safe configuration reference
- Azure keys stored as Render environment variables
- Rate limiting added to reduce API abuse risk
- Upload file size limits added for speech requests
- Chunked upload validation added to avoid reading oversized uploads into memory
- Invalid WAV error handling added for renamed `.m4a`, `.mp3`, or compressed audio files
- Generated translated audio cleanup added
- Production CORS restricted to the deployed frontend
- Privacy/security checklist documented
## Technica …