Feat/voice rate pitch - #339
Merged
Merged
Conversation
…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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.