เมื่อไม่กี่วันที่ผ่านมานักพัฒนาของ Google ประกาศในบล็อกโพสต์ว่า พวกเขาตัดสินใจเปิดซอร์สโค้ดของ Lyra Lyra ใช้เทคโนโลยีแมชชีนเลิร์นนิงเพื่อช่วยให้การโทรด้วยเสียงมีคุณภาพสูงในสถานการณ์ที่มีแบนด์วิดท์ต่ำ
สิ่งนี้เป็นประโยชน์และเปิดโอกาสให้นักพัฒนาซอฟต์แวร์รายอื่น ๆ สามารถปรับปรุงแอปพลิเคชันการสื่อสารของตนและพัฒนา Lyra ไปในทิศทางใหม่ ๆ ได้
ตัวแปลงสัญญาณหลักของแอปพลิเคชันสื่อมานานหลายทศวรรษได้เปิดใช้งานแอปพลิเคชันที่ใช้แบนด์วิธสูงเพื่อส่งข้อมูลได้อย่างมีประสิทธิภาพ
ด้วยเหตุนี้การพัฒนาตัวแปลงสัญญาณทั้งวิดีโอและเสียงจึงเป็นความท้าทายอย่างต่อเนื่องเพื่อให้ได้คุณภาพที่สูงขึ้นเรื่อยๆ ใช้ข้อมูลน้อยลง และลดความหน่วงให้น้อยที่สุดสำหรับการสื่อสารแบบเรียลไทม์
แม้ว่าวิดีโออาจใช้แบนด์วิดท์มากกว่าเสียง แต่ตัวแปลงสัญญาณวิดีโอสมัยใหม่สามารถให้อัตราบิตต่ำกว่าตัวแปลงสัญญาณเสียงคุณภาพสูงบางตัวที่ใช้อยู่ในปัจจุบัน
การใช้ตัวแปลงสัญญาณเสียงและวิดีโอที่มีบิตเรตต่ำร่วมกัน สามารถมอบประสบการณ์การสนทนาทางวิดีโอคุณภาพสูงได้แม้ในเครือข่ายที่มีแบนด์วิดท์ต่ำ อย่างไรก็ตาม ในอดีต ยิ่งบิตเรตของตัวแปลงสัญญาณเสียงต่ำลงเท่าใด สัญญาณเสียงก็จะยิ่งฟังไม่ชัดและฟังดูเหมือนหุ่นยนต์มากขึ้นเท่านั้น
นอกจากนี้ในขณะที่บางคนสามารถเข้าถึงเครือข่ายบรอดแบนด์คุณภาพสูงที่สม่ำเสมอ แต่การเชื่อมต่อในระดับนี้ก็ไม่เป็นสากลและแม้แต่ผู้ที่อาศัยอยู่ในพื้นที่ที่มีการเชื่อมต่อที่ดีบางครั้งก็ต้องเผชิญกับการเชื่อมต่อเครือข่ายที่ไม่ดีการเชื่อมต่อเครือข่ายที่ไม่ดีและการเชื่อมต่อที่บกพร่อง
เพื่อแก้ปัญหานี้Google จึงสร้าง Lyra ซึ่งเป็นตัวแปลงสัญญาณเสียงคุณภาพสูงที่มีอัตราบิตต่ำมากทำให้สามารถสื่อสารด้วยเสียงได้แม้ในเครือข่ายที่ช้าที่สุด
ในการทำเช่นนี้Google ได้ประยุกต์ใช้เทคนิคการเขียนโค้ดแบบดั้งเดิมควบคู่ไปกับการใช้ประโยชน์จากความก้าวหน้าในด้านการเรียนรู้ของเครื่อง โดยใช้โมเดลที่ได้รับการฝึกฝนจากข้อมูลหลายพันชั่วโมงเพื่อสร้างวิธีการใหม่ในการบีบอัดและส่งสัญญาณเสียง
โค้ดของ Lyra เขียนด้วยภาษา C++ เพื่อให้ได้ความเร็วประสิทธิภาพ และความสามารถในการทำงานร่วมกัน นอกจากนี้ยังใช้เฟรมเวิร์ก Bazel ร่วมกับ Abseil และเฟรมเวิร์ก GoogleTest สำหรับการทดสอบหน่วยอย่างครอบคลุม
Basic API มีอินเทอร์เฟซสำหรับการเข้ารหัสและถอดรหัสในระดับแพ็กเก็ตและไฟล์ นอกจากนี้ยังมี Toolchain การประมวลผลสัญญาณที่สมบูรณ์และรวมถึงตัวกรองและการแปลงต่างๆ
“ แอปพลิเคชันตัวอย่างของเราทำงานร่วมกับ Android NDK เพื่อแสดงวิธีการรวมโค้ดเนทีฟของ Lyra เข้ากับแอปพลิเคชัน Android ที่ใช้ Java นอกจากนี้เรายังให้น้ำหนักเวกเตอร์และตัวระบุปริมาณที่จำเป็นในการเรียกใช้ Lyra ด้วย” Google กล่าว รุ่นนี้มีเครื่องมือที่จำเป็นสำหรับนักพัฒนาในการเข้ารหัสและถอดรหัสเสียงด้วย Lyra ซึ่งเหมาะสำหรับแพลตฟอร์ม Android ARM 64 บิตพร้อมเวอร์ชันสำหรับ Linux
คุณลักษณะต่างๆจะถูกถอดรหัสเป็นรูปคลื่นโดยใช้แบบจำลองการกำเนิด Generative Models เป็นโมเดลแมชชีนเลิร์นนิงชนิดพิเศษที่เหมาะอย่างยิ่งสำหรับการสร้างรูปคลื่นเสียงที่สมบูรณ์จากฟังก์ชันจำนวน จำกัด
โครงสร้างของ Lyra คล้ายคลึงกับตัวแปลงสัญญาณเสียงแบบดั้งเดิมซึ่งเป็นหัวใจสำคัญของการสื่อสารทางอินเทอร์เน็ตมานานหลายทศวรรษ ในขณะที่ตัวแปลงสัญญาณแบบดั้งเดิมเหล่านี้อาศัยเทคนิคการประมวลผลสัญญาณดิจิทัล จุดแข็งของ Lyra อยู่ที่ความสามารถของแบบจำลองเชิงกำเนิดในการสร้างสัญญาณเสียงคุณภาพสูงขึ้นมาใหม่
Google ใช้ Lyra ในแอปวิดีโอคอล Duo ฟรีและบอกว่ากำลังสร้างโค้ดแบบโอเพ่นซอร์สเพราะคิดว่ามันอาจจะเหมาะกับแอพอื่น ๆ
Google เชื่อว่ามีแอปจำนวนมากที่ Lyra อาจเหมาะสำหรับการเก็บเสียงจำนวนมากการประหยัดแบตเตอรี่หรือลดความแออัดของเครือข่ายในสถานการณ์ที่วุ่นวาย
"เราหวังเป็นอย่างยิ่งว่าจะได้เห็นความคิดสร้างสรรค์ที่เป็นลักษณะเฉพาะของชุมชนโอเพ่นซอร์สที่นำไปใช้กับ Lyra เพื่อส่งมอบแอปพลิเคชันที่มีประสิทธิภาพและไม่เหมือนใคร" Google กล่าว
ที่มา: https://opensource.googleblog.com