Aller au contenu

API locale

Experimental

L'API HTTP locale est experimentale. Sa conception peut changer dans les futures versions.

L'API locale permet a d'autres applications d'envoyer des fichiers audio a Murmure pour transcription sans utiliser l'interface graphique.

Demarrage rapide

  1. Ouvrez Murmure
  2. Allez dans Parametres > Systeme
  3. Trouvez API locale (Experimental) et activez-la
  4. L'API demarre sur http://localhost:4800
  5. (Optionnel) Changez le port si necessaire

L'API tourne tant que Murmure est ouvert.

Endpoint

POST http://localhost:4800/api/transcribe

Envoyez un formulaire multipart avec un fichier WAV :

curl -X POST http://127.0.0.1:4800/api/transcribe \
  -F "audio=@enregistrement.wav" \
  | jq '.text'

Reponse

Succes (200) :

{
  "text": "Bonjour a tous, voici la transcription complete..."
}

Erreur (4xx/5xx) :

{
  "error": "Message d'erreur decrivant le probleme"
}

Exemples de code

import requests

with open('audio.wav', 'rb') as f:
    response = requests.post(
        'http://localhost:4800/api/transcribe',
        files={'audio': f}
    )
    print(response.json()['text'])
const fs = require('fs');
const FormData = require('form-data');
const axios = require('axios');

const form = new FormData();
form.append('audio', fs.createReadStream('enregistrement.wav'));

const response = await axios.post(
  'http://localhost:4800/api/transcribe',
  form,
  { headers: form.getHeaders() }
);
console.log(response.data.text);
curl -X POST http://localhost:4800/api/transcribe \
  -F "audio=@enregistrement.wav" \
  | jq '.text'

Limitations

Contrainte Valeur
Format audio WAV uniquement
Taille max 100 Mo
Frequence optimale 16kHz mono (les autres sont reechantillonnes)
Streaming temps reel Non supporte
Requetes concurrentes Sequentielles uniquement
Acces reseau localhost / 127.0.0.1 uniquement
CORS Desactive

Notes

  • Le dictionnaire personnalise est automatiquement applique
  • La langue est detectee automatiquement
  • La premiere requete est plus lente (chargement du modele)
  • Le port est configurable entre 1024 et 65535