Speex

Speex
Udvidelse .spx
MIME -type audio/x-speex og audio/speex [1] [2]
Udvikler Jean-Mark Valin [d] ogXiph.Org
Formattype Audio codec
Indeholdt i Ogg
Standard(er) Specifikation
Internet side speedex.org

Speex  er et gratis talekomprimeringscodec, der kan bruges i Voice over Internet ( VoIP ) applikationer. Det er højst sandsynligt fri for patentrestriktioner og er licenseret under den seneste version af BSD-licensen (ingen tredje klausul). Speex-komprimerede data kan enten lagres i Ogg -lyddatalagringsformatet eller transmitteres direkte ved hjælp af UDP / RTP-pakker .

Udviklere modsætter sig deres udvikling til andre åbne codecs, såsom Vorbis codec , og argumenterer for, at det er Speex codec, der er bedst egnet til stemmetransmission over et netværk med upålidelig datapakkelevering. Samtidig understreger forfatterne til udviklingen specifikt, at codec'et er velegnet til brug i netværk med upålidelig pakketransmission, det vil sige enten er pakken ankommet eller ej. Samtidig skal muligheden for at forvrænge indholdet af pakken udelukkes, derfor er Speex ikke egnet til taletransmission, for eksempel i radio- og mobilkommunikation.

Beskrivelse

Speex tilhører klassen af ​​såkaldte Code Excited Linear Prediction ( CELP ) codecs, det vil sige codecs bygget på basis af den såkaldte LPC lineær prædiktiv kodning . LPC'en bruger et digitalt filter med kun feedback til at tilnærme segmentet af talesignalet (det såkaldte " autoregressive filter "). Koefficienterne for dette filter "tilpasses" til signalsegmentet ved hjælp af Levinson-proceduren (i vestlig litteratur - Levinson-Durbin). CELP-modifikation af LPK sørger for tilstedeværelsen af ​​den såkaldte. "kodebog", som indeholder foruddefinerede sæt af enkelte impulser, der exciterer LPK-filteret.

Talesignalet i Speex-codec'et er opdelt i ikke-overlappende segmenter med en varighed på 20 ms (160 samples ved 8 kHz). I dette tilfælde, for at evaluere det excitatoriske sæt, er ovenstående segment opdelt i fire undersegmenter med en varighed på henholdsvis 5 ms. På hvert af undersegmenterne findes excitatoriske sæt af impulser både for det aktuelle undersegment (fra kodebogen) og for de to foregående undersegmenter. I modsætning til andre codecs, for at undgå patentrestriktioner, bruger Speex ikke algebraisk kodning, men kun vektorkodning. Excitationerne fra de to foregående undersegmenter er tilføjet med variable vægte, i modsætning til en række andre codecs, hvor variable tidspositioner anvendes.

Ifølge udviklerne er Speex optimeret til højkvalitets talesignal ved lave hastigheder. Speex codec giver dig også mulighed for at bruge en variabel grad af signalkomprimering og understøtter signaler med forskellige båndbredder: ultrabredbånd ( eng.  ultra-wideband , samplinghastighed 32 kHz), bredbånd ( eng.  wideband , 16 kHz) og narrowband ( eng .  smalbånd , 8 kHz) . Fokus på voice-over-internet (VoIP) systemer forudbestemmer, at Speex skal være modstandsdygtig over for datapakketab, men ikke over for deres skader, da UDP / IP -protokollen, i modsætning til TCP / IP , ikke garanterer pakkelevering til forbrugeren, men på samme tid er sandsynligheden for datakorruption i UDP / IP- pakken i kablede kommunikationssystemer ekstremt lille. Det skal bemærkes, at det er muligt at bruge TCP / IP- pakker til datatransmission komprimeret af Speex-codec . I sidstnævnte tilfælde bliver sandsynligheden for datakorruption ubetydelig. Denne funktion bestemmer fraværet af fejlbeskyttelse i Speex-codec-dataformatet.

De vigtigste egenskaber ved codec:

Funktioner

Sampling frekvens De vigtigste for Speex er tre samplinghastigheder (sampling): 8 kHz (den mest almindelige frekvens for digitale telefonkanaler og den mest populære VoIP-standard G.711 ), 16 kHz og 32 kHz. Andre frekvenser er tilladt, men Speex er ikke optimeret til brug med dem. Kvalitet Talekodningsprocessen styres af en speciel parameter, som er et tal i området fra 0 til 10. I tilstanden konstant bithastighed (CBR ) er  kvalitetsparameteren et heltal , og i tilstanden variabel bithastighed, det er et floating-point tal . Kompressionsforhold (variabel) Speex giver dig mulighed for at ændre graden af ​​signalkomprimering, som kaldes "kompleksitet" i codec-beskrivelsen. Søgekontrolprocessen udføres ved hjælp af et heltal fra 1 til 10. Under normale forhold er støjniveauet ved kompleksitet 1 1-2 dB højere end ved kompleksitet 10, men processorbelastningen ved kompleksitet 10 er cirka 5 gange højere. I praksis er nummerområdet fra 2 til 4 sandsynligvis det bedste valg, men til kodning af ikke-talesignaler (for eksempel DTMF  - dobbelttone multi-frekvens opkald) kan højere værdier være nyttige.

Applikationssupport

Speex understøtter en lang række applikationer, lige fra streamingapplikationer (telekonferencer) til videospil og lydbehandlingssoftware. De fleste af dem bruger DirectShow- filteret . Der er også tilføjelser til Winamp- og XMMS -spillere . Derudover understøtter KSP Sound Player siden version 2006.0.0.2 og foobar2000 Speex .

MIME -typen for Speex er audio/x-speex. Det vil blive erstattet af audio/speex i den nærmeste fremtid.

Nylige versioner af Half-Life 1-motoren og mods baseret på den bruger voice_speex.dll-codec'et til at implementere VoIP-funktioner i spillet. Speex giver væsentlig bedre kvalitet end standard Miles codec.

Den amerikanske hærs Land Warrior -system, udviklet af General Dynamics, bruger også Speex.

I Sid Meier's Civilization 4 er teknologibeskrivelser indtalt af Leonard Nimoy kodet i Speex-formatet.

Teamspeak VoIP-appen tilbyder Speex blandt 3 tilgængelige codecs. Open-source VoIP-programmet Mumble før version 1.2.4 brugte Speex. Flaphone VoIP-tjenesten bruger Speex-codec. TeamWox enterprise management system bruger Speex codec til intern stemmekommunikation.

Understøttelse af Speex-codec'et er tilgængelig i RTU -softwareswitchen til NGN-netværk [3] .

Noter

  1. http://www.iana.org/assignments/media-types/audio/speex
  2. Herlein G., Valin J., Heggestad A., Moizard A. RTP Payload Format for Speex Codec  (engelsk) - IETF , 2009. - 14 s. doi : 10.17487/RFC5574
  3. Beskrivelse af RTU-funktionalitet på MFI Softs hjemmeside . Hentet 4. maj 2012. Arkiveret fra originalen 20. april 2012.

Links