Speech-to-Text

Speech-to-text per lo svizzero tedesco

In entrata svizzero tedesco, in uscita testo pulito in tedesco standard, con i tempi di ogni parola e il grado di confidenza. Audio in streaming dal vivo per i voicebot, oppure registrazioni di qualsiasi durata come job batch.

Tempo reale CHF 2.20 all'ora, batch CHF 1.35 all'ora. Fatturazione al secondo.

Tempo reale via WebSocket

Trascrizioni parziali ogni 250 ms mentre chi chiama parla, e il testo finale circa 0.1 s dopo che ha smesso di parlare.

File batch e registrazioni lunghe

Fino a 25 MB in una singola richiesta, fino a 200 MB come job. Le registrazioni lunghe vengono trascritte in circa un terzo della loro durata.

Rilevamento della lingua

Indichi fino a otto lingue candidate, oppure «auto» per tedesco, francese, italiano e inglese. Ogni risultato riporta la lingua parlata.

Il Suo vocabolario

Fino a 200 nomi, prodotti e toponimi per richiesta, affinché i Suoi termini risultino corretti fin dal primo tentativo.

Tempi delle parole e confidenza

Ogni parola con inizio, fine e grado di confidenza, pronta per sottotitoli, ricerca e controlli di qualità.

Audio telefonico

Funziona sia con l'audio delle chiamate in banda stretta a 8 kHz sia con le registrazioni da studio. Sono accettati tutti i contenitori audio più comuni.

Trascrivere un file

POST /v1/stt
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"]'

Cosa si riceve

200 OK
{
  "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 }
  ]
}

Audio dal vivo in streaming

wss://api.suisse-speech.ch/v1/stt/stream
import WebSocket from 'ws';

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' }));
  // Then send 16 kHz mono PCM16 as binary frames, at real-time pace,
  // and finish with {"type": "audio.end"}.
});

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') answer(msg.lang, msg.text);
});

Come il dialetto diventa testo

Lo svizzero tedesco non ha un'ortografia standard: due persone di Berna scriverebbero la stessa frase in due modi diversi. Per questo l'API scrive in tedesco standard ciò che è stato detto. Così le trascrizioni restano ricercabili e coerenti, ed è esattamente ciò che si aspettano i modelli linguistici e le analisi a valle. Il dialetto in sé non viene indicato: la varietà in cui rispondere la sceglie Lei.

Svizzero tedesco →

Domande frequenti

Quali formati audio posso inviare?

Qualsiasi contenitore comune: WAV, MP3, Ogg/Opus, FLAC, AAC e PCM16 grezzo. Per lo stream in tempo reale invii PCM16 mono a 16 kHz.

Quanto è preciso con lo svizzero tedesco?

Dipende dal Suo audio: microfono, qualità della linea, rumore di fondo, vocabolario. Non pubblichiamo un unico valore di precisione. Lo verifichi sulle Sue registrazioni con i 60 minuti gratuiti.

Distingue lo zurighese dal bernese?

No. Il riconoscimento indica la lingua (per esempio de-CH), non il dialetto regionale. Se desidera rispondere in dialetto, lo sceglie Lei per ogni implementazione, linea o regione.

Una conversazione può passare da una lingua all'altra?

Sì. Con più lingue candidate, ogni risultato parziale e finale riporta la lingua di quel tratto di parlato, per cui un cambio di lingua è visibile nel momento stesso in cui avviene.

Lo provi con il Suo audio

Ottenga 60 minuti gratuiti di speech-to-text e text-to-speech. Nessuna carta di credito richiesta.