ciaochris commited on
Commit
23d09bf
·
1 Parent(s): 82932d1

Capture the approved Rhythma redesign before implementation

Browse files

Record the agreed product direction so the upcoming implementation plan and code changes stay aligned on audience, tone, audio depth, and UI intent. This freezes the target experience before execution work begins.

Constraint: The redesign must stay non-clinical for mental health advocate sharing
Rejected: Jump straight into implementation from chat context | too easy to drift on scope and tone
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Preserve the artful wellness companion framing unless product positioning is explicitly reapproved
Tested: Spec self-review for placeholders, contradictions, ambiguity, and scope
Not-tested: No runtime impact; documentation change only

docs/superpowers/specs/2026-04-13-rhythma-ambient-redesign-design.md ADDED
@@ -0,0 +1,263 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Rhythma Ambient Redesign Design
2
+
3
+ ## Goal
4
+
5
+ Transform Rhythma from a functional modulation demo into a meditative ambient instrument that mental health advocates can share confidently as an artful wellness companion. The redesign should materially improve two areas at once:
6
+
7
+ - the emotional depth and legibility of the generated audio
8
+ - the warmth, clarity, and perceived intentionality of the UI
9
+
10
+ The product must stay explicitly non-clinical. It should support reflection, calm, and emotional grounding without implying diagnosis, treatment, or therapeutic efficacy.
11
+
12
+ ## Product Positioning
13
+
14
+ Rhythma is an artful wellness companion. A user describes a feeling or intention, and the app responds with a crafted listening session made of ambient layers, a named emotional tone, and light reflective guidance.
15
+
16
+ Approved positioning decisions:
17
+
18
+ - Present the product as supportive and reflective, not diagnostic.
19
+ - Use grounded language such as "listening path," "session," and "crafted from your input."
20
+ - Keep the note that the app is experimental and not medical advice.
21
+ - Avoid framing the output as a clinical recommendation or measured biometric result.
22
+
23
+ ## Experience Principles
24
+
25
+ 1. Calm first. Every interaction should reduce friction and visual stress.
26
+ 2. Emotionally legible output. Sessions should feel intentionally different, not like minor parameter changes.
27
+ 3. One primary path. The default experience is describe -> generate -> listen.
28
+ 4. Advanced controls remain available, but secondary.
29
+ 5. Trust through restraint. No mystical overclaiming, no clinical cosplay, no manipulative language.
30
+
31
+ ## Recommended Approach
32
+
33
+ Use a session-driven redesign with two coordinated upgrades:
34
+
35
+ - Audio becomes profile-based and layered rather than single-tone-first.
36
+ - UI becomes session-centric and atmospheric rather than form-centric.
37
+
38
+ Alternatives considered and not chosen:
39
+
40
+ - Cinematic emotional soundscape: higher "wow" factor, but too easy to push into melodrama for the target audience.
41
+ - Interactive resonance lab: interesting as a concept, but too clinical or technical for mental health advocates and weak on warmth.
42
+
43
+ ## Architecture Overview
44
+
45
+ The current modular split should remain intact:
46
+
47
+ - `app.py`: Gradio interface composition and interaction wiring
48
+ - `rhythma_analysis.py`: input interpretation and session selection
49
+ - `rhythma_engine.py`: sound generation and visualization
50
+ - `rhythma.py`: compatibility facade
51
+
52
+ The redesign should extend those modules rather than collapse them again.
53
+
54
+ ### Planned responsibility changes
55
+
56
+ - `rhythma_analysis.py` should evolve from "emotion and rhythm mapper" into "session profile selector."
57
+ - `rhythma_engine.py` should evolve from "single modulated wave generator" into "layered ambient session renderer."
58
+ - `app.py` should evolve from "parameter form with outputs" into "guided session experience with secondary controls."
59
+
60
+ ## Audio Design
61
+
62
+ ### Target outcome
63
+
64
+ Each generated result should feel like a coherent listening session with motion, depth, and emotional contour.
65
+
66
+ ### Session model
67
+
68
+ Replace the current single-frequency-centered mapping with a session profile model. A session profile defines:
69
+
70
+ - emotional tone label
71
+ - tonal center
72
+ - pulse behavior
73
+ - brightness
74
+ - density
75
+ - modulation motion
76
+ - harmonic warmth
77
+ - suggested session duration range
78
+ - short reflective listening guidance
79
+
80
+ ### Audio layering
81
+
82
+ Each session should be rendered from three layers:
83
+
84
+ 1. Base drone
85
+ A stable tonal bed that anchors the session.
86
+
87
+ 2. Breath pulse layer
88
+ A gentle amplitude or filter movement layer that introduces calm rhythmic motion.
89
+
90
+ 3. Air or shimmer layer
91
+ A quieter upper texture that adds spaciousness and prevents the result from feeling flat.
92
+
93
+ ### Emotional profile examples
94
+
95
+ - `anxious`
96
+ - lower brightness
97
+ - slower pulse
98
+ - smoother attack
99
+ - more stable drone
100
+ - `focused`
101
+ - cleaner harmonic stack
102
+ - tighter motion
103
+ - more defined pulse contour
104
+ - `relaxed`
105
+ - warmer harmonics
106
+ - slower drift
107
+ - softer shimmer
108
+ - `active`
109
+ - more motion and pulse energy
110
+ - still within a calm ambient palette
111
+
112
+ ### Motion over time
113
+
114
+ The audio should evolve during playback. A session should not feel fully static after the first second.
115
+
116
+ Required motion behaviors:
117
+
118
+ - gentle attack at start
119
+ - soft release at end
120
+ - slow movement across pulse depth, filter brightness, or shimmer density
121
+ - small randomized variation inside safe bounds so repeated sessions are not identical
122
+
123
+ ### Manual controls
124
+
125
+ Manual controls remain, but their role changes:
126
+
127
+ - `Tone Center` replaces `Override Frequency`
128
+ - `Session Pattern` replaces `Override Rhythm Pattern`
129
+ - the default path still uses automatic session selection
130
+
131
+ Manual overrides should shape a session profile, not break the session concept.
132
+
133
+ ## UI Design
134
+
135
+ ### Target outcome
136
+
137
+ The interface should feel like a calm listening room rather than a settings panel.
138
+
139
+ ### Layout
140
+
141
+ Top:
142
+
143
+ - stronger title treatment
144
+ - short trust-building product description
145
+ - visible non-clinical support note
146
+
147
+ Main area:
148
+
149
+ - left column: prompt input, examples, and generate action
150
+ - right column: a session card showing the result
151
+
152
+ Lower area:
153
+
154
+ - richer visualization
155
+ - "about this session" explanation
156
+
157
+ ### Session card
158
+
159
+ The output area should be redesigned around a session card containing:
160
+
161
+ - session name
162
+ - emotional tone
163
+ - listening path text
164
+ - audio player
165
+ - short session reflection
166
+ - visual accent or motion panel
167
+
168
+ ### Copy changes
169
+
170
+ Rename utility labels to human-centered labels:
171
+
172
+ - `Rhythma Analysis & Guidance` -> `Your Listening Path`
173
+ - `Symbolic Interpretation` -> `Session Reflection`
174
+ - `Override Frequency (Hz)` -> `Tone Center`
175
+ - `Override Rhythm Pattern` -> `Session Pattern`
176
+
177
+ ### Visual direction
178
+
179
+ The interface should use:
180
+
181
+ - warm atmospheric gradients
182
+ - subtle glows and layered background texture
183
+ - restrained contrast
184
+ - more intentional spacing and hierarchy
185
+ - typography that feels designed rather than default
186
+
187
+ The final look should feel calm, shareable, and emotionally credible.
188
+
189
+ ### Examples
190
+
191
+ Examples should read like invitations into sessions, not test prompts. They should demonstrate distinct emotional intents and a few intentional non-default session patterns.
192
+
193
+ ## Data Flow
194
+
195
+ 1. User enters text or audio.
196
+ 2. Analysis maps input to a session profile.
197
+ 3. Session profile is optionally shaped by advanced controls.
198
+ 4. Engine renders a layered audio session and supporting visualization.
199
+ 5. UI presents the result as a named listening session with guidance and reflection.
200
+
201
+ ## Error Handling
202
+
203
+ The redesign should preserve graceful fallback behavior:
204
+
205
+ - If Groq is unavailable, text-only local analysis still works.
206
+ - If embeddings are unavailable, keyword matching still works.
207
+ - If audio export fails, the UI should return a clear user-facing error.
208
+ - If optional features are disabled, the UI should degrade cleanly without broken controls.
209
+
210
+ User-facing errors should stay calm, specific, and non-technical where possible.
211
+
212
+ ## Testing Strategy
213
+
214
+ The redesign must keep a regression-tests-first posture.
215
+
216
+ Required coverage areas:
217
+
218
+ - session profile selection for representative emotional inputs
219
+ - layered audio render output shape and normalization bounds
220
+ - deterministic behavior for profile construction defaults
221
+ - override behavior for tone center, modulation type, and session pattern
222
+ - app-level wiring for renamed controls and example values
223
+
224
+ Verification expectations:
225
+
226
+ - compile checks for edited Python modules
227
+ - targeted regression tests for analysis and engine behavior
228
+ - one real Gradio runtime smoke check in an environment with installed dependencies
229
+ - post-change manual check of the examples table and session output UX
230
+
231
+ ## Scope Boundaries
232
+
233
+ Included in this redesign:
234
+
235
+ - stronger ambient audio generation
236
+ - session-based emotional mapping
237
+ - calmer, more intentional interface
238
+ - label and examples rewrite
239
+ - non-clinical positioning polish
240
+
241
+ Not included in this redesign:
242
+
243
+ - authentication or user accounts
244
+ - saved session history
245
+ - clinical claims or mental health outcomes tracking
246
+ - biometric sensing or real biofeedback
247
+ - mobile-native app packaging
248
+
249
+ ## Risks
250
+
251
+ - The UI can become visually nicer without actually improving the listening experience if the audio redesign is shallow.
252
+ - The audio can become more complex without becoming more emotionally legible if profiles are not tightly defined.
253
+ - Mental health advocates may disengage if the language feels either too mystical or too clinical.
254
+
255
+ ## Success Criteria
256
+
257
+ The redesign is successful when:
258
+
259
+ - first-time users can understand the main flow immediately
260
+ - generated sessions sound noticeably more immersive and differentiated
261
+ - the app feels emotionally intentional without overclaiming
262
+ - the examples and output card are polished enough to share publicly
263
+ - the app remains stable when optional dependencies are missing