Speex
Speex est un codec libre et sans brevets. Il compresse avec perte de données et est spécialisé et optimisé pour la voix humaine.

Catégories :
Format ouvert - Codec audio - Algorithme de compression avec perte - Logiciel sous licence libre
Page(s) en rapport avec ce sujet :
- coder les passages audio, Vorbis est un format à débit variable, ... Speex est un format ouvert et libre de compression audio créé particulièrement pour la... (source : lita.univ-metz)
- speex. Ce module utilise l'encodeur speex du projet Xiph. org. Speex est un codec audio, performant pour de très faibles débits (autour de 10kbit/s) et ... (source : tice.aix-mrs.iufm)
- ... programme utilise la version de Speex %1 Speex est utilisé pour la suppression de ... Le débit binaire audio est le débit binaire maximum (puisqu'un débit binaire variable est utilisé) pour les données seules....... About &Speex &Speex Information about Speex Informations sur Speex Shows a small dialog... (source : an-misfits)
Speex | |
---|---|
Extension | . spx |
Développé par | Xiph. org |
Type de format | Format audio |
Contenu par | Ogg |
Standard (s) | (en) Spécification |
Spécification | Format ouvert |
Speex est un codec libre et sans brevets. Il compresse avec perte de données (comme MP3 et Vorbis) et est spécialisé et optimisé pour la voix humaine.
Speex, projet né indépendant, a été intégré au projet Ogg le 11 octobre 2002. Pour rappel, Ogg est un format de fichier qui contient des flux audio et/ou vidéo. Un fichier Ogg peut par conséquent contenir un flux Speex comme un flux Vorbis.
Il obtient pour tout ce qui est parole, des rapports qualité et de taille bien supérieurs au formats de compression identiques conçus pour la compression musicale. À 12 kbit/s la qualité est correcte pour tout type de conversation[1].
Il est présent dans une large base de logiciels, surtout grâce à des plugins et des filtres. Il est supporté par des logiciels de téléconférence, de flux de données, de traitement du son, de lecture multimédia, de P2P, des jeux.
À la différence de la majorité des autres codecs dédiés à la parole, Speex n'est pas fait pour une utilisation sur téléphone portable mais plutôt pour le VoIP et la compression dans des fichiers. Les principaux buts, ont été de créer un codec optimisé pour la parole, qui associe une bonne compréhension du dialogue transmis, ainsi qu'un faible taux de compression. Speex peut utiliser de nombreux débits et bande passante envisageables. Conçu pour une utilisation en VoIP, Speex gère bien la perte de données dans le transport, mais il ne gère pas les paquets corrompus car le protocole de transfert UDP assure que les paquets transmis sont intacts (ils ne sont pas transmis s'ils sont altérés). La méthode retenue par le codec Speex, est le CELP (Code Excited Linear Prediction ). La raison principale est que CELP s'est avéré capable de s'adapter à des débits bas (comme mis en évidence par DoD CELP à 4, 8 kbit/s), autant qu'aux débits plus hauts (comme pour le G. 728 à 16 kbit/s). Les caractéristiques principales peuvent être résumés comme ainsi :
- Logiciel libre/open-source, Libre de tous brevets et royalties
- Intégration d'une bande passante restreinte à normale dans un même flux de données
- Grande variétés de débits disponibles (de 2 kbit/s à 44 kbit/s
- Changement de débit dynamique et codage à débit variable
- VAD (Voice Activity Detection) (intégré dans le codage à débit variable)
- Complexité variable
- Mode Bande passante étendue (32 kHz à plus de 48 kHz)
- Option d'encodage stéréo par réglage du volume de chaque canal (au lieu d'utiliser un délai entre les deux canaux)
Fonctionnalités
- Fréquence d'échantillonnage
- Speex est conçu de façon à être utilisé dans trois fréquences d'échantillonnage différentes : 8 kHz (Comme pour la transmission des appels téléphoniques), 16 kHz, 32 kHz
- Qualité
- L'encodeur Speex est contrôlé par un paramètre de qualité compris entre 0 et 10. En mode CBR, le paramètre de qualité est un nombre entier, en mode VBR, c'est un nombre à virgule flottante
- Complexité (variable)
- Avec Speex, il est envisageable de gérer la complexité de l'encodeur par un paramètre réglable entre 1 et 10 et qui définit la zone de recherche de l'encodeur. Légèrement comme les options -1 à -9 de l'utilitaire de compression de données gzip. Pour une utilisation normale, le niveau de bruit pour une complexité de 1 est comprise entre 1 et 2 dB de plus qu'avec le réglage de complexité de 10. Mais les ressources CPU nécessaires pour une complexité de 10 sont 5 fois supérieure à celle indispensable à une complexité de 1. En pratique le meilleur réglage est compris entre 2 et 4, des paramètres supérieurs sont utilisés plutôt pour des sons autres que la parole (comme pour le codage DTMF (Dual-Tone Multi-Frequency) ou pour un encodage qui n'a pas besoin d'être en temps réel.
- Débit variable (Variable Bit-Rate (VBR) )
- Le mode de codage à débit variable (VBR) permet au codec de changer de débit dynamiquement pour s'adapter à une source audio plus complexe à encoder. Les sons complexes sont codés avec un plus grand débit, et les sons simples avec moins de débit. L'objectif final est que la qualité reste constante en faisant fluctuer le débit. Cependant comme le débit final n'est pas garanti, des problèmes peuvent se poser dans les applications temps réel tel que la VoIP.
- Débit de données moyen (ABR) (Average Bit Rate)
- Le principe du débit de données moyen, résout un des problèmes du codage à débit variable, en ajustant dynamiquement la qualité du codage VBR de façon à obtenir un débit de données cible spécifique. La qualité obtenue est en conséquence inférieure au codage à débit variable.
- Voice Activity Detection (VAD)
- Lorsque cette option est activé, le VAD détecte lorsque l'audio encodé est du dialogue ou du silence/bruit de fond. VAD est toujours implicitement activé en encodage VBR, par conséquent cette option est utile seulement en mode non VBR. Dans ce cas Speex détecte les périodes sans dialogue et les encode avec le strict minimum de bits pour reproduire le bruit de fond. Cette fonction est nommée Comfort Noise Generation (CNG).
- Transmission Discontinues (Discontinuous Transmission (DTX) )
- la transmission discontinue est une fonctionnalité qui s'ajoute aux opérations de VAD et de VBR, qui sert à couper la transmission totalement lorsque le bruit de fond est stationnaire. Dans un fichier, 5 bits sont utilisés pour chaque frame manquante (correspondant à 250 bits/s)
- Peaufinement perceptible
- Le perfectionnement perceptible est une partie du décodeur qui lorsqu'il est activé, tente de diminuer la vision du bruit produit par le processus de codage/décodage. Dans la majorité des cas, le perfectionnement perceptible crée un son différent de l'original (avec un rapport signal sur bruit différent), mais au final le son semble meilleur à l'écoute.
- Délai Algorithmique
- Chaque codec introduit un délai dans la transmission, pour Speex, ce délai est égal à la taille d'une frame, plus légèrement de temps indispensable au traitement de chaque frame. Pour une bande passante de 8 kHz, le délai est d'environ 30 ms, et pour une bande passante de 16 kHz, ce délai monte à 34 ms. Ces valeurs ne comprennent pas le temps de calcul processeur indispensable à l'encodage et au décodage de chaque frame.
Quelques logiciels supportant le format Speex (voir la page plugins & softwares du site officiel) :
- bibliothèques de traitement de son : DirectShow Filter, OpenACM, OpenH323 (ce qui implique une grande variété de logiciels)
- binding de langage (API) : C, Python, Java, Delphi
- Téléconférence, PBX, VoIP : QuteCom, Google Talk, NetMeeting, Ekiga, Asterisk, Linphone, tkPhone
- Lecteurs multimédia et streaming : Songbird, VLC, Winamp, XMMS, ogg123, foobar2000, JRoar
- Traitement de son : Audacity, Psycle, Sweep, CoolEdit
- Jeux : Marathon : Aleph One ou via TeamSpeak, Façade
- P2P : GNUnet, eMule, aMule, xMule
Étymologie
Speex est un jeu de mots avec speaks qui veut dire en anglais «(il) parle».
Notes et références
Voir aussi
Liens externes
- (en) Site officiel
- (en) La page plugins & softwares
Recherche sur Amazon (livres) : |
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 07/04/2010.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.