Offre de lancement : Les forfaits Creator et Business sont réduits pour une durée limitée. Voir les tarifs

Standardiser l’audio uploadé pour une lecture fiable

AudioDN est une API de traitement et de livraison audio. Elle prend de l’audio source pris en charge mais inconsistante — un enregistrement téléphone, un export studio, le choix de codec bizarre d’un hébergeur podcast — et produit une variante prévisible, prête à lire, puis la livre via des URL signées. Configurez la sortie une fois (cet exemple utilise AAC à 128 kbps) et AudioDN applique cette recette aux nouveaux uploads automatiquement. Votre application n’uploade que la source, attend la fin du traitement, et demande la variante par nom. Vous ne faites pas tourner FFmpeg, de files de transcodage ni d’infrastructure de livraison.

Ce que normalize signifie ici

Dans cet exemple, normalize signifie standardisation de format : un codec de sortie, un débit et une configuration de canaux cohérents, plus le retrait optionnel des métadonnées et de la pochette, livrés comme une variante nommée. Cela ne signifie pas une normalisation de loudness — AudioDN n’effectue pas de ciblage LUFS, de limitation true-peak, d’ajustement de gain ni de traitement de dynamique dans ce flux de travail.

En un coup d’œil

ProblèmeL’audio uploadé arrive dans des formats, codecs et qualités inconsistants.
EntréeTout audio source pris en charge par AudioDN (par exemple WAV, FLAC, MP3).
SortieUne variante de lecture nommée de façon cohérente — ici aac à 128 kbps, livrée en audio/aac.
ConfiguréUne fois, comme recette de variante à l’échelle de l’organisation (ou par piste via l’API).
Votre application gèreL’upload de la source et l’intégration de la lecture.
AudioDN gèreTraitement, transcodage, stockage et livraison sécurisée.

Comment le flux s’articule

Un upload pris en charge devient un fichier cohérent et lisible en quatre étapes gérées. Le traitement doit se terminer avant la lecture, donc votre application attend que la piste passe à ready puis demande la variante par nom.

Flux de haut niveau
Audio source pris en charge (WAV, FLAC, MP3, ...)
        |
        v
Upload vers AudioDN
        |
        v
AudioDN traite la piste           (track_status_id: processing)
        |
        v
Variante configurée générée       (track_status_id: ready)
        |
        v
Lire la même variante nommée sur web, mobile ou serveur

1. Configurez d’abord la sortie

La variante de transcoder est la fonctionnalité au cœur de cet exemple. Une variante est une recette réutilisable qui dit à AudioDN comment transformer tout upload pris en charge en une sortie spécifique. Configurez-la une fois et AudioDN génère cette même variante nommée pour les nouveaux uploads automatiquement — votre code n’a jamais à détecter ni traiter spécialement le codec source, et il demande toujours le résultat sous le même nom.

Configurer une variante de transcoder aac dans le tableau de bord

  1. Connectez-vous au tableau de bord AudioDN et ouvrez Variants.

  2. Cliquez sur Add Variant et choisissez le type Transcode.
  3. Définissez l’index à aac, le codec à AAC, et le débit à 128. Laissez la stéréo activée, et activez strip tags et strip cover art pour standardiser les métadonnées.

  4. Enregistrez. Les nouveaux uploads sont transcodés vers cette variante aac automatiquement.

Ajouter la variante à une piste existante

Les recettes à l’échelle de l’organisation s’appliquent aux nouveaux uploads. Pour ajouter la même sortie à une seule piste déjà ready, ajoutez une variante spécifique à la piste avec POST /v1/track/:track_id/variant (codec et débit par défaut : aac à 128). Référence complète des champs : API Variants.

Pourquoi AAC à 128 kbps

AAC est un défaut pratique pour la lecture web et app générale : il est largement pris en charge par les navigateurs modernes, les OS mobiles et les lecteurs média, et 128 kbps offre un bon équilibre qualité, taille de fichier et performance de streaming pour l’écoute typique. AudioDN livre cette variante avec le type de contenu audio/aac. Si votre produit a besoin d’autres compromis, configurez un autre codec ou débit, ou ajoutez plus de variantes — voir Variant Types.

2. Uploader la source

Peu importe comment le fichier arrive — un master studio lossless, un mémo vocal compressé, ou ce qu’a produit le téléphone d’un auditeur. L’upload est une séquence courte et explicite : créer une session (optionnellement avec une piste imbriquée pour créer la première piste d’emblée), créer toute piste supplémentaire, PUT les octets vers l’URL d’upload de la piste, puis attendre que la piste soit ready.

Séquence d’upload (conceptuelle)
POST /v1/upload_session                       -> upload_session_id
  (optional nested track object)               -> also track_id + track_upload.upload_url
POST /v1/upload/{upload_session_id}/track     -> track_upload.upload_url  (per additional file)
PUT  {track_upload.upload_url}                  (send the source bytes)
GET  /v1/track/{track_id}                       (poll until track_status_id = ready)
Request the configured variant                 (e.g. variants="aac")

Piste imbriquée optionnelle

Par défaut une session d’upload renvoie uniquement un upload_session_id. Incluez un objet track imbriqué sur POST /v1/upload_session pour recevoir aussi track_upload.upload_url dans cette réponse (vous pouvez toujours ajouter d’autres pistes plus tard). Sinon créez chaque piste avec POST /v1/upload/{upload_session_id}/track.

Puis interrogez GET /v1/track/:track_id jusqu’à ce que track_status_id soit ready, ou écoutez un webhook de piste, avant de démarrer la lecture.

Exemple d’upload complet (API et composant Uploader)Afficher

Option A — Upload via l’API

Votre serveur (ou client, avec une clé Client-Side Upload) pilote l’upload directement.

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
}'

Créer une piste dans la session

Exemple de requête

# SESSION_ID: upload_session_id renvoyé par 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": "track.wav"
}'

Uploader les octets du fichier

PUT track_upload.upload_url
# Après que create-track a renvoyé track_upload.upload_url, PUT les octets source.
# Tout format source pris en charge fonctionne, quelle que soit sa qualité ou son codec d'origine.
curl -X PUT "$UPLOAD_URL" \
  --data-binary @track.wav \
  -H "Content-Type: audio/wav"

Option B — Upload via le composant Uploader

Déposez un uploader glisser-déposer dans votre page ; aucun backend requis avec une clé Client-Side Upload.

Dépendance

npm install @audiodn/components

Utilisation

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

<audiodn-uploader
api-key="YOUR_UPLOAD_API_KEY"
collection-id="COLLECTION_ID"
></audiodn-uploader>

Le composant gère le glisser-déposer, la progression par fichier et les retries pour vous. Référence complète des attributs : docs du composant Uploader.

Référence complète champ par champ : API Upload Sessions.

3. Lire la variante

Une fois la piste ready, chaque surface que votre produit livre demande exactement la même variante par nom et obtient exactement le même fichier prévisible — pas de détection de format, pas de cas particuliers par plateforme. Le chemin le plus rapide sur le web est le composant <audiodn-player> avec une clé Client-Side Player :

Dépendance

npm install @audiodn/components

Utilisation

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

<audiodn-player
  api-key="YOUR_PLAYER_API_KEY"
  scope="track"
  id="TRACK_ID"
  variants="aac"
  size="regular"
></audiodn-player>

Démo live

La piste hero de la page d’accueil, lue ici depuis sa seule variante aac standardisée.

Musique par Nyktrn

Demander la même variante partout

Le lecteur est optionnel. Les applications web custom, mobiles, Flutter, natives et serveur peuvent créer une session de lecture et streamer l’URL signée renvoyée pour la même variante nommée, ou signer des URL de livraison directement pour la lecture backend.

  • Site web / lecteur custom — intégrez <audiodn-player>, ou demandez le fichier pour votre propre UI. Voir le guide Web Integration.

  • App mobile — créez une session de lecture demandant la variante aac depuis Swift, Kotlin ou Flutter, puis streamez l’URL signée avec n’importe quel lecteur audio de plateforme. Voir Mobile Integration.

  • Serveur / API — signez des URL de livraison pour la lecture ou les téléchargements backend-to-backend. Voir Signed Delivery et l’ API Variants.

Plus d’options de lecteur (thèmes, tailles, playlists, pochette) : docs du composant Player.

Quand utiliser ce flux de travail

Utilisez-le dès que votre produit accepte de l’audio que vous ne contrôlez pas et a besoin qu’il se lise de façon cohérente. Cela couvre les uploads d’utilisateurs, d’artistes, de téléphones, de navigateurs, d’appareils d’enregistrement, de logiciels d’édition, de systèmes externes et de plusieurs outils de production à la fois.

Il convient aux plateformes musicales, podcasts, enregistrements vocaux, audio social, produits éducatifs, marketplaces, apps d’audio généré par IA et autres produits d’audio généré par les utilisateurs. Dans chaque cas AudioDN peut remplacer l’infrastructure custom que vous feriez autrement tourner : stockage d’upload, files de traitement, workers FFmpeg, stockage de sortie, signature de livraison et livraison de lecture.

Ce que cet exemple ne couvre pas

Cet exemple se concentre sur la production d’un format de lecture cohérent à partir d’uploads inconsistants. Les éléments suivants sont des capacités connexes mais distinctes, hors de ce flux de travail :

  • Clips d’aperçu — extraits courts à seek restreint. Voir Lecteur de clip d’aperçu.
  • Formes d’onde — variantes image ou vidéo de forme d’onde. Voir Variant Types.
  • Variantes supplémentaires — débits ou codecs supplémentaires aux côtés de aac pour une livraison multi-qualité.
  • Téléchargements lossless — proposer des téléchargements FLAC ou WAV à partir du même upload.
  • Normalisation de loudness — AudioDN n’effectue pas de ciblage LUFS ni d’ajustement de gain ; ce flux standardise le format, pas le loudness.

FAQ

Comment normaliser l’audio uploadé par les utilisateurs pour la lecture web ?

Uploadez la source vers AudioDN, attendez que le track_status_id de la piste soit ready, puis demandez votre variante de transcoder configurée (par exemple AAC à 128 kbps). AudioDN standardise le codec, le débit et la disposition des canaux pour que chaque upload se lise comme le même fichier prévisible.

AudioDN peut-il convertir différents formats audio en un format cohérent ?

Oui. AudioDN accepte des formats source pris en charge tels que WAV, FLAC et MP3 et les convertit par transcodage en une seule variante de sortie configurée, ainsi votre lecteur demande toujours un fichier cohérent quel que soit ce qui a été uploadé.

Dois-je faire tourner FFmpeg ?

Non. AudioDN exécute le pipeline de transcodage pour vous. Vous uploadez la source et demandez la variante terminée ; vous ne faites pas tourner de workers FFmpeg, files de traitement ou stockage de sortie vous-même.

AudioDN normalise-t-il le loudness audio ?

Non. Ce flux de travail effectue une standardisation de format (codec, débit, configuration des canaux et gestion des métadonnées), pas une normalisation de loudness, de ciblage LUFS, de limitation true-peak ou d’ajustement de gain.

Quand la variante de lecture est-elle disponible ?

Après la fin du traitement. Interrogez GET /v1/track/{track_id} jusqu’à ce que track_status_id soit ready, ou écoutez un webhook de piste. Ne commencez la lecture qu’une fois la piste prête.

Puis-je utiliser mon propre lecteur audio ?

Oui. Le web component audiodn-player est optionnel. Tout client web, mobile ou serveur peut créer une session de lecture et streamer l’URL signée renvoyée pour la même variante nommée.

La même variante peut-elle être utilisée dans une app mobile ?

Oui. Les apps natives iOS, Android et Flutter demandent la même variante par nom via une session de lecture et lisent l’URL signée renvoyée avec le lecteur audio de la plateforme.

La création d’une session d’upload renvoie-t-elle l’URL d’upload ?

Par défaut, non — créer une session d’upload renvoie uniquement un upload_session_id. Incluez éventuellement un objet track imbriqué sur POST /v1/upload_session pour recevoir aussi track_upload.upload_url dans cette réponse (vous pouvez toujours ajouter d’autres pistes plus tard). Sinon créez une piste avec POST /v1/upload/{upload_session_id}/track ; cette réponse contient l’URL d’upload spécifique à la piste.

Checklist

  • Une recette de variante de transcoder aac existe à 128 kbps (configurée une fois dans le tableau de bord, ou ajoutée à une seule piste via POST /v1/track/:track_id/variant).
  • Un fichier source pris en charge a été uploadé — via l’API ou le composant <audiodn-uploader> — et a atteint track_status_id ready.
  • Le lecteur est limité à la piste, demandant la variante aac avec une clé Client-Side Player.
  • La même variante aac est demandée de façon cohérente sur les intégrations web, mobile et serveur.

Publié