zonza/tests
Ralph Mayola 2ccb614649 A chaque moteur son modele, et un forcage manuel
app.py passait CONFIG["model"] — un depot MLX — quel que soit le moteur detecte.
Sur une machine sans Apple Silicon, faster-whisper aurait recu un depot qu'il ne
sait pas charger. Le defaut etait invisible ici, la detection rendant toujours
"mlx" sur ce Mac : aucun test ne pouvait le voir.

MODELES_PAR_MOTEUR associe chaque moteur a son depot. Les valeurs viennent de la
mesure du jour (trois echantillons, amorce active, CPU Apple Silicon) :

  faster-whisper base   0,52 s  10/13 termes techniques   142 Mo
  faster-whisper small  1,42 s  11/13                     464 Mo
  faster-whisper medium 4,40 s  13/13                    1460 Mo
  MLX medium (GPU)      0,75 s  11/13                     489 Mo

Le GPU vise donc la precision (medium, 13/13, il absorbe le cout) ; le CPU vise
la latence (small, 11/13 — AUTANT que le MLX utilise aujourd'hui — pour 1,4 s).
`medium` sur CPU serait plus juste, mais ces 4,4 s sont celles d'un CPU Apple
Silicon : sur un CPU Intel ou Windows, le meme modele peut demander trois a quatre
fois plus. La commande de diagnostic mesurera la machine reelle et pourra
promouvoir `medium`.

CONFIG["model"] passe a None et devient un FORCAGE manuel qui prime sur la table,
au lieu d'un reglage mort qu'on modifie sans effet.

115 tests. Comportement inchange sur ce Mac : moteur mlx, modele identique.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-23 18:45:14 +02:00
..
test_attente.py Attend le relachement des touches avant de coller 2026-08-21 01:42:44 +02:00
test_audio_level.py Zonza : dictée vocale locale macOS (MLX-Whisper + cercle pulsant) 2026-06-12 23:57:59 +02:00
test_contrats.py Renforce les contrats : types complets et docstrings de methode protegees 2026-08-23 17:53:12 +02:00
test_core.py L'overlay devient une barre de dictee au lieu d'un cercle 2026-08-21 00:46:56 +02:00
test_detection_micro_muet.py Zonza previent quand le micro ne lui envoie rien 2026-08-21 12:18:45 +02:00
test_garde_overlay.py L'overlay ne peut plus rester fige a l'ecran 2026-08-21 01:48:07 +02:00
test_garde_transcription.py Le peripherique audio ne peut plus geler l'interface 2026-08-21 12:14:47 +02:00
test_geometrie.py Overlay reduit d'un quart, et sa geometrie devient proportionnelle 2026-08-21 00:49:38 +02:00
test_interface.py Deplace l'overlay Cocoa derriere le contrat Overlay, sans le modifier 2026-08-23 18:13:12 +02:00
test_liberation_flux.py Le controleur passe par les contrats, la duplication disparait 2026-08-23 18:19:25 +02:00
test_modele_par_moteur.py A chaque moteur son modele, et un forcage manuel 2026-08-23 18:45:14 +02:00
test_moteur.py Ajoute le moteur faster-whisper, pour les machines sans Apple Silicon 2026-08-23 18:38:09 +02:00
test_single_instance.py Extrait les appels macOS derriere le contrat Systeme 2026-08-23 17:57:52 +02:00
test_statut_bulle.py Le menu Sons refonctionne, et le transcripteur porte son nom francais 2026-08-23 18:25:08 +02:00
test_systeme.py Extrait les appels macOS derriere le contrat Systeme 2026-08-23 17:57:52 +02:00
test_vocabulaire.py Whisper recoit le vocabulaire metier en amorce 2026-08-21 00:28:52 +02:00
test_waveform.py L'overlay devient une barre de dictee au lieu d'un cercle 2026-08-21 00:46:56 +02:00