Réunions et transcription
Control Center peut enregistrer un appel et vous remettre un compte rendu propre — un résumé, des actions et des décisions — avec la reconnaissance vocale et la séparation des locuteurs qui s’exécutent sur votre propre matériel. Pensez à Granola, mais auto-hébergé et branché sur le même espace de travail que celui où vivent vos agents.
Qu’est-ce qu’une réunion
Section intitulée “Qu’est-ce qu’une réunion”Une réunion est une séance enregistrée et transcrite. Ce n’est pas la même chose qu’un événement de calendrier : un événement est un engagement planifié synchronisé depuis Google, tandis qu’une réunion est quelque chose que vous avez réellement enregistré. Les deux peuvent être liés, puisque vous pouvez démarrer un enregistrement à partir d’un événement, mais ils demeurent des enregistrements distincts.
Chaque réunion est rattachée à un espace de travail, comme tout le reste dans Control Center. Les réunions enregistrées dans un espace de travail ne remontent jamais dans un autre.
Où le travail se fait
Section intitulée “Où le travail se fait”« Sur l’appareil » est la bonne intuition, mais pas le bon terme. Le client capte
l’audio et diffuse des trames PCM16 à 16 kHz vers la machine qui exécute
cc_server. Cet hôte fait tout le reste : il écrit les fichiers WAV par canal
sous <dataDir>/meetings/<meetingId>/, transcrit dans un isolat de worker,
filtre l’écho et effectue la diarisation après coup. Sur un poste de bureau
autonome, cet hôte est la même machine. Dirigé vers un serveur distant, ce n’est
plus le cas — donc « rien ne quitte mon ordinateur portable » n’est vrai que
lorsque le serveur est votre ordinateur portable.
Il existe une autre exception, et c’est la plus importante.
Tout ce qui précède le résumé — la capture, la transcription, l’annulation d’écho, la diarisation, la correspondance des empreintes vocales — s’exécute sur le serveur sans aucun appel réseau.
Quels modèles sont fournis
Section intitulée “Quels modèles sont fournis”Les modèles d’embedding, de diarisation et de reconnaissance vocale (ASR) sont installés de force au premier démarrage (sauf en mode démo), de sorte que la séparation des locuteurs et l’enregistrement sont disponibles sans passer par les paramètres. La reconnaissance vocale (ASR) reste sélectionnable — elle pèse plusieurs centaines de mégaoctets, et quatre variantes figurent dans le sélecteur. La reconnaissance vocale nécessite tout de même un redémarrage après ce premier téléchargement, parce que le transcripteur résout son modèle avant que la récupération puisse se terminer.
Les quatre entrées du sélecteur, qui diffèrent par la taille, la couverture linguistique et la précision :
- Parakeet TDT 0.6B v3 — multilingue, la valeur par défaut recommandée (~600 Mo)
- Parakeet TDT 0.6B v2 — anglais (~480 Mo)
- Whisper large-v3-turbo — multilingue (~626 Mo)
- Whisper base.en — anglais seulement, l’ancienne petite valeur par défaut (~198 Mo)
Les modèles sont les seuls artéfacts que le serveur télécharge à l’exécution ; chaque bibliothèque native est livrée dans le paquet.
Comment fonctionne la capture
Section intitulée “Comment fonctionne la capture”Une réunion enregistre deux canaux audio à la fois :
- Vous (« moi ») : votre microphone.
- Les autres (« eux ») : la sortie audio de la réunion, captée par un bouclage sans pilote — dérivations de processus et d’appareil Core Audio sur macOS, bouclage WASAPI sur Windows, moniteur PipeWire / PulseAudio sur Linux.
Comme les deux canaux sont captés séparément, la transcription est attribuée par
locuteur dès le départ : vos paroles portent l’étiquette me, et toutes les
personnes en ligne portent l’étiquette them.
Votre propre voix s’infiltre de la sortie système vers le micro et serait autrement transcrite deux fois. Deux filtres l’empêchent. Au niveau du signal, l’AEC3 s’exécute sur chaque enregistrement en mode à distance et est obligatoire — si la bibliothèque AEC native ne peut pas se charger, l’enregistrement refuse de démarrer plutôt que de diffuser en silence un micro pollué par l’écho. (Le mode en personne n’a aucune référence de bout opposé à annuler, donc l’AEC y laisse passer le signal tel quel.) Par-dessus, un filtre d’écho textuel côté hôte s’exécute sur toutes les plateformes.
Tout traitement du microphone au niveau du système d’exploitation est délibérément désactivé. Activer l’annulation d’écho ou le gain automatique de la plateforme sur macOS fait basculer le micro vers l’interface d’E/S de traitement vocal, ce qui, dans cette version, a fait mourir à la fois le micro et la dérivation de l’audio du système.
Transcription et diarisation
Section intitulée “Transcription et diarisation”Pendant l’enregistrement, l’audio est décodé par fenêtres glissantes — découpées sur un court silence de fin ou à une longueur de fenêtre maximale — en dehors du fil de l’interface. Chaque fenêtre devient un segment de transcription étiqueté par locuteur, avec des décalages en millisecondes.
Les fenêtres qui n’ont jamais dépassé un seuil RMS sont ignorées sans être décodées du tout, parce qu’un modèle vocal rend le silence sous forme de jetons non vocaux hallucinés, et ce décodage gaspille du CPU. Conséquence pratique : un locuteur constamment très discret ne produit aucune transcription. Si quelqu’un revient sans texte, vérifiez son niveau d’entrée avant de blâmer le modèle.
Après l’arrêt, la diarisation s’exécute hors ligne sur l’enregistrement et
sépare le canal distant en locuteurs individuels (Person 1, Person 2, …) que
vous pouvez renommer. Le nombre de locuteurs est déduit d’un seuil de
regroupement, et non d’un nombre que vous fixez — il s’agit donc d’un artéfact
de seuil, et un locuteur discret ou qui chevauche un autre peut être fusionné
avec son voisin. La transcription est rendue sous forme de lignes
[mm:ss] SPEAKER: text.
Profils vocaux
Section intitulée “Profils vocaux”Renommer un locuteur fait plus que d’étiqueter une transcription. Control Center peut enregistrer l’empreinte vocale du locuteur sous forme de profil vocal, afin de le reconnaître automatiquement lors des réunions suivantes. Lorsque vous nommez un locuteur ayant fait l’objet d’une diarisation, on vous demande si vous voulez enregistrer son empreinte vocale ; si vous le faites, elle est fusionnée dans un centroïde cumulatif associé à ce nom et comparée aux nouveaux locuteurs par similarité cosinus, de sorte que la même personne apparaît avec son nom la prochaine fois sans que vous ayez à la réétiqueter.
Les profils vocaux sont rattachés à l’espace de travail et n’en franchissent jamais la frontière. Gérez-les dans Paramètres → Espace de travail → Réunions. Renommer un locuteur qui avait déjà été enregistré désinscrit l’ancien nom et propose d’inscrire le nouveau ; supprimer un profil efface l’empreinte vocale conservée, mais laisse intacts les noms déjà appliqués dans les réunions passées.
Le pipeline de résumé
Section intitulée “Le pipeline de résumé”À l’arrêt d’un enregistrement, le serveur publie un
événement de domaine
MeetingRecordingStopped. Le modèle de pipeline intégré meeting_summary
est déclenché par cet événement. L’enregistreur ne l’attend pas ; la réunion
traverse simplement son cycle de vie d’états :
recording → processing → doneL’agent de synthèse reçoit le titre, vos notes brutes prises en direct et la transcription, puis renvoie du JSON structuré. Les sections qu’il rédige sont déterminées par le modèle de notes de réunion actif de l’espace de travail (Paramètres → Espace de travail → Réunions) ; le modèle actif s’applique aux nouveaux résumés et aux relances. Les étapes de persistance du pipeline écrivent ensuite ce JSON dans des lignes distinctes :
enhancedNotesetsummary→ les notes de la réunion- chaque action → une ligne
MeetingActionItem(contenu, responsable, lien de ticket facultatif) - chaque décision → une ligne
MeetingDecision
Les actions et les décisions ne sont jamais extraites d’un markdown libre,
seulement des tableaux structurés de l’agent. Si une exécution ne produit aucune
sortie structurée, les étapes de persistance sont ignorées et la transcription
brute est conservée comme solution de rechange, de sorte que vous ne perdez
jamais la trace. Rien dans le pipeline ne marque la réunion comme done — un
seul réconciliateur s’en charge à partir de l’événement terminal de l’exécution,
de sorte qu’une étape voisine qui échoue ne peut pas laisser en plan une réunion
à moitié écrite qui semble déjà terminée.
Où les réunions apparaissent
Section intitulée “Où les réunions apparaissent”| Surface | Ce qu’elle affiche |
|---|---|
/meetings |
La liste des réunions, avec le nombre d’actions et de décisions |
/meetings/record |
L’interface d’enregistrement en direct : vos notes d’un côté, la transcription diffusée de l’autre |
/meetings/:meetingId |
Le détail d’une réunion : les onglets Notes, Transcription, Tâches et Décisions |
| Paramètres → Espace de travail → Réunions | Modèles de notes et profils vocaux enregistrés pour cet espace de travail |
Prise en charge des plateformes
Section intitulée “Prise en charge des plateformes”La capture ne nécessite aucun pilote sur les trois plateformes de bureau (dérivations Core Audio sur macOS, WASAPI sur Windows, PipeWire sur Linux).
Le client Web enregistre lui aussi, ce que le reste de cette page, axé sur le
bureau, peut masquer : le navigateur prend votre micro par getUserMedia et
l’audio de la réunion par getDisplayMedia (partage d’écran), réduit
l’échantillonnage à du PCM16 à 16 kHz et diffuse vers le même hôte. Trois
réserves s’appliquent ici :
- La surface partagée doit contenir une piste audio. Le partage plein écran de Safari, de Firefox et de macOS n’en fournit aucune, et l’enregistrement refuse de démarrer.
- Il n’y a pas d’AEC3 natif. L’annulation d’écho propre au navigateur est demandée sur le micro ; le filtre d’écho textuel côté hôte s’exécute tout de même. L’interface affiche un indicateur de niveau d’entrée alimenté par le PCM du micro.
- Relancer le résumé et annuler le traitement ne sont offerts que sur le bureau.
L’action Enregistrer et lier du calendrier n’existe que sur le bureau et l’indique clairement sur le Web, même si le flux d’enregistrement propre à l’écran des réunions y fonctionne.
Voir aussi
Section intitulée “Voir aussi”- Calendrier et planification : enregistrez une réunion directement à partir d’un événement de calendrier
- Pipelines et automatisation : le moteur derrière
meeting_summary - Tickets et délégation : liez les actions d’une réunion à des tickets
- Événements de domaine :
MeetingRecordingStoppedetMeetingStartingSoon - Enregistrer et résumer une réunion