Opus is variabel dus optimale audio
Het mooie van Opus is dat het constante en variable bitrate encoding toestaat (bitrate, bandwidth, and delay). Dat betekent dat je bij wisselde bandbreedte en latency de kwaliteit variabel kunt aanpassen tijdens een gesprek. Daarmee heb je altijd optimale audio.
Dus je gaat van 4G naar WIFI, of je rijdt op de snelweg van 4G mast naar mast dan kun je dit dynamisch aanpassen mits client en server dat ondersteunen. Daarnaast is de complexiteit van Opus laag waarmee het ook op feature phones werkt, omdat het niet veel van een proc vraagt.
Hoe proc intensief is Lyra?
"Lyra is currently designed to operate at 3kbps" is buitengewoon indrukwekkend, maar ik kan niet terugvinden of het ook variable kan opschalen, waarmee ik sterk het idee heb dat het gewoon "fixed" is op die 3kbs. Ook lees ik niets over hoe processor intensief dit is. Wel dat GPU & TPU acceleration wordt onderzocht. "Currently optimized for the 64-bit Arm Android platform, but can also be run in Linux x86 64-bit" zegt ook niet zo veel. Opus gebruikt overigens frames van 20ms en Lyra doet frames van 40ms, iets waarvan ik ook verwacht dat het impact heeft op de processor intensiteit?
Als de proc usage niet te hoog is is dit echt heel interessant voor de next billion die via bv een starlink basestation fatsoenlijke latency hebben, maar de bandbreedte moeten delen. Ook 3G+ zou met een latency van < 150ms behoorlijk goed moeten kunnen zijn.
Update 1: (dank voor de link @
Kublai_Khan!) volgens mij is Lyra gebaseerd op dit eerdere werk:
Wavened based low rate speech coding, want het deelt een behoorlijk aantal auteurs.
Als het een
WaveNet generative speech model is dat is het behoorlijk proc intensief.
Dan over die package size. Voor low bandwidth geldt groter is beter (want overhead van headers):
"Because of the overhead of packet headers (40 bytes for IP+UDP+RTP), we actually want packets of at least 40, if not 80 or 120 ms."
LPCnet_codec onderdeel van Opus?
Jean-Marc Valin, de auteur van het stuk over LPCnet_codec overweegt het onderdeel te maken van Opus (waar hij mede auteur van is) wat helemaal gaaf zou zijn, want dan heb je low bandwidth + low proc + de variabiliteit van Opus in 1 codec. Hij is echt in het jaar van de publicatie van Mozilla naar Amazon gegaan, dus ik weet niet of hij er nog aan werkt.
Processor intensiteit Lyra zou mee kunnen vallen
Update 2: Collega is de readme ingedoken. "Computationele complexiteit wordt verminderd door gebruik te maken van een goedkoper, recurrent generatief model, een WaveRNN-variatie, die op een lagere snelheid werkt, maar parallel meerdere signalen genereert in verschillende frequentiebereiken die het later combineert tot een enkel uitgangssignaal met de gewenste samplefrequentie."
1) Ze gebruiken het WaveRNN (wavenet) -model bij inferentie.
2) Door het model parallel te laten lopen met een focus op specifieke frequentiebereiken, verlagen ze de benodigde verwerkingskracht.
Voor AI modellen geldt als een rule of thumb:
training = GPU.
At inference = CPU
Vanwaar mijn interesse
Ook even wat uitleg. Ik werk bij een telecomprovider die eigen apps en platform ontwikkeling doet en ik werk voor stichting
48percent.org die zich oa bezig houdt met connectiviteit voor de mensen die dat nog niet hebben.
[Reactie gewijzigd door Ma_rK op 22 juli 2024 15:00]