Fanar: Audio timestamp editor (Surah/Ayah/Word micro-timestamps)
#215 建立於 2026年8月5日
倉庫指標
- 星標
- (6 顆星)
- PR 合併指標
- (PR 指標待抓取)
描述
Objective: Micro-timestamp Editor · Quarter: Q2 1448 · Size: M · Priority: High Roadmap: Fanar 1448 Q1 & Q2 Roadmap
Context
Surah recitations require precise micro-timestamp alignment at Surah, Ayah, and Word levels for synchronization across Quranic apps.
Why
Enables content admins to visually edit and adjust audio timestamps, fix alignment drifts, and save updated timestamp markers back to the database.
Acceptance criteria
- Interactive waveform view with draggable timestamp markers for Surah/Ayah/Word bounds.
- Precision millisecond adjustment controls (
+10ms,-10ms,+100ms,-100ms). - Save updated timestamp array payload via backend API (
POST /api/v1/admin/audio/timestamps/). - Keyboard shortcuts for play/pause (
Space) and marker seeking.
🛠️ Implementation & Technical Guidance
Target File Paths
cms-frontend/src/app/features/admin/audio/components/timestamp-editor/timestamp-editor.component.tstimestamp-editor.component.html
🤝 Before you pick this up
Fanar is an open-source, community-maintained project. For it to outlive any one of us, the people contributing need to genuinely understand how it works internally — that understanding is the thing we're actually building.
We all have AI subscriptions. Using AI to help you work is fine and expected. But if you copy this issue into an agent, paste back whatever it produces, and open a PR you haven't read, you're taking more from this project than you're giving it. Reviewing code that its own author never read or ran costs the maintainers more than writing it would have.
So before you open a PR, please make sure you:
- understand the code you're submitting, well enough to explain why it works
- ran it on your own machine and saw it behave correctly
- tested it — including the cases you expect to fail
If you're not planning to do that on this one, please leave it for someone who will. And if you're stuck partway, say so in the comments — a half-finished PR you understand is far more welcome than a complete one you don't.