Ini-publish ng Facebook ang EnCodec audio codec gamit ang machine learning

Ang Meta/Facebook (banned sa Russian Federation) ay nagpakilala ng bagong audio codec, EnCodec, na gumagamit ng mga paraan ng machine learning para taasan ang compression ratio nang hindi nawawala ang kalidad. Ang codec ay maaaring gamitin kapwa para sa streaming audio sa real time at para sa pag-encode para sa pag-save sa ibang pagkakataon sa mga file. Ang pagpapatupad ng sanggunian ng EnCodec ay nakasulat sa Python gamit ang PyTorch framework at lisensyado sa ilalim ng lisensya ng CC BY-NC 4.0 (Creative Commons Attribution-NonCommercial) para sa hindi pangkomersyal na paggamit lamang.

Dalawang yari na modelo ang inaalok para sa pag-download:

  • Isang causal model na gumagamit ng 24 kHz sampling rate, na sumusuporta lang sa monophonic na audio, at sinanay sa magkakaibang audio data (angkop para sa speech coding). Ang modelo ay maaaring gamitin upang i-package ang audio data para sa paghahatid sa mga bit rate na 1.5, 3, 6, 12 at 24 kbps.
  • Isang non-causal na modelo na gumagamit ng sampling rate na 48 kHz, na sumusuporta sa stereo audio at sinanay lamang sa musika. Sinusuportahan ng modelo ang mga bitrate na 3, 6, 12 at 24 kbps.

Para sa bawat modelo, isang karagdagang modelo ng wika ang inihanda, na nagbibigay-daan sa iyo upang makamit ang isang makabuluhang pagtaas sa ratio ng compression (hanggang sa 40%) nang walang pagkawala ng kalidad. Hindi tulad ng mga naunang binuo na proyekto gamit ang mga pamamaraan ng pag-aaral ng makina para sa audio compression, maaaring gamitin ang EnCodec hindi lamang para sa speech packaging, kundi pati na rin para sa music compression na may sampling rate na 48 kHz, na tumutugma sa antas ng mga audio CD. Ayon sa mga nag-develop ng bagong codec, kapag nagpapadala ng bitrate na 64 kbps kumpara sa format na MP3, nagawa nilang taasan ang antas ng audio compression ng humigit-kumulang sampung beses habang pinapanatili ang parehong antas ng kalidad (halimbawa, kapag gumagamit ng MP3, isang bandwidth na 64 kbps ay kinakailangan, para sa paghahatid na may parehong kalidad sa EnCodec ay sapat na 6 kbps).

Ang arkitektura ng codec ay binuo sa isang neural network na may "transformer" na arkitektura at nakabatay sa apat na link: encoder, quantizer, decoder at discriminator. Kinukuha ng encoder ang mga parameter ng data ng boses at kino-convert ang naka-pack na stream sa mas mababang frame rate. Kino-convert ng quantizer (RVQ, Residual Vector Quantizer) ang stream output ng encoder sa mga hanay ng mga packet, na nagko-compress ng impormasyon batay sa napiling bitrate. Ang output ng quantizer ay isang naka-compress na representasyon ng data, na angkop para sa paghahatid sa isang network o pag-save sa disk.

Ang decoder ay nagde-decode ng naka-compress na representasyon ng data at nire-reconstruct ang orihinal na sound wave. Pinapabuti ng discriminator ang kalidad ng mga nabuong sample, na isinasaalang-alang ang modelo ng pandama ng pandinig ng tao. Anuman ang antas ng kalidad at bitrate, ang mga modelong ginagamit para sa pag-encode at pag-decode ay nakikilala sa pamamagitan ng katamtamang mga kinakailangan sa mapagkukunan (ang mga kalkulasyon na kinakailangan para sa real-time na operasyon ay isinasagawa sa isang core ng CPU).

Ini-publish ng Facebook ang EnCodec audio codec gamit ang machine learning


Pinagmulan: opennet.ru

Magdagdag ng komento