--- title: Rhythma emoji: 🎧 colorFrom: indigo colorTo: pink sdk: gradio sdk_version: 6.12.0 app_file: app.py pinned: true license: apache-2.0 thumbnail: >- https://cdn-uploads.huggingface.co/production/uploads/64628a722a83863b97beed5e/y4bWysnsPMV2asL_LFB9X.jpeg short_description: Reflective listening sessions for calm and focus --- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference ## Rhythma Rhythma is an artful wellness companion that translates a felt state into a named listening session. The app pairs session profiling, layered audio, and reflective copy so the experience feels closer to a guided ritual than a parameter dashboard. ## Local Development Install the dependencies, then run the Gradio app: ```bash pip install -r requirements.txt python app.py ``` Set `GROQ_API_KEY` to enable Groq-backed text classification and voice-note transcription. If `gradio` is not installed locally, you can still run the focused test suite for `app.py` through the stubbed UI tests in `tests/test_rhythma_ui_copy.py`. ## Session-Led Experience - The main prompt asks what you are carrying or what intention you want to hold. - The output surface now leads with a named session and emotional tone before the listening guidance appears. - `Tone Center` and `Session Pattern` can stay on automatic or be gently overridden from the session controls. - The output area is framed around `Your Listening Path`, `Session Reflection`, audio playback, and waveform views. - Example prompts now reflect a calmer, artful wellness voice rather than a technical modulation demo. ## Project Structure - `app.py`: session-led Gradio interface and request pipeline - `rhythma_engine.py`: waveform generation, audio export, and visualization - `rhythma_analysis.py`: text/audio analysis, optional Groq integration, and session-profile shaping - `rhythma.py`: compatibility facade for the public classes - `tests/test_rhythma_regression.py`: regression tests for the core behavior - `tests/test_rhythma_ui_copy.py`: focused UI-copy tests that avoid a real Gradio import