Skip to content

Feat/voice rate pitch - #339

Merged
bbstudioapp merged 4 commits into
developfrom
feat/voice-rate-pitch
Aug 20, 2026
Merged

Feat/voice rate pitch#339
bbstudioapp merged 4 commits into
developfrom
feat/voice-rate-pitch

Conversation

@bbstudioapp

Copy link
Copy Markdown
Owner

No description provided.

…l'app

Les deux curseurs du Profil poussaient au moteur sans rien enregistrer :
perdus au redémarrage, et remplacés par les défauts plateforme dès qu'une
séance carrière rendait la main. Même défaut que celui corrigé en 0.6.1 sur
le choix de voix, sur les deux réglages voisins.

`setUserRate` / `setUserPitch` prennent le rôle que `setUserVoice` tient
face à `setVoiceByName` : seules elles mémorisent, les presets coach
continuent de passer par `setRate` / `setPitch` sans écrire. Le réglage est
global et non par langue — un nom de voix appartient à sa langue, un débit
est un confort d'écoute.

Le test glisse les vrais curseurs : 4 de ses 6 cas sont rouges sur le code
d'avant, les 2 autres tiennent l'arbitrage (défaut plateforme conservé quand
rien n'est réglé, réglage insensible au changement de langue).
L'import est l'inverse de l'export : reposer la voix d'un profil sans son
débit laissait un état vocal mixte, et un export « complet du profil
persisté » devenait faux dès que ces deux réglages ont commencé à l'être.

Le fichier de partage des voix les porte donc lui aussi. C'est une décision,
pas un effet de bord : le test de non-fuite exige de nommer chaque champ et
sa provenance, les deux nombres y sont déclarés comme venant de leur clé et
d'elle seule, et le seed les écarte de leurs défauts pour que la provenance
soit réellement éprouvée.
…a fiche

Deuxième moitié du réglage ouvert en 0.6.1 : le timbre se choisissait déjà,
la couleur vocale restait celle du JSON. Or c'est souvent elle qui cloche, et
seule l'oreille de la joueuse peut en juger — la raison même qui avait rendu
le choix de voix manuel.

Les deux curseurs sont posés **à même la fiche**, pas repliés derrière un
second geste : décision de Manu, 2026-08-18. Un bouton « vitesse et hauteur
d'origine », affiché en permanence et inerte tant que rien n'a bougé, rend au
coach son preset — sans lui, déplacer un curseur est un aller sans retour.

Côté service, l'override est résolu **une seule fois en tête** de
`applyCoachVoicePreset` : elle a quatre sorties, chacune avec son propre
couple débit/hauteur, et une résolution par sortie serait quatre occasions
d'en oublier une. Un test couvre spécifiquement la sortie anticipée (voix
mémorisée trouvée) — vérifié rouge en cassant ce site-là seul.

Coût de « visible » : la feuille gagne ~130 px, la liste de voix perd d'autant
et défile plus tôt. Les tests qui tapaient une voix passent désormais par un
défilement — tous, pas seulement les deux qui cassaient.
…oach

Sans ça, l'asymétrie était de mon fait : la voix d'un coach s'exportait et se
réimportait, la vitesse et la hauteur que je viens de rendre réglables non —
un import aurait reposé le timbre d'un profil sur la couleur locale.

Les deux nombres sont répétés sur chaque entrée de langue du coach alors
qu'ils n'en dépendent pas. C'est la règle déjà en vigueur dans ce fichier
(`platform`, `language`) : l'unité qu'on agrège est l'entrée, et une entrée
doit se lire seule une fois sortie de sa section.
@bbstudioapp
bbstudioapp merged commit 70ad77c into develop Aug 20, 2026
@bbstudioapp
bbstudioapp deleted the feat/voice-rate-pitch branch August 20, 2026 14:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant