گوگل یک کدک صوتی جدید به نام Lyra را معرفی کرده است که برای دستیابی به حداکثر کیفیت صدا حتی در صورت استفاده از کانال های ارتباطی بسیار کند بهینه شده است. کد پیادهسازی Lyra به زبان C++ نوشته شده و تحت مجوز Apache 2.0 باز میشود، اما در میان وابستگیهای مورد نیاز برای عملیات، کتابخانه اختصاصی libsparse_inference.so با اجرای هسته برای محاسبات ریاضی وجود دارد. خاطرنشان می شود که کتابخانه اختصاصی موقت است - در آینده گوگل قول می دهد یک جایگزین باز ایجاد کند و از پلتفرم های مختلف پشتیبانی کند.
از نظر کیفیت داده های صوتی ارسال شده در سرعت های پایین، Lyra به طور قابل توجهی برتر از کدک های سنتی است که از روش های پردازش سیگنال دیجیتال استفاده می کنند. برای دستیابی به انتقال صدای با کیفیت بالا در شرایط حجم محدود اطلاعات ارسالی، علاوه بر روشهای مرسوم فشردهسازی صدا و تبدیل سیگنال، Lyra از مدل گفتاری مبتنی بر سیستم یادگیری ماشینی استفاده میکند که به شما امکان میدهد اطلاعات از دست رفته را بر اساس آن بازآفرینی کنید. ویژگی های گفتاری معمولی مدل مورد استفاده برای تولید صدا با استفاده از چندین هزار ساعت ضبط صدا به بیش از 70 زبان آموزش داده شد.
کدک شامل یک رمزگذار و یک رمزگشا است. الگوریتم رمزگذار به استخراج پارامترهای داده صوتی در هر 40 میلی ثانیه، فشرده سازی و انتقال آنها به گیرنده از طریق شبکه خلاصه می شود. یک کانال ارتباطی با سرعت 3 کیلوبیت بر ثانیه برای انتقال اطلاعات کافی است. پارامترهای صوتی استخراجشده شامل طیفنگارهای مل لگاریتمی است که ویژگیهای انرژی گفتار را در محدودههای فرکانسی مختلف در نظر میگیرد و با در نظر گرفتن مدل ادراک شنوایی انسان تهیه میشود.
رمزگشا از یک مدل تولیدی استفاده می کند که بر اساس پارامترهای صوتی ارسالی، سیگنال گفتار را دوباره ایجاد می کند. برای کاهش پیچیدگی محاسبات، یک مدل سبک وزن مبتنی بر یک شبکه عصبی مکرر استفاده شد که گونهای از مدل سنتز گفتار WaveRNN است که از فرکانس نمونهبرداری پایینتری استفاده میکند، اما چندین سیگنال را به صورت موازی در محدودههای فرکانس مختلف تولید میکند. سپس سیگنال های حاصل روی هم قرار می گیرند تا یک سیگنال خروجی منفرد مطابق با نرخ نمونه برداری مشخص شده تولید کنند.
دستورالعمل های تخصصی پردازنده موجود در پردازنده های 64 بیتی ARM نیز برای شتاب استفاده می شود. در نتیجه، علیرغم استفاده از یادگیری ماشینی، کدک Lyra را می توان برای رمزگذاری و رمزگشایی گفتار در زمان واقعی در تلفن های هوشمند میان رده مورد استفاده قرار داد که تأخیر انتقال سیگنال 90 میلی ثانیه را نشان می دهد.
منبع: opennet.ru