متا/فیس بوک (ممنوع در فدراسیون روسیه) یک کدک صوتی جدید به نام EnCodec را معرفی کرد که از روش های یادگیری ماشینی برای افزایش نسبت فشرده سازی بدون از دست دادن کیفیت استفاده می کند. کدک می تواند هم برای پخش صدا در زمان واقعی و هم برای رمزگذاری برای ذخیره بعدی در فایل ها استفاده شود. پیاده سازی مرجع EnCodec در پایتون با استفاده از چارچوب PyTorch نوشته شده است و تحت مجوز CC BY-NC 4.0 (Creative Commons Attribution-NonCommercial) فقط برای استفاده غیرتجاری مجوز دارد.
دو مدل آماده برای دانلود ارائه می شود:
- یک مدل علّی با استفاده از نرخ نمونهبرداری 24 کیلوهرتز، تنها از صدای تک صدایی پشتیبانی میکند و بر روی دادههای صوتی متنوع آموزش دیده است (مناسب برای کدگذاری گفتار). این مدل می تواند برای بسته بندی داده های صوتی برای انتقال با نرخ بیت 1.5، 3، 6، 12 و 24 کیلوبیت بر ثانیه استفاده شود.
- یک مدل غیر علی با استفاده از نرخ نمونهبرداری 48 کیلوهرتز، از صدای استریو پشتیبانی میکند و فقط روی موسیقی آموزش داده شده است. این مدل از بیت ریت 3، 6، 12 و 24 کیلوبیت بر ثانیه پشتیبانی می کند.
برای هر مدل، یک مدل زبان اضافی تهیه شده است که به شما امکان می دهد بدون از دست دادن کیفیت، به افزایش قابل توجهی در نسبت فشرده سازی (تا 40٪) برسید. برخلاف پروژههای توسعهیافته قبلی که از روشهای یادگیری ماشین برای فشردهسازی صدا استفاده میکنند، EnCodec را میتوان نه تنها برای بستهبندی گفتار، بلکه برای فشردهسازی موسیقی با نرخ نمونهبرداری ۴۸ کیلوهرتز، مطابق با سطح سیدیهای صوتی، استفاده کرد. به گفته توسعه دهندگان کدک جدید، هنگام انتقال با نرخ بیت 48 کیلوبیت در ثانیه در مقایسه با فرمت MP64، آنها توانستند درجه فشرده سازی صدا را تقریباً 3 برابر افزایش دهند و در عین حال کیفیت یکسانی را حفظ کردند (به عنوان مثال، هنگام استفاده از MP3، پهنای باند 64 کیلوبیت در ثانیه مورد نیاز است، برای انتقال با آن همان کیفیت در EnCodec 6 کیلوبیت در ثانیه کافی است.
معماری کدک بر روی یک شبکه عصبی با معماری "ترانسفورماتور" ساخته شده است و بر چهار پیوند است: رمزگذار، کوانتایزر، رمزگشا و تشخیص دهنده. رمزگذار پارامترهای داده های صوتی را استخراج می کند و جریان بسته بندی شده را به نرخ فریم پایین تری تبدیل می کند. کوانتایزر (RVQ، کوانتایزر بردار باقیمانده) خروجی جریان توسط رمزگذار را به مجموعهای از بستهها تبدیل میکند و اطلاعات را بر اساس میزان بیت انتخابی فشرده میکند. خروجی کوانتایزر نمایشی فشرده از داده ها است که برای انتقال از طریق شبکه یا ذخیره روی دیسک مناسب است.
رمزگشا نمایش فشرده داده ها را رمزگشایی می کند و موج صوتی اصلی را بازسازی می کند. تشخیص دهنده کیفیت نمونه های تولید شده را با در نظر گرفتن مدل ادراک شنوایی انسان بهبود می بخشد. صرف نظر از سطح کیفیت و میزان بیت، مدلهای مورد استفاده برای رمزگذاری و رمزگشایی با نیازهای منابع نسبتاً متوسطی متمایز میشوند (محاسبات لازم برای عملیات بلادرنگ بر روی یک هسته واحد CPU انجام میشود).
منبع: opennet.ru