# Speex

Speex è un codec open source per la compressione del parlato sviluppato per non infrangere alcun brevetto software. La sua distribuzione è regolata dalla Licenza BSD e può essere usato in flussi in formato Ogg oppure trasmesso direttamente usando UDP/RTP.
Il codificatore Speex usa il formato bitstream Ogg, ed i suoi progettisti vedono il proprio progetto come complementare a Vorbis, un codec di compressione audio di uso generico. Speex è un formato di compressione lossy, ovvero ad ogni codifica delle informazioni vengono perse per ridurre la dimensione del file.
Il progetto Speex iniziò nel Febbraio 2002. Da qualche anno Xiph.Org considera Speex obsoleto; avendo sviluppato un successore, il formato Opus, che è più avanzato in tutte le aree.

## Descrizione

A differenza di molti altri codec per il parlato, Speex non è mirato all'uso nella telefonia, ma piuttosto alla voice over IP (VoIP) e alla compressione basata su file. Gli obiettivi del progetto sono stati quelli di fare un codec che permettesse sia un'ottima qualità che bassi bit rate, il che ha condotto allo sviluppo di un codec con bit rate multipli. Una qualità molto buona significa inoltre il supporto per le larghe frequenze (frequenza di campionamento 16 kHz) oltre al supporto per quelle strette (qualità telefonica, frequenza di campionamento 8 kHz). Progettare per il VoIP invece che per il telefono cellulare significa che Speex deve garantire una certa resistenza nel caso di pacchetti persi, ma non in caso di pacchetti corrotti, dato che l'UDP assicura che i pacchetti o arrivino integri o non arrivino. Tutto questo portò alla scelta del Code Excited Linear Prediction (CELP) come tecnica di encoding in uso per Speex. Una delle molte ragioni è che CELP ha provato da lungo tempo di essere adatto allo scopo e che scala bene sia a bassi bitrate (come dimostrato da Dod CELP a 4.8 kbit/s) sia ad alti bitrate (come con G.728 a 16 kbit/s). Le caratteristiche principali possono essere riassunte come segue:
* Software libero/open source, libero da brevetti e royalties
* Integrazione di larga e stretta frequenza nello stesso bit-stream
* Ampia gamma di bitrate disponibile (da 2 kbit/s a 44 kbit/s)
* Cambio dinamico di bitrate e Bitate variabile (VBR)
* Voice Activity Detection (VAD, integrato con VBR)
* Complessità variabile
* Modalità ad ultra larga frequenza a 32 kHz (fino a 48 kHz)
* Opzione di encoding dell'intensità stereo

## Applicazioni che lo supportano

Vi è già una grande quantità di applicazioni che supportano il codec Speex, da software per teleconferenze a programmi per lo streaming multimediale, il P2P e l'elaborazione audio. La maggior parte di queste è basata sul filtro DirectDS filter, codec OpenACM—Netmeeting su Microsoft Windows, o OpenH323 su Linux (Ekiga), per esempio. Vi sono anche plugin per Winamp e XMMS. Inoltre KSP Sound Player dalla versione 2006.0.0.2 e Foobar2000 dalla versione 0.9.3 supportano Speex.
Il servizio Xbox Live di Microsoft utilizza Speex per le cuffie auricolari, come annunciato da Ralph Giles, il maintainer del codec Ogg Theora della Xiph.Org Foundation, su LugRadio.
Counter-Strike 1.6 usa il codec voice_speex.dll per la sua funzione di VoIP interna.
Il sistema Land Warrior dell'esercito statunitense, progettato da General Dynamics, usa anche Speex per il VoIP su una radio EPLRS progettata da Raytheon.
Il type MIME di Speex è audio/x-speex. Il type audio/speex sarà impiegato nel prossimo futuro.