π Program
GSSoC
β¨ Feature Description
Implement a preset selection system for Voice Synthesis Settings (Stability, Temperature, and Style Exaggeration). Users should be able to pick from a list of pre-configured emotional/tonal presets (such as "Narrator", "Excited", "Robotic", "Soft") to instantly adjust the synthesis settings instead of tuning each slider manually.
π€ Problem It Solves
Adjusting three separate, fine-grained float sliders (ranging from 0 to 1 or 5) is tedious, unintuitive, and relies on trial-and-error:
- Cognitive Load: Non-technical users do not naturally know how "Stability" vs. "Temperature" interacts to create a natural-sounding voice.
- Convenience: Conversational context changes rapidly during a call. If a user needs to switch from a calm narrator tone to an excited shout, adjusting multiple sliders takes too long. Presets enable instantaneous switching.
π‘ Proposed Solution
- In [voiceSettings.js], export a map of predefined presets:
- Narrator / Neutral: Stability:
0.70, Temperature: 0.60, Style Exaggeration: 0.30
- Excited / Energetic: Stability:
0.40, Temperature: 0.95, Style Exaggeration: 0.75
- Robotic / Flat: Stability:
0.95, Temperature: 0.10, Style Exaggeration: 0.05
- Soft / Whispering: Stability:
0.55, Temperature: 0.50, Style Exaggeration: 0.20
- Add a Presets dropdown or badge buttons component in the Voice Synthesis Settings card in [Settings.jsx].
- Clicking a preset should update the state, slide the controls to their respective positions, and persist the new configuration to localStorage (
voiceforge:voiceSettings).
- If a user manually slides any individual setting, the preset selector should automatically select a "Custom" label.
π Alternatives Considered
- Preset Profiles: Storing preset values per voice profile. While highly customizable, this is more complex to implement and could be added as a separate enhancement later. Global presets solve the immediate usability issue.
β
Acceptance Criteria
π Additional Context
Voice settings helper definitions:
- [voiceSettings.js]
Synthesis configuration UI layout:
- [Settings.jsx:L254-306]
π± Contributor Checklist
π Program
GSSoC
β¨ Feature Description
Implement a preset selection system for Voice Synthesis Settings (Stability, Temperature, and Style Exaggeration). Users should be able to pick from a list of pre-configured emotional/tonal presets (such as "Narrator", "Excited", "Robotic", "Soft") to instantly adjust the synthesis settings instead of tuning each slider manually.
π€ Problem It Solves
Adjusting three separate, fine-grained float sliders (ranging from
0to1or5) is tedious, unintuitive, and relies on trial-and-error:π‘ Proposed Solution
0.70, Temperature:0.60, Style Exaggeration:0.300.40, Temperature:0.95, Style Exaggeration:0.750.95, Temperature:0.10, Style Exaggeration:0.050.55, Temperature:0.50, Style Exaggeration:0.20voiceforge:voiceSettings).π Alternatives Considered
β Acceptance Criteria
π Additional Context
Voice settings helper definitions:
Synthesis configuration UI layout:
π± Contributor Checklist