Skip to content

About

🎙️ Intercom de régie temps réel sur réseau local : push-to-talk par bus, mix-minus et retours plateau. Windows, Opus, sans installation.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Logo py-intercom

py-intercom

L'intercom de régie, sur votre réseau local.
Push-to-talk, mix-minus et retours plateau en temps réel, avec de simples PC Windows.

Dernière version Build Windows Licence


Télécharger py-intercom

Un seul installateur pour la Régie et les postes ; le rôle se choisit au lancement. Les mises à jour se proposent dans l'application (bouton « ⬆ Version X » en haut à droite).


Fenêtre du serveur Régie

✨ Pourquoi py-intercom

🎙️ Push-to-talk par bus

Trois destinations : Régie, Plateau et VMix. Chaque bus a son pad et sa touche, en mode PTT, Bascule ou micro ouvert.

🎧 Mix-minus automatique

Chaque opérateur entend l'équipe, jamais sa propre voix. Le programme peut s'ajouter en retour, avec un volume réglable.

⚡ Temps réel avant tout

Opus 48 kHz, trames de 10 ms. Une dérive d'horloge ou une rafale réseau est rattrapée toute seule : le retard ne s'accumule jamais.

🔊 Sorties physiques

Le serveur envoie Plateau et VMix vers les cartes son de votre choix : retours de scène, régie vidéo, enregistrement.

🛡️ Sûr pendant le live

Aucune prise de parole fantôme : un micro ne s'ouvre que sur une session vérifiée, et tout PTT est relâché au moindre doute.

🩺 Une vraie console

Le serveur se lit comme une table de mixage : une tranche par poste avec voyants de parole, faders et vu-mètres LED, puis les bus et les sorties.

🎬 Le poste client

Fenêtre du client

Un grand pad par destination, qui s'allume quand vous parlez : maintenez-le à la souris ou utilisez votre raccourci clavier, même fenêtre réduite. À droite, vos niveaux d'écoute. Le serveur (découvert automatiquement), le micro, le casque et les touches se règlent dans l'onglet Réglages.

Voir l'onglet Réglages
Réglages du client

✅ Tester avant le live

Le bouton Tester micro et casque… vérifie en 15 secondes le réseau, les raccourcis PTT, le micro et le casque. Ce qui passe le test s'ouvrira à la connexion.

Test micro et casque du poste

🎛️ Pilotable depuis un Stream Deck

Option Contrôle à distance : POST /ptt/regie/on, /off, /toggle et GET /status pour Stream Deck, Bitfocus Companion ou vos scripts. Voir le protocole.

🔉 Le programme s'efface quand on vous parle

Bouton Baisser quand on me parle sur la tranche Programme : pendant qu'on vous parle, le Return (le programme) baisse de 15 dB dans votre casque, puis remonte en douceur.

⚙️ Comment ça marche

flowchart LR
    A["🎧 Cadreur"] <-->|voix| S
    B["🎧 Plateau"] <-->|voix| S
    C["🎧 Réalisation"] <-->|voix| S
    S{{"🎛️ Serveur Régie<br/>routage · mix-minus"}}
    S -->|bus Plateau| P["🔊 Retours plateau"]
    S -->|bus VMix| V["🎬 VMix / enregistrement"]
    R["📺 Programme"] -->|Return| S
Loading

Une machine fait tourner le serveur, chaque opérateur lance un client. L'audio circule en UDP sur le réseau local ; une session de contrôle TCP doit être validée avant que le micro d'un poste ne puisse s'ouvrir.

🚀 Démarrer en 3 étapes

  1. Sur la machine Régie : lancer py-intercom (menu Démarrer), choisir Régie, ajouter les sorties physiques, cliquer sur Démarrer.
  2. Sur chaque poste : lancer py-intercom (menu Démarrer), choisir Poste, puis le serveur, le micro et le casque, et cliquer sur Connecter.
  3. Attendre « En ligne », régler les touches PTT, puis faire un tour de micro.

Le choix du rôle peut être retenu sur chaque PC ; maintenir Maj au lancement pour le revoir. Si l'opérateur Régie parle aussi, le bouton 🎧 Poste sur ce PC de la Régie ouvre un poste déjà réglé sur ce serveur. Un seul exemplaire de chaque rôle tourne par PC : relancer py-intercom remet la fenêtre déjà ouverte au premier plan. La croix de la fenêtre la réduit seulement (pas de coupure par un clic de travers) ; pour quitter, utiliser le bouton ⏻ de l'en-tête ou Ctrl+Q. Le menu Démarrer contient aussi les raccourcis py-intercom Régie et py-intercom Poste (--role server / --role client).

Ports utilisés : UDP 5000 (audio), TCP 5001 (contrôle), UDP 5002 (découverte). Le guide d'exploitation couvre les gains, les casques Bluetooth et le dépannage.

📚 Documentation

Document Contenu
🎚️ Guide d'exploitation Mise en place, PTT, gains, Bluetooth, dépannage
🧭 Architecture Organisation du code, threads, routage, latence
📡 Protocole Paquets audio UDP et contrôle TCP
🛠️ Développement Tests, lint, build, publication des versions
🗺️ Roadmap Décisions, travaux ouverts, qualification

🛠️ Lancer depuis les sources

Avec Python 3.11+ sous Windows, double-cliquer sur un lanceur de launchers/ : l'environnement s'installe tout seul. Ou :

python -m venv .venv
.\.venv\Scripts\python -m pip install -r requirements.txt
.\.venv\Scripts\python run_intercom.py --role server   # ou --role client, ou sans option pour choisir

Chaque push sur main est testé, construit et publié automatiquement en nouvelle version : voir Développement.

Organisation du dépôt
src/py_intercom/   code de l'application (common/, server/, client/)
tests/             tests automatisés, sans carte son
launchers/         lanceurs Windows en double-clic
scripts/           build des exécutables et de la DLL Opus, captures d'écran
bin/               opus.dll (libopus 1.6.1) et son manifeste de build
docs/              documentation et images

📄 Licence

Distribué sous licence CC BY-NC-ND 4.0. Dépendances et provenance de la DLL Opus : THIRD_PARTY_NOTICES.md.

Fait pour les équipes de live. 🎬

About

🎙️ Intercom de régie temps réel sur réseau local : push-to-talk par bus, mix-minus et retours plateau. Windows, Opus, sans installation.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages