Reconnaissance vocale du suisse allemand
Du suisse allemand en entrée, un texte propre en allemand standard en sortie, avec l’horodatage et l’indice de confiance de chaque mot. Transmettez l’audio en direct pour vos voicebots, ou envoyez des enregistrements de toute durée sous forme de tâches batch.
Temps réel CHF 2.20 par heure, batch CHF 1.35 par heure. Facturation à la seconde.
Temps réel via WebSocket
Des transcriptions partielles toutes les 250 ms pendant que l’appelant parle, et le texte final 0.03 s après le signal de fin de tour de votre voicebot (médiane, mesurée sur le service).
Fichiers batch et longs enregistrements
Jusqu’à 25 Mo en une seule requête, jusqu’à 200 Mo sous forme de tâche. Les longs enregistrements sont transcrits en un tiers environ de leur durée.
Détection de la langue
Indiquez jusqu’à huit langues candidates parmi les 60, ou «auto» pour l’allemand, le français, l’italien et l’anglais. Chaque résultat indique la langue parlée.
Votre propre vocabulaire
Jusqu’à 200 noms, produits et noms de lieux par requête, pour que vos termes soient justes du premier coup.
Horodatage et indice de confiance
Chaque mot avec son début, sa fin et son indice de confiance, prêt pour les sous-titres, la recherche et le contrôle qualité.
Audio téléphonique
Fonctionne aussi bien avec l’audio d’appels en bande étroite à 8 kHz qu’avec des enregistrements studio. Tous les conteneurs audio courants sont acceptés.
Transcrire un fichier
curl -X POST https://api.suisse-speech.ch/v1/stt \
-H "X-API-Key: $SUISSE_SPEECH_KEY" \
-F audio=@call.wav \
-F lang=de-CH \
-F 'vocabulary=["Rüegg", "Bircher", "Glasfaser"]'Ce que renvoie l’API
{
"text": "Grüezi Herr Meier, wie kann ich Ihnen helfen?",
"lang": "de-CH",
"duration_s": 3.82,
"words": [
{ "w": "Grüezi", "start": 0.12, "end": 0.65, "conf": 0.98 },
{ "w": "Herr", "start": 0.70, "end": 0.95, "conf": 0.99 },
{ "w": "Meier", "start": 0.98, "end": 1.40, "conf": 0.97 }
]
}Transmettre l’audio en direct
import WebSocket from 'ws';
// One stream for the whole call.
const ws = new WebSocket('wss://api.suisse-speech.ch/v1/stt/stream', {
headers: { 'X-API-Key': process.env.SUISSE_SPEECH_KEY },
});
ws.on('open', () => {
// Candidates: the spoken language is detected and reported per result.
ws.send(JSON.stringify({ type: 'config', lang: 'de-CH,fr-CH,en', finalize_ack: true }));
// Then send the caller's audio as 16 kHz mono PCM16 binary frames, at real-time pace.
});
// Your voice activity detection: the caller has finished (about 200 ms of silence).
// The finals of the turn follow at once, then finalize.done.
vad.on('end-of-speech', () => {
if (ws.readyState === WebSocket.OPEN) ws.send(JSON.stringify({ type: 'finalize' }));
});
let turn = [];
ws.on('message', (data, isBinary) => {
if (isBinary) return;
const msg = JSON.parse(data.toString());
if (msg.type === 'transcript.partial') showLive(msg.text);
if (msg.type === 'transcript.final') turn.push(msg);
if (msg.type === 'finalize.done' && turn.length) {
answer(turn.at(-1).lang, turn.map((f) => f.text).join(' '));
turn = [];
}
});Comment le dialecte devient du texte
Le suisse allemand n’a pas d’orthographe standard. Deux Bernois écriraient la même phrase de deux façons différentes. L’API écrit donc en allemand standard ce qui a été dit. Les transcriptions restent ainsi consultables et cohérentes, et c’est exactement ce qu’attendent les modèles de langage et les outils d’analyse en aval. Le dialecte lui-même n’est pas indiqué: c’est à vous de choisir la variante dans laquelle répondre.
Questions fréquentes
Quels formats audio puis-je envoyer?
Tous les conteneurs courants: WAV, MP3, Ogg/Opus, FLAC, AAC et PCM16 brut. Pour le flux en temps réel, envoyez du PCM16 mono à 16 kHz.
Quelle est la précision sur le suisse allemand?
Cela dépend de votre audio: microphone, qualité de la ligne, bruit de fond, vocabulaire. Nous ne publions pas de taux de précision unique. Faites le test sur vos propres enregistrements avec les 60 minutes gratuites.
L’API distingue-t-elle le zurichois du bernois?
Non. La reconnaissance indique la langue (par exemple de-CH), pas le dialecte régional. Si vous souhaitez répondre en dialecte, vous le choisissez par déploiement, par ligne ou par région.
Une conversation peut-elle passer d’une langue à l’autre?
Oui. Avec plusieurs langues candidates, chaque résultat partiel et final indique la langue du passage concerné: un changement de langue est donc visible au moment où il se produit.
Faites l’essai avec vos propres enregistrements
Obtenez 60 minutes gratuites de reconnaissance et de synthèse vocales. Aucune carte de crédit requise.