Speex

Speex
Laajennus .spx
MIME -tyyppinen audio/x-speex ja audio/speex [1] [2]
Kehittäjä Jean-Mark Valin [d] jaXiph.Org
Muototyyppi Äänikoodekki
Sisältyy Ogg
Standardit) Erittely
Verkkosivusto speedex.org

Speex  on vapaan puheen pakkauskoodekki, jota voidaan käyttää Voice over Internet ( VoIP ) -sovelluksissa. Se on todennäköisesti vapaa patenttirajoituksista, ja se on lisensoitu BSD-lisenssin uusimmalla versiolla (ei kolmatta lauseketta). Speex - pakatut tiedot voidaan tallentaa joko Ogg - audiodatan tallennusmuotoon tai lähettää suoraan UDP / RTP - paketteja käyttäen .

Kehittäjät vastustavat kehitystään muille avoimille koodekeille, kuten Vorbis -koodekille , väittäen, että Speex-koodekki soveltuu parhaiten äänen siirtoon verkossa, jossa datapakettien toimitus on epäluotettava. Samalla kehitystyön tekijät korostavat erityisesti, että koodekki soveltuu käytettäväksi verkoissa, joissa pakettien siirto on epäluotettavaa, eli paketti joko on saapunut tai ei. Samalla pakkauksen sisällön vääristymisen mahdollisuus on suljettava pois, joten Speex ei sovellu puheensiirtoon esimerkiksi radio- ja matkapuhelinviestinnässä.

Kuvaus

Speex kuuluu niin kutsuttujen Code Excited Linear Prediction ( CELP ) -koodekkien luokkaan, eli koodekkeihin, jotka on rakennettu niin sanotun LPC lineaarisen ennustavan koodauksen pohjalta . LPC käyttää digitaalista suodatinta, jossa on vain palautetta puhesignaalin segmentin likimääräiseksi arvioimiseksi (ns. " autoregressiivinen suodatin "). Tämän suodattimen kertoimet "sovitetaan" signaalisegmenttiin käyttämällä Levinson-menettelyä (länsimaisessa kirjallisuudessa - Levinson-Durbin). LPK:n CELP-modifikaatio mahdollistaa ns. "koodikirja", joka sisältää ennalta määritetyt joukot yksittäisiä pulsseja, jotka herättävät LPK-suodattimen.

Speex-koodekissa oleva puhesignaali on jaettu ei-päällekkäisiin segmentteihin, joiden kesto on 20 ms (160 näytettä 8 kHz:llä). Tässä tapauksessa herätejoukon arvioimiseksi yllä oleva segmentti jaetaan neljään osasegmenttiin, joiden kesto on vastaavasti 5 ms. Jokaisesta alasegmentistä löytyy virittäviä impulssijoukkoja sekä nykyiselle alasegmentille (koodikirjasta) että kahdelle edelliselle alasegmentille. Toisin kuin muut koodekit, patenttirajoitusten välttämiseksi Speex ei käytä algebrallista koodausta, vaan vain vektorikoodausta. Kahden edellisen alasegmentin herätteet lisätään vaihtelevilla painoilla, toisin kuin useissa muissa koodekeissa, joissa käytetään vaihtelevia aikapaikkoja.

Kehittäjien mukaan Speex on optimoitu korkealaatuiselle puhesignaalille pienillä nopeuksilla. Speex-koodekki mahdollistaa myös vaihtelevan signaalinpakkausasteen käytön ja tukee signaaleja eri kaistanleveydillä: ultralaajakaista ( eng.  ultra-laajakaista , näytteenottotaajuus 32 kHz), laajakaista ( eng.  wideband , 16 kHz) ja kapeakaista ( eng . .  kapeakaista , 8 kHz) . Keskittyminen Voice-over-Internet-järjestelmiin (VoIP) määrää ennalta, että Speexin on kestettävä datapakettien katoamista, mutta ei niiden vaurioita, koska UDP / IP - protokolla, toisin kuin TCP / IP , ei takaa pakettien toimitusta kuluttajalle, mutta samaan aikaan langallisissa viestintäjärjestelmissä UDP / IP -paketin tietojen vioittumisen todennäköisyys on erittäin pieni. On huomattava, että Speex-koodekilla pakattuja tiedonsiirtoon voidaan käyttää TCP / IP - paketteja . Jälkimmäisessä tapauksessa tietojen vioittumisen todennäköisyys on mitätön. Tämä ominaisuus määrittää virhesuojauksen puuttumisen Speex-koodekkin tietomuodossa.

Koodekin tärkeimmät ominaisuudet:

Ominaisuudet

Näytteenottotaajuus Speexin tärkeimmät ovat kolme näytteenottotaajuutta (näytteenotto): 8 kHz (yleisin taajuus digitaalisille puhelinkanaville ja suosituin VoIP-standardi G.711 ), 16 kHz ja 32 kHz. Muut taajuudet ovat sallittuja, mutta Speexiä ei ole optimoitu käytettäväksi niiden kanssa. Laatu Puheen koodausprosessia ohjataan erityisellä parametrilla, joka on luku välillä 0-10. Vakiobittinopeudessa (CBR ) laatuparametri on kokonaisluku ja muuttuvan bittinopeuden tilassa ,  se on liukuluku . Puristussuhde (muuttuva) Speexin avulla voit muuttaa signaalin pakkausastetta, jota kutsutaan "monimutkaiseksi" koodekin kuvauksessa. Haun ohjausprosessi suoritetaan käyttämällä kokonaislukua 1-10. Normaaliolosuhteissa kohinataso kompleksisuudessa 1 on 1-2 dB korkeampi kuin kompleksisuudessa 10, mutta prosessorin kuormitus kompleksisuudessa 10 on noin 5 kertaa suurempi. Käytännössä numeroalue 2 - 4 on luultavasti paras valinta, mutta ei-puhesignaalien koodauksessa (esimerkiksi DTMF  - kaksiääninen monitaajuusvalinta) korkeammat arvot voivat olla hyödyllisiä.

Sovellustuki

Speex tukee monenlaisia ​​sovelluksia suoratoistosovelluksista (teleneuvottelut) videopeleihin ja äänenkäsittelyohjelmistoihin. Useimmat niistä käyttävät DirectShow -suodatinta . Winamp- ja XMMS -soittimille on myös lisäosia . Lisäksi KSP Sound Player versiosta 2006.0.0.2 lähtien ja foobar2000 tukevat Speexiä.

Speexin MIME -tyyppi on audio/x-speex. Se korvataan audio/speexillä lähitulevaisuudessa.

Half-Life 1 -moottorin uusimmat versiot ja siihen perustuvat modit käyttävät voice_speex.dll-koodekkia pelin sisäisten VoIP-toimintojen toteuttamiseen. Speex tarjoaa huomattavasti paremman laadun kuin oletusarvoinen Miles-koodekki.

Myös Yhdysvaltain armeijan Land Warrior -järjestelmä, jonka on kehittänyt General Dynamics, käyttää Speexiä.

Sid Meier's Civilization 4 : ssä Leonard Nimoyn esittämät teknologiakuvaukset on koodattu Speex-muotoon.

Teamspeak VoIP -sovellus tarjoaa Speexin kolmen käytettävissä olevan koodekin joukossa. Avoimen lähdekoodin VoIP-ohjelma Mumble ennen versiota 1.2.4 käytti Speexiä. Flaphone VoIP-palvelu käyttää Speex-koodekkia. TeamWox- yrityshallintajärjestelmä käyttää Speex-koodekkia sisäiseen puheviestintään.

Tuki Speex-koodekille on saatavilla NGN-verkkojen RTU - ohjelmistokytkimessä [3] .

Muistiinpanot

  1. http://www.iana.org/assignments/media-types/audio/speex
  2. Herlein G., Valin J., Heggestad A., Moizard A. RTP-hyötykuormamuoto Speex Codecille  (englanniksi) - IETF , 2009. - 14 s. doi : 10.17487/RFC5574
  3. Kuvaus RTU:n toimivuudesta MFI Soft -sivustolla . Haettu 4. toukokuuta 2012. Arkistoitu alkuperäisestä 20. huhtikuuta 2012.

Linkit