# Optimiser pour la voix | Exemples AudioDN

> Capturez n’importe quel enregistrement vocal, livrez une petite variante Opus, et supprimez l’original pour que les bibliothèques à l’échelle de la messagerie vocale restent peu coûteuses à stocker et à streamer.

Source: https://audiodeliverynetwork.com/fr/examples/optimize-for-voice/

---

# Optimiser pour la voix

Transformez messages de répondeur, enregistrements d’appels et notes vocales en quelque chose que vous pouvez vraiment faire évoluer. Uploadez ce que l’enregistreur produit, laissez AudioDN générer un fichier **Opus** optimisé pour la parole à 32 ou 64 kbps, puis supprimez l’original pour ne conserver — et streamer — que la petite archive dont les auditeurs ont besoin.

Opus est conçu pour la parole et le streaming à bas débit. À 32 kbps mono, il sonne souvent plus clair que des encodages MP3/AAC bien plus gros du même message vocal — et votre courbe de stockage s’effondre une fois l’original WAV retiré.

## Ce que vous pouvez livrer

Utilisez ce modèle dès que la parole est le produit : messagerie vocale, archives d’appels support, invites IVR, narration et mémos vocaux. Ces sources sont souvent mono avec une dynamique étroite — conserver pour toujours un WAV de plusieurs mégaoctets (ou un AAC HQ orienté musique) brûle du stockage et de la bande passante pour presque aucun gain perceptuel. Une variante `voice` dédiée donne à chaque upload un fichier prévisible, optimisé pour la parole, que vous pouvez transmettre aux lecteurs, endpoints de téléchargement ou stockage froid.

| Étape | Empreinte typique (~45 s mono) | Notes |
| --- | --- | --- |
| WAV source (48 kHz / 16 bits) | ~4 Mo | Capture lossless / échantillon utilisé ci-dessous |
| Opus `voice` @ 32 kbps mono | ~180 Ko | Parole claire ; idéal pour messagerie vocale et bibliothèques IVR |
| Opus `voice` @ 64 kbps mono | ~360 Ko | Marge supplémentaire pour lignes bruitées ou accents plus denses |

C’est environ une réduction **20×–40×** par rapport au WAV source avant de supprimer l’original. À l’échelle d’une bibliothèque — des milliers de messages — vous passez de « tout garder pour toujours » à « ne garder que ce que les auditeurs écoutent vraiment ».

## 1\. Uploader un enregistrement vocal de n’importe quelle qualité

Sautez le réencodage côté client. Apps téléphone, exports Zoom, enregistreurs bas de gamme et WAV studio peuvent tous atterrir dans la même collection — AudioDN analyse le fichier et construit les variantes à partir de la meilleure source disponible. Préférez la plus haute qualité dont vous disposez à l’upload (WAV / FLAC / AIFF si possible) pour que l’encodage Opus parte d’un signal propre.

Ce parcours utilise un échantillon de répondeur généré — un bip classique suivi d’une mère insistante qui demande, avec un timing comique maximal, quand arrivent les petits-enfants. Téléchargez le WAV source si vous voulez lancer l’upload vous-même : [answering-machine-message.wav](/examples/answering-machine-message.wav).

Créer une session d’upload

#### Exemple de requête

  

```
# COLLECTION_ID: uuid de la collection dans laquelle uploader
curl -X POST "https://api.audiodelivery.net/v1/upload_session" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "collection_id": "COLLECTION_ID",
  "expires_in": 7200
}'
```

```
// COLLECTION_ID: uuid de la collection dans laquelle uploader

const payload = {
  "collection_id": "COLLECTION_ID",
  "expires_in": 7200
};

const response = await fetch('https://api.audiodelivery.net/v1/upload_session', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(payload)
});

const data = await response.json();
```

```
# COLLECTION_ID: uuid de la collection dans laquelle uploader

import requests

headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
}

payload = {
    "collection_id": "COLLECTION_ID",
    "expires_in": 7200
}

response = requests.post(
    "https://api.audiodelivery.net/v1/upload_session",
    headers=headers,
    json=payload,
)
data = response.json()
```

Créer une piste dans la session

#### Exemple de requête

  

```
# SESSION_ID: upload_session_id de l’appel précédent
curl -X POST "https://api.audiodelivery.net/v1/upload/SESSION_ID/track" \
  -H "Content-Type: application/json" \
  -d '{
  "file_name": "answering-machine-message.wav"
}'
```

```
// SESSION_ID: upload_session_id de l’appel précédent

const payload = {
  "file_name": "answering-machine-message.wav"
};

const response = await fetch('https://api.audiodelivery.net/v1/upload/SESSION_ID/track', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(payload)
});

const data = await response.json();
```

```
# SESSION_ID: upload_session_id de l’appel précédent

import requests

headers = {
    "Content-Type": "application/json",
}

payload = {
    "file_name": "answering-machine-message.wav"
}

response = requests.post(
    "https://api.audiodelivery.net/v1/upload/SESSION_ID/track",
    headers=headers,
    json=payload,
)
data = response.json()
```

Uploader les octets du fichier

PUT track\_upload.upload\_url

```
# PUT les octets d'enregistrement vers track_upload.upload_url.
# Tout audio pris en charge fonctionne — partez de la meilleure qualité dont vous disposez (WAV montré ici).
curl -X PUT "$UPLOAD_URL" \
  --data-binary @answering-machine-message.wav \
  -H "Content-Type: audio/wav"
```

Interrogez `GET /v1/track/:track_id` jusqu’à ce que `track_status_id` soit `ready`. Les variantes à l’échelle de l’organisation se terminent pendant ce passage — y compris un fichier Original Upload si cette recette est activée. Détails des sessions d’upload : [API Upload Sessions](/docs/api/upload-sessions).

## 2\. Transcoder vers une variante Opus voix

Créez une variante `transcode` nommée `voice` avec `codec: “opus”`. Pour la parole, commencez à **32 kbps mono** — nettement plus petit que les presets musique, encore intelligible sur écouteurs et téléphones. Montez à **64 kbps** quand vous avez besoin de plus de fidélité pour des sources bruitées. Supprimez les tags et la pochette ; ils ne font que gaspiller des octets sur la messagerie vocale.

Configurez la recette une fois dans le tableau de bord pour que chaque upload obtienne automatiquement un fichier `voice`, ou ajoutez-la à une piste prête avec l’API Variants (ci-dessous). Seuls les codecs lossy sont autorisés sur cet endpoint — Opus est exactement ce qu’il faut ici.

Recommandé : Opus 32 kbps mono

#### Exemple de requête

  

```
# TRACK_ID: uuid de la piste prête
curl -X POST "https://api.audiodelivery.net/v1/track/TRACK_ID/variant" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "variant_type_id": "transcode",
  "index": "voice",
  "codec": "opus",
  "bitrate": 32,
  "is_stereo": false,
  "is_strip_tags": true,
  "is_strip_cover": true
}'
```

```
// TRACK_ID: uuid de la piste prête

const payload = {
  "variant_type_id": "transcode",
  "index": "voice",
  "codec": "opus",
  "bitrate": 32,
  "is_stereo": false,
  "is_strip_tags": true,
  "is_strip_cover": true
};

const response = await fetch('https://api.audiodelivery.net/v1/track/TRACK_ID/variant', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(payload)
});

const data = await response.json();
```

```
# TRACK_ID: uuid de la piste prête

import requests

headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
}

payload = {
    "variant_type_id": "transcode",
    "index": "voice",
    "codec": "opus",
    "bitrate": 32,
    "is_stereo": False,
    "is_strip_tags": True,
    "is_strip_cover": True
}

response = requests.post(
    "https://api.audiodelivery.net/v1/track/TRACK_ID/variant",
    headers=headers,
    json=payload,
)
data = response.json()
```

Optionnel : 64 kbps si vous avez besoin de plus de marge

#### Alternate Request

  

```
# TRACK_ID: uuid de la piste prête
curl -X POST "https://api.audiodelivery.net/v1/track/TRACK_ID/variant" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "variant_type_id": "transcode",
  "index": "voice",
  "codec": "opus",
  "bitrate": 64,
  "is_stereo": false,
  "is_strip_tags": true,
  "is_strip_cover": true
}'
```

```
// TRACK_ID: uuid de la piste prête

const payload = {
  "variant_type_id": "transcode",
  "index": "voice",
  "codec": "opus",
  "bitrate": 64,
  "is_stereo": false,
  "is_strip_tags": true,
  "is_strip_cover": true
};

const response = await fetch('https://api.audiodelivery.net/v1/track/TRACK_ID/variant', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(payload)
});

const data = await response.json();
```

```
# TRACK_ID: uuid de la piste prête

import requests

headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
}

payload = {
    "variant_type_id": "transcode",
    "index": "voice",
    "codec": "opus",
    "bitrate": 64,
    "is_stereo": False,
    "is_strip_tags": True,
    "is_strip_cover": True
}

response = requests.post(
    "https://api.audiodelivery.net/v1/track/TRACK_ID/variant",
    headers=headers,
    json=payload,
)
data = response.json()
```

#### L’index doit être unique

La valeur `index` (`voice`) ne doit pas entrer en collision avec une variante organisation ou piste existante. Choisissez une recette de débit par index — ne POSTez pas à la fois 32 et 64 sous le même nom `voice`.

La piste repasse en `processing` pendant la construction d’Opus, puis revient à `ready`. Référence des paramètres : [API Variants](/docs/api/variants).

## 3\. Supprimer l’original quand vous êtes satisfait

Tant que vous affinez encore les recettes, conservez l’Original Upload pour pouvoir régénérer des variantes. Une fois que `voice` sonne correctement et que vous n’avez plus besoin de retraitement, supprimez l’original pour récupérer le gros WAV (ou autre source) du stockage. Ensuite, AudioDN ne peut plus générer de nouvelles variantes pour cette piste — seuls les fichiers restants (comme `voice`) restent disponibles pour la lecture et le téléchargement.

Dans le tableau de bord, ouvrez la piste → fichiers / variantes, confirmez que `voice` est prêt, puis retirez l’Original Upload. Voir [Original Upload](/docs/variant-types#original-upload) pour le compromis : les originaux sont une assurance ; une fois satisfait du résultat Opus, ce n’est plus guère que de la nostalgie coûteuse.

Modèle pour produits de messagerie vocale / archivage : uploader en haute qualité → attendre `voice` → supprimer l’original → livrer uniquement `variants=“voice”` pour toujours.

## 4\. Lire uniquement la variante voix

Pointez le lecteur vers la piste et demandez `variants=“voice”` avec une clé Client-Side Player. Les auditeurs ne téléchargent jamais la source de plusieurs mégaoctets — seulement le fichier Opus que vous avez décidé de garder.

#### Dépendance

 

```
npm install @audiodn/components
```

```
<script type="module" src="https://unpkg.com/@audiodn/components@latest/dist/player.js"></script>
```

#### Utilisation

```
<script type="module">
  import '@audiodn/components/player';
</script>

<audiodn-player
  api-key="YOUR_PLAYER_API_KEY"
  scope="track"
  id="9b46405d-edc0-497c-9c36-4c97ceb15337"
  variants="voice"
  size="regular"
></audiodn-player>
```

### Démo live

La lecture est la variante Opus `voice` de l’échantillon de répondeur — entendez l’empreinte que vous pouvez livrer.

Démo de messagerie vocale — échantillon généré pour cet exemple (bip de répondeur + message).

Plus d’options de lecteur : [docs du composant Player](/docs/components/player).

## Checklist

-   Uploadez la source vocale de plus haute qualité dont vous disposez (WAV montré ; tout format pris en charge fonctionne).
-   Une variante `voice` existe avec `codec: “opus”`, mono, et 32 (ou 64) kbps.
    
-   Écoutez `variants=“voice”` et confirmez que la qualité de parole convient à votre produit.
-   Supprimez l’Original Upload quand vous n’avez plus besoin de régénérer des variantes — ne gardez que l’archive Opus économique.

Publié 14 juillet 2026
