feat(audio): add voice note transcription and Islamic audio analysis #140 - #371
feat(audio): add voice note transcription and Islamic audio analysis #140#371Wiseman52 wants to merge 1 commit into
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@Wiseman52 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
|
@Wiseman52 this PR has merge conflicts with the |
Overview
This PR adds an offline-first Voice Note Transcription and Islamic Audio Analysis system: upload validation and noise assessment, a deterministic Islamic-audio analysis pipeline over transcribed speech (language/dialect identification, recitation detection, question extraction, terminology recognition, speaker estimate, timeline, tone), and pluggable Gemini/Whisper transcription backends with a responder seam for grounded answer drafting.
Related Issue
Closes #140
Changes
🎙️ Voice-Note Transcription & Islamic Audio Analysis
audio_analysis.py/sentimentengine.Transcriberseam — Gemini (default viaGEMINI_API_KEY), OpenAI-compatible Whisper (WHISPER_API_BASE), and offlineStatic/Passthrough— with streaming chunking for long clips, and aResponderseam for grounded answer drafting.POST /audio/transcribe,POST /audio/analyze,POST /audio/generate,GET /audio/terminology,GET /audio/formats.main.py— register the audio-analysis router.README.md— document the feature, endpoints, and backend selection.tests/test_audio_analysis.py— 33 offline tests (no network, no keys)..github/workflows/ci.yml— add an audio-analysis test step.Verification Results
Acceptance Criteria
Static/Passthroughfallbacks415on unrecognised formatsGET /audio/terminology(~60 terms)