Spaces:
Sleeping
Sleeping
Commit History
-
Merge pull request #7 from MomsVoiceAI/fix/hf-bug
Unverified signaturebumpup gradio 5.35 for font issuee22171c -
bumpup gradio 5.35 for font issue
d1b289b -
add requirement for supertonic
ccf2afa -
fix: add quoted sdk_version and python_version to HF Space README
99eb2d6 -
commit README for hf space
aa3b84e -
chore: revert .gitattributes to filter=lfs (git-xet is an LFS transfer agent)
e45742a -
chore: switch binary tracking from LFS to Xet for HuggingFace
Update .gitattributes to use filter=xet for *.png, *.jpg, *.jpeg, *.wav, *.mp3, *.gif, *.webp — required by HuggingFace Spaces which uses Xet storage instead of Git LFS. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>dbf1320 -
feat: integrate Supertonic TTS with sentence-level chunk streaming
- Add tts.py: lazy singleton TTS loader, sentence-level text splitter, and background-threaded generator that synthesizes chunks into a bounded queue and yields (sample_rate, wav, idx, total, err) per chunk - Update app.py: add tts_chunks_state; on book select, split full story text into TTS sentence chunks stored in state - Switch player_audio_control to streaming=True / type=numpy / autoplay=True - Replace play_btn handler with stream_tts generator that synthesizes and streams audio chunks one by one with live chunk progress in the status bar - Add test_modules: supertonic demo, clone demo, and TTS module spec Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> chore: add .gitattributes for Git LFS binary tracking Track *.png, *.jpg, *.jpeg, *.wav, *.mp3, *.gif, *.webp via Git LFS so HuggingFace Space accepts the push. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>1edfa30 -
Merge pull request #4 from MomsVoiceAI/fix/image-path
Unverified signaturefix bug of image path traversal7df6aa8 -
fix gradio version 5.33 for compatibility
deedad4 -
fix bug of image path traversal
7138a40
-
Merge pull request #2 from MomsVoiceAI/frontend/gradio-ui
Unverified signatureFrontend: CSS 분리 + Player Play/Pause/Resume 컨트롤 (sprint #8, #11, #16)5a8acd6 -
feat: full story text display with paragraph highlight on slider
- Load story txt paragraphs on book select (split by blank line) - Render all paragraphs in scrollable panel; current paragraph highlighted in orange - Slider max = paragraph count, updates highlight on drag - Play/Pause show paragraph N / total instead of chunk count - Story-finished triggers when slider reaches last paragraph Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>e9f8d83 -
feat: merge Library + Player into single tab with click-to-play
- Remove separate Companion Player tab - My Library tab now shows book grid on left, player panel on right - Book card onclick triggers hidden gr.Radio → Python callback loads player - Player auto-populates cover, title, synopsis, audio on book selection - Drop/pause/resume/ask/Q&A state machine preserved as-is Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>f9a82bb -
feat: replace Unsplash cover URLs with local assets/covers/ PNG paths
- Add COVERS_DIR and cover_path() helper for Gradio file-serving URLs - load_books_from_stories() uses cover_path(slug) per story filename - player_title_info initial HTML uses cover_path() f-string instead of hardcoded Unsplash URL - demo.queue().launch() adds allowed_paths=["assets"] for Gradio to serve local images Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>d9520f4 -
Load book list dynamically from stories/ folder
- Replace hardcoded mock_books with load_books_from_stories() - Title from filename (underscores → spaces), synopsis from first 3 lines of txt - audio_path defaults to None (replaced by TTS at runtime), fallback to willow.wav for UI - Rotate cover images across 10 books Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>7c65454 -
Add story dropdown + Play/Pause/Resume controls to Player tab (sprint #8)
- Add story selector dropdown + Load button directly inside Companion Player tab - Add Play / Pause / Resume button row with state-driven visibility - Add chunk status indicator (Chunk N / Total) - Wire play_btn → PLAYING, pause_btn → PAUSED state transitions - Sync ask/resume/play/pause button visibility across all state transitions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>f649585 -
Extract inline CSS to static/style.css + add mobile responsive rules
- Move 350-line inline css_code string to static/style.css - app.py reads the file at startup (sprint task #11) - Add @media breakpoints for 768px and 480px (sprint task #16) - Add ::before/::after pulse-ring pseudo-elements for recording UX Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>15ac953 -
Merge pull request #1 from MomsVoiceAI/frontend/gradio-ui
Unverified signatureFrontend: Gradio 5-tab UI with full demo loop (steps 4-8)994f4a0 -
Add requirements.txt for HF Space deployment
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>a32d63d
-
Add Gradio frontend: 5-tab UI with full demo loop screens
- Build complete Gradio UI (Explore, Bookshelf, Clone Voice Studio, Companion Player, Settings) - Implement Ask/Resume/Finish Q&A flow in Player tab (demo loop steps 4-8) - Add procedural chime audio generation as audio placeholder - Wire state callbacks: book mounting, shelf filter, voice cloning pipeline, subtitle sync, error sandbox - Q&A panel: text + mic input, answer display, answer audio output widget - Story-finished prompt triggered at timeline end; Resume restores PLAYING state Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>fe47bf3 -
Update docs to reflect story_downloader pipeline and 10-story corpus
- README.md: add story_downloader to project structure, add story table, update count - mission.md: update scope from 3-5 to 10 stories, note Gutenberg source - sprint.md: mark repo setup and story tasks done, update file structure with actual stories - tech_stack.md: replace placeholder story list with actual 10 stories and pipeline docs - Remove old Three_LIttle_Pigs.txt reference file (replaced by proper cleaned version)7bfa09d -
Add story downloader, cleaner, and 10 TTS-ready children's stories
- gutenberg_downloader.py: reusable Project Gutenberg downloader/parser - download_stories.py: downloads 10 public domain children's stories - clean_stories.py: strips Gutenberg boilerplate for clean TTS input - 10 cleaned stories (691-2912 words each): Beatrix Potter, fairy tales - .gitignore: exclude __pycache__adebe8c -
Add stories directory with Three Little Pigs
d82303d -
Apply design critique fixes + add README
mission.md: - Make voice similarity testable (blind A/B test) - Acknowledge 8s Q&A as compromise, add pre-generated Q&A target - Add repeat-question and story-end behavior to demo loop - Note demo time budget (3min allows ~2 Q&A rounds) sprint.md: - Fix underestimated tasks: #5 (30m->1h), #10 (1h->2h) - Add pre-generated Q&A task (10a) - Add latency measurement (20a) and state machine validation (20b) - Add Day 1 overflow plan - Add future_mobile doc to file structure tech_stack.md: - Add legal state transition rules - Add VRAM budget table (~5-6GB of 16GB T4) - Add concurrency model note - Specify TF-IDF retrieval for Q&A - Add audio format spec (24kHz, 16-bit, mono) future_mobile_app_considerations.md: - Add filler audio strategy for cache miss resume - Clarify REST limitation for interrupt loop - Add app size estimates (20MB thin to 4GB+ on-device) - Add explicit offline fallback decision README.md: - New repo README with demo flow, models, tech stack, quick start3f26297 -
Add interruptible chunked streaming narration + mobile considerations PRD
c403f04
-
Rewrite PRD for 2-day hackathon + add sprint.md
Critique of previous PRD: - 12-week MVP timeline, COPPA, PostgreSQL, Pinecone, LangChain, multiple user roles, CI/CD — all wildly over-scoped for a hackathon - Replaced with focused 2-day plan: single app.py, no DB, no RAG, stories in-context, stateless demo Changes: - mission.md: hackathon-scoped vision, demo-ready success criteria - tech_stack.md: single-process Gradio app, no infra, minimal deps - sprint.md: hour-by-hour 2-day plan with risk mitigations Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>61e3968 -
Update PRD: QWEN-TTS-0.6B, Gradio/HF Spaces, gr.Server, Stitch UI
- Replace ElevenLabs with local QWEN-TTS-0.6B for voice cloning and TTS - Replace React Native + GCP with Gradio app on Hugging Face Spaces - Add gr.Server for frontend customization - Add Google Stitch-inspired UI design patterns Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>896ae7d