Vocal Bridge : Intégrer la Voix dans vos Applications et Agents IA
Découvrez Vocal Bridge, la plateforme unifiée pour ajouter des interfaces vocales à vos applications et agents IA. Simplifiez le développement de la voix avec des SDKs React/Python et des outils CLI.
Introduction

Vocal Bridge est une plateforme entièrement gérée qui permet aux développeurs d'intégrer des interfaces vocales intelligentes dans leurs applications et agents IA en quelques minutes, simplifiant ainsi la complexité de la pile technologique vocale.
Précis de configuration
| Élément | Version / Lien |
|---|---|
| Langage / Runtime | JavaScript (React), Python |
| Librairie principale (JS) | @vocalbridgeai/sdk, @vocalbridgeai/react |
| Librairie principale (Python) | vocal-bridge (via pip install vocal-bridge) |
| APIs requises | API Vocal Bridge (pour la génération de jetons et les appels sortants) |
| Clés / credentials nécessaires | VOCALBRIDGE_API_KEY (pour l'authentification côté serveur) |
Guide étape par étape
Étape 1 — Intégrer la voix dans votre application React

Cette section explique comment ajouter une interface vocale à une application web existante ou en construire une nouvelle avec Vocal Bridge, permettant une interaction multimodale fluide.
Étape 1.1 — Installer les dépendances
Installez les SDK React et JavaScript de Vocal Bridge.
npm install @vocalbridgeai/sdk @vocalbridgeai/react
Étape 1.2 — Envelopper votre application avec le fournisseur Vocal Bridge
Le VocalBridgeProvider initialise le client Vocal Bridge et rend ses fonctionnalités disponibles dans toute votre application. Le jeton d'authentification doit être généré côté serveur pour des raisons de sécurité.
import { VocalBridgeProvider } from '@vocalbridgeai/react';
import { createClient } from '@vocalbridgeai/sdk';
export default function App({ children }) {
// Le jeton doit être obtenu via un appel API sécurisé à votre backend,
// et non exposé directement côté client.
const client = createClient({
token: "TopSecretToken" // [Note de l'éditeur : jeton à récupérer depuis un endpoint serveur sécurisé]
});
return (
<VocalBridgeProvider client={client}>
{children}
</VocalBridgeProvider>
);
}
Étape 1.3 — Gérer les actions bidirectionnelles
Configurez la communication entre l'agent vocal et votre application. L'agent peut envoyer des actions à l'application (expect) et l'application peut envoyer des actions à l'agent (client.sendAction).
import { useClient, useExpectations } from '@vocalbridgeai/react';
import { useState } from 'react'; // Exemple pour la gestion d'état
export default function MyGame() {
const client = useClient();
const { expect } = useExpectations();
const [board, setBoard] = useState(Array(9).fill(null)); // Exemple d'état du jeu
// L'agent vocal décide de jouer : il envoie une action "place_mark" à l'application.
expect("place_mark", (res) => {
const [row, col] = res.payload;
// Mettre à jour l'interface utilisateur en fonction du mouvement de l'agent
setBoard(prevBoard => {
const newBoard = [...prevBoard];
newBoard[row * 3 + col] = 'O'; // Supposons que l'agent joue 'O'
return newBoard;
});
});
// L'utilisateur interagit avec l'application (ex: clique sur une case) :
// l'application envoie une action "user_place_mark" à l'agent vocal.
const handleUserMove = (row, col) => {
setBoard(prevBoard => {
const newBoard = [...prevBoard];
newBoard[row * 3 + col] = 'X'; // Supposons que l'utilisateur joue 'X'
client.sendAction("user_place_mark", { row, col, board: newBoard });
return newBoard;
});
};
return (
<div className="tic-tac-toe-board">
{board.map((cell, index) => (
<button key={index} onClick={() => handleUserMove(Math.floor(index / 3), index % 3)}>
{cell}
</button>
))}
</div>
);
}
Étape 1.4 — Décrire les actions à l'agent
Déclarez les actions bidirectionnelles dans un fichier JSON, en utilisant un format déclaratif. Cela permet à l'agent vocal de comprendre les actions que l'application peut effectuer ou recevoir.
[
{
"action": "place_mark",
"direction": "agent_to_app",
"description": "Place un X ou un O sur le plateau de jeu. Charge utile (ligne, colonne)",
"behavior": "respond"
},
{
"action": "user_place_mark",
"direction": "app_to_agent",
"description": "L'utilisateur a placé un marqueur sur une case. Charge utile (ligne, colonne, état du plateau)",
"behavior": "ingest"
}
]
Pour configurer ces actions, utilisez l'interface en ligne de commande (CLI) de Vocal Bridge :
vb push prompt --file prompt.md # [Note de l'éditeur : 'prompt.md' est un exemple de fichier de prompt]
vb config set --client-side-actions-file actions.json
Étape 2 — Donner une voix à votre agent IA
Cette section montre comment ajouter une interface vocale à un agent IA existant (par exemple, un chatbot basé sur un LLM), lui permettant de converser vocalement avec les utilisateurs.
Étape 2.1 — Activer le mode Agent IA
Utilisez la CLI de Vocal Bridge pour activer le mode Agent IA et fournir une description de votre agent. Cette description aide l'agent Vocal Bridge à savoir quand déléguer une requête à votre LLM ou la gérer lui-même (par exemple, pour les petites conversations).
vb config set ai-agent-enabled true
vb config set ai-agent-description "Votre agent alimenté par Claude pour répondre aux questions générales."
Étape 2.2 — Transférer chaque requête à votre LLM
Utilisez le hook useAgent de Vocal Bridge pour intercepter les requêtes vocales et les transférer à votre LLM (par exemple, Claude, GPT). Le LLM répond avec du texte, que Vocal Bridge convertit ensuite en voix.
import { useAgent } from '@vocalbridgeai/react';
import { useState, useEffect } from 'react';
export default function MyAgentChat() {
const { query } = useAgent({
onQuery: async (question) => {
// Transférer la question à votre LLM (ex: Claude, OpenAI)
// Ceci est un exemple d'appel API à votre backend qui interagit avec le LLM.
const response = await fetch('/api/claude', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ question }),
});
const data = await response.json();
return data.answer; // Retourne une chaîne de caractères
}
});
const [chatHistory, setChatHistory] = useState([]);
const handleTextQuery = async (userQuery) => {
setChatHistory(prev => [...prev, { sender: 'user', text: userQuery }]);
const agentResponse = await query(userQuery); // Utilise le hook useAgent pour interagir
setChatHistory(prev => [...prev, { sender: 'agent', text: agentResponse }]);
};
// Rendu de l'interface utilisateur du chat
return (
<div>
{chatHistory.map((msg, index) => (
<div key={index}>
<strong>{msg.sender}:</strong> {msg.text}
</div>
))}
<input
type="text"
onKeyPress={(e) => {
if (e.key === 'Enter') {
handleTextQuery(e.target.value);
e.target.value = '';
}
}}
placeholder="Posez une question..."
/>
</div>
);
}
Étape 3 — Utiliser la voix comme un outil

Cette section illustre comment un agent IA peut utiliser la voix comme un outil pour effectuer des actions du monde réel, comme passer un appel téléphonique.
Étape 3.1 — Déclarer l'outil
Définissez le schéma de l'outil (par exemple, make_phone_call) en utilisant un format standard (comme JSON Schema ou OpenAPI/ToolCall). Cela permet au LLM de comprendre les capacités de l'outil et comment l'utiliser.
// tools.js
export const makePhoneCall = {
name: "make_phone_call",
description: "Passe un appel téléphonique sortant via Vocal Bridge.",
input_schema: {
type: "object",
properties: {
phone_number: { type: "string", description: "Numéro de téléphone au format E.164, ex: +1234567890" },
name: { type: "string", description: "Nom de la personne à appeler" },
purpose: { type: "string", description: "But de l'appel" }
},
required: ["phone_number"]
}
};
Étape 3.2 — Exécuter l'outil côté serveur
Lorsque le LLM décide d'utiliser l'outil, votre backend doit exécuter la fonction correspondante. Dans ce cas, il s'agit de passer un appel téléphonique via l'API Vocal Bridge.
// api/tools.js
import { createClient } from '@vocalbridgeai/sdk';
import { makePhoneCall } from './tools'; // Assumant tools.js est dans le même répertoire
export const runTool = async (toolCall) => {
const client = createClient({
apiKey: process.env.VOCALBRIDGE_API_KEY // Votre clé API Vocal Bridge
});
if (toolCall.name === "make_phone_call") {
const { phone_number, name, purpose } = toolCall.arguments;
const call = await client.call({
to: phone_number,
// L'agent Vocal Bridge gérera la conversation avec l'appelant
// en utilisant le contexte fourni par le LLM.
agent: {
greeting: `Bonjour ${name}, je suis un assistant IA d'Ashwyn. ${purpose}`,
// [Note de l'éditeur : d'autres configurations d'agent peuvent être ajoutées ici]
}
});
return { call_id: call.id, status: "ringing" };
}
// Gérer d'autres outils si nécessaire
return { status: "tool_not_found" };
};
Étape 3.3 — Configurer l'agent sortant
Configurez l'agent Vocal Bridge pour gérer les appels sortants, y compris le message d'accueil initial et le comportement de l'agent pendant la conversation.
vb config set outbound-agent-enabled true
vb config set outbound-agent-greeting "Bonjour, c'est un agent IA qui appelle de la part d'Ashwyn."
vb config set outbound-agent-llm-context "Vous êtes un assistant IA aidant Ashwyn à gérer son emploi du temps."
Tableaux comparatifs
| Caractéristique | Pile vocale traditionnelle | Vocal Bridge |
|---|---|---|
| Complexité de l'intégration | Très élevée (nécessite l'intégration et la gestion de multiples services : STT, TTS, VAD, ASR, RTC, LLM, etc.) | Faible (plateforme unifiée et gérée, SDKs simples) |
| Temps de développement | Semaines à mois pour un MVP, années pour la production | Minutes à heures pour un MVP, jours pour la production |
| Gestion du contexte | Manuelle, sujette aux erreurs, surcharge le LLM | Automatisée, gérée par la plateforme, optimise le LLM |
| Multimodalité | Difficile à implémenter (synchronisation voix/UI) | Intégrée (agent vocal conscient de l'état de l'UI) |
| Appels sortants | Nécessite une infrastructure téléphonique complexe | Fonctionnalité intégrée via des appels de fonction LLM |
| Coût | Élevé (infrastructure, maintenance, expertise) | Optimisé (plateforme gérée, réduction de la latence/coût) |
⚠️ Erreurs fréquentes et pièges
- Exposition des clés API côté client : Ne jamais inclure directement votre
VOCALBRIDGE_API_KEYdans le code client. Utilisez un endpoint de backend pour générer des jetons d'authentification à durée limitée. - Gestion de la latence : Les piles vocales traditionnelles peuvent souffrir d'une latence élevée due à la concaténation de plusieurs services. Vocal Bridge est conçu pour minimiser cela, mais une mauvaise gestion des callbacks ou des requêtes LLM peut toujours introduire des retards.
- Contexte du LLM surchargé : Utiliser le LLM pour gérer toutes les petites conversations et l'état du dialogue peut surcharger sa fenêtre de contexte et augmenter les coûts. Vocal Bridge aide à déléguer ces tâches à l'agent vocal lui-même.
- Manque de gestion bidirectionnelle : Oublier de configurer la communication bidirectionnelle entre l'application et l'agent vocal peut entraîner une expérience utilisateur incohérente où l'agent n'est pas conscient des actions de l'utilisateur via l'interface graphique.
- Non-conformité aux réglementations téléphoniques : Pour les appels sortants, assurez-vous de comprendre et de respecter les termes de service (TOS) et les réglementations (comme la conformité TCPA/TSR) pour éviter les problèmes légaux.
Glossaire
ASR (Automatic Speech Recognition) : Technologie qui convertit la parole humaine en texte écrit.
TTS (Text-to-Speech) : Technologie qui convertit le texte écrit en parole humaine synthétisée.
VAD (Voice Activity Detection) : Algorithme qui détecte la présence d'une activité vocale dans un signal audio, distinguant la parole du bruit de fond.
Points clés à retenir
- Vocal Bridge simplifie considérablement le développement d'interfaces vocales pour les applications et agents IA.
- La plateforme offre une communication bidirectionnelle native entre l'agent vocal et l'application, permettant une interaction multimodale riche.
- Les agents vocaux peuvent avoir une "intelligence" propre pour gérer les conversations simples et déléguer les requêtes complexes à un LLM.
- Il est possible d'utiliser la voix comme un outil, permettant aux agents IA de déclencher des actions du monde réel, comme passer des appels téléphoniques.
- L'intégration se fait via des SDKs React/JS et une CLI Python, avec un accent sur la facilité d'utilisation et la réduction de la complexité de la pile vocale.
Ressources
- Documentation officielle : vocalbridgeai.com
- Code promo :
AIDEV26(pour 500$/mois + 5000 minutes gratuites pendant 3 mois, expire le 1er avril 2026 à 12:00 PM PST) - Support :
support@vocalbridgeai.com