Speex is een inmiddels verouderde spraakcodec speciaal ontworpen voor Voice Over IP (spraak over het internet) en is een voorloper van de Opus-codec. Waar andere spraakcodecs zich specialiseren in gsm-technologie, richt Speex zich op de IP-wereld. Deze spraakcodec is niet alleen open source maar ook gratis en vrij van patenten. Speex maakt deel uit van GNU project.

Speex
Speex
Bestandsextensie spx, ogg
MIME-type application/ogg[1]
Portaal  Portaalicoon   Informatica
Vrije software

Speex is een project van de Xiph.Org Foundation.

Eigenschappen

bewerken

Bemonsteringssnelheid

bewerken

Gebruikers kunnen kiezen tussen een goede kwaliteit van spraak (hoge bitsnelheid of bitrate) of een lage kwaliteit (lage bitrate). De bitrates variëren van 2 kbit/s tot 44 kbit/s. Bij een hoge bitrate is er een voorziening voor een bemonsteringssnelheid van 16 kHz, wat overeenkomt met wideband, en bij lage bitrates kan men kiezen voor een bemonsteringssnelheid van 8 kHz, wat overeenkomt met een gewone telefoonlijn. Speex ondersteunt ook Ultra-Wideband, dat overeenkomt met 32 kHz.

Codering

bewerken

Speex is gebaseerd op CELP, Code Excited Linear Prediction.

OGG-formaat

bewerken

De bitstreams van Speex kunnen in OGG-bestanden worden opgeslagen. OGG-bestanden zijn een soort container die de multimediadata bijhouden. Het is vergelijkbaar met MP3, maar dan wel van een betere kwaliteit.

Variabele bitrate (VBR)

bewerken

Door deze eigenschap kan Speex zijn bitrate laten variëren. Zo kan het zich aanpassen aan de moeilijkheid van het geluidsfragment, bv. klinkers hebben een hogere bitrate nodig dan de f-klank. Hierdoor kan dezelfde kwaliteit behouden worden met verschillende bitrates. Een van de nadelen van deze eigenschap is dat door een kwaliteit vast te leggen het moeilijk zal worden om de gemiddelde bitrate op voorhand vast te leggen. Een ander nadeel is dat VoIP geen al te hoge bitrate mag hebben voor het kanaal voor realtimegesprekken.

Gemiddelde bitrate (ABR)

bewerken

ABR lost een van de nadelen van VBR op. Het past de VBR-kwaliteit aan om aan de vastgelegde gemiddelde kwaliteit te voldoen. De kwaliteit zal lager liggen, doordat dit in real time gebeurt.

Stemactiviteitdetectie (VAD)

bewerken

VAD (Engels: Voice Activity Detection) detecteert wanneer men spreekt en zal dan versleutelen met de juiste kwaliteit. Als er niet gesproken wordt, zal het achtergrondgeluid met een lagere kwaliteit worden versleuteld. Dit noemt men comfortgeluidgeneratie. VAD wordt automatisch gebruikt bij VBR.

Discontinue transmissie (DTX)

bewerken

DTX gaat een stap verder dan VAD bij VBR. In plaats van de kwaliteit te verlagen bij achtergrondgeluid wordt bij DTX niets verzonden van het achtergrondgeluid.

Vertraging

bewerken

Speex gebruikt een delay met de grootte van een frame. Bij een 8 kHz-bemonsteringssnelheid is de vertraging 30 ms, bij 16 kHz is het 34 ms. Hier komen nog bij de vertragingen veroorzaakt door CPU-snelheden.

Formaat en standaarden

bewerken

Om de term Speex compatible te mogen gebruiken moet men bepaalde formaten en standaarden gebruiken. Dit houdt in dat de decoder alle narrowband modes moet kunnen ondersteunen. Als er een Wideband decoder aanwezig is, moet deze Narrowband streams kunnen decoderen. Voor codering moet er ten minste een narrowband encoder of wideband encoder beschikbaar zijn.

RTF-pakketformaat en OGG-formaat worden gebruikt door Speex.

Applicaties

bewerken

Speex is terug te vinden in een groot aantal toepassingen zoals: Xbox Live, Winamp, KSP Sound Player, Foobar2000. Speex wordt vooral gebruikt in teleconferencingsoftware, streaming-, P2P- en audioapplicaties.

bewerken
  • (en) Officiële Speex-site
  • (en) Speex specificatie