คุณสมบัติการจดจำเพลง "กำลังเล่น" ใหม่ของ Google Pixel 2 นั้นใช้เทคโนโลยีที่เรียกว่า AmbientSense ซึ่งรับประกันว่าแบตเตอรี่จะหมดน้อยที่สุด
อัปเดต 10/16/2017: Google ได้ติดต่อเราเพื่อแจ้งให้เราทราบว่า "กำลังเล่น" ไม่ได้ขึ้นอยู่กับ AmbientSense. เราได้ตอบกลับเพื่อสอบถามข้อมูลเพิ่มเติมเกี่ยวกับคุณลักษณะนี้ และจะอัปเดตบทความนี้พร้อมกับคำตอบของพวกเขา
อัปเดต 10/19/2017: เราได้เรียนรู้รายละเอียดเพิ่มเติมเกี่ยวกับวิธีการทำงานของ Now Playing โปรด อ่านบทความติดตามผลนี้ สำหรับรายละเอียดเพิ่มเติม
ที่ Google พิกเซล 2 และพิกเซล 2 XL เป็นทางการแล้วหลังจากรั่วไหลมาหลายเดือน หนึ่งในคุณสมบัติที่น่าสนใจ (และเป็นที่ถกเถียงกัน) คือ "กำลังเล่น" ซึ่งจะตรวจจับเพลงที่เล่นในพื้นหลังและแสดงให้คุณเห็นว่ากำลังเล่นอะไรอยู่บนหน้าจอล็อค เราได้ยินเกี่ยวกับคุณลักษณะนี้เป็นครั้งแรก ไม่กี่สัปดาห์ก่อนการเปิดตัวแต่เราไม่มีข้อมูลมากนักเกี่ยวกับคุณลักษณะนี้ นอกเหนือจากที่ Google บอกเราว่าสามารถทำงานแบบออฟไลน์ได้โดยไม่ต้องส่งข้อมูลใดๆ ไปยังคลาวด์ (อย่างหลังมีความสำคัญอย่างยิ่งในแง่ของ การเปิดเผยล่าสุดเกี่ยวกับ Google Home Mini). หลังจากเจาะลึกคุณลักษณะกำลังเล่นอยู่ เราได้ค้นพบว่าคุณลักษณะนี้ใช้เทคโนโลยีที่มีมายาวนานหลายปีที่เรียกว่า
AmbientSense ซึ่งสัญญาไว้ แบตเตอรี่หมดน้อยที่สุด.ฟีเจอร์กำลังเล่นของ Google Pixel 2
เราได้รับแจ้งเรื่องนี้เป็นครั้งแรกเมื่อเราวิเคราะห์แอปพลิเคชัน Pixel Ambient Services ซึ่งมีอยู่ใน Google Play Store
แต่ไม่ใช่ตัวแอปเองที่ทำให้เราตระหนักถึงการเชื่อมต่อ AmbientSense แต่เป็นชื่อของ APK ที่ติดตั้งไว้ล่วงหน้าใน /system/priv-app บน Google Pixel 2 APK ที่เรียกว่า AmbientSense จะตรงกับชื่อของเทคโนโลยีที่อธิบายไว้ในรายงานการวิจัยที่นำเสนอที่ การประชุมเชิงปฏิบัติการนานาชาติ IEEE เรื่องการประชุมเชิงปฏิบัติการด้านคอมพิวเตอร์และการสื่อสารที่แพร่หลายปี 2013 โดยนักวิจัย ม. รอสซี่, เอส. ฟีส, โอ. แอมฟท์, เอ็น. เบราน์, เอส. มาร์ติสและจี โทรสเตอร์
AmbientSense คืออะไร และเกี่ยวข้องกับ "กำลังเล่นอยู่" อย่างไร
เราพบหน้าเว็บที่แสดงหน้าแรกของบทความนี้ ที่นี่. ตามบทคัดย่อของรายงาน AmbientSense คือ "ระบบจดจำเสียงรอบข้างแบบเรียลไทม์บนสมาร์ทโฟนสิ่งที่น่าสนใจที่สุดเกี่ยวกับ AmbientSense คือสามารถใช้เป็นแอป Android ได้ และต้องการเข้าถึงไมโครโฟนของอุปกรณ์เพื่อวิเคราะห์เสียงรอบข้างเท่านั้น
มีโหมดการประมวลผลสองโหมดที่อธิบายไว้ในบทความนี้: เป็นอิสระ และ โหมดเซิร์ฟเวอร์. การประมวลผลอัตโนมัติเกิดขึ้นบนสมาร์ทโฟนโดยการเปรียบเทียบตัวอย่างเสียงกับฐานข้อมูลที่จัดเก็บไว้ในเครื่องเท่านั้น ในการเปรียบเทียบ โหมดเซิร์ฟเวอร์จะส่งคุณสมบัติด้านเสียงไปยังเซิร์ฟเวอร์ จากนั้นจะส่งผลการจัดหมวดหมู่กลับมา เห็นได้ชัดว่าฟีเจอร์ "กำลังเล่น" ของ Google กำลังใช้งาน AmbientSense ในโหมด "อัตโนมัติ" เนื่องจากสามารถทำงานแบบออฟไลน์ได้โดยไม่ต้องส่งสิ่งใดไปยัง Google
บทความนี้อธิบายต่อไปว่าทีมนักวิจัยทดสอบประสิทธิภาพการจดจำ รันไทม์ โหลด CPU อย่างไร และการหน่วงเวลาการรับรู้ภายใต้การรับรู้ทั้งแบบอัตโนมัติและโหมดเซิร์ฟเวอร์ในชุดคลาสเสียงรอบข้าง 23 คลาส พวกเขาพบว่าแอป AmbientSense ใช้งานได้สูงสุด 13.75 ชั่วโมงบน Samsung Galaxy SII และสูงสุด 12.87 ชั่วโมงบน Google Nexus One โปรดทราบว่าอุปกรณ์เหล่านี้มีอายุเท่าใด Google Nexus One เปิดตัวในปี 2010 พร้อมแบตเตอรี่ 1,400 mAh และเป็นไดโนเสาร์เมื่อเปรียบเทียบกับ Pixel 2 เราคงได้แต่จินตนาการว่า AmbientSense ได้รับการปรับปรุงผ่านการทดสอบของ Google มากเพียงใด
เป็นไปได้หรือไม่ที่จะย้ายฟีเจอร์กำลังเล่นบนโทรศัพท์ที่ไม่ใช่ Google Pixel 2
ฉันยังให้สัญญาอะไรไม่ได้เลย แต่ฉัน คิดว่ามันเป็นไปได้. เรากำลังทำงานร่วมกับ XDA Recognized Contributor ควินนี่899 เพื่อทำให้มันเกิดขึ้น เพื่อให้ฟีเจอร์กำลังเล่นทำงานได้บนสมาร์ทโฟน Google Pixel/Nexus รุ่นแรก มีบางสิ่งที่เราเชื่อว่าจำเป็น:
- บริการ Pixel Ambient (AmbientSense.apk)
- ฐานข้อมูลการจับคู่เสียง
- ห้องสมุดบางแห่งที่ขาดหายไป
- การปรับเปลี่ยน SystemUI ในการแสดงผลโดยรอบ
- การเข้าถึงรูท (เพื่อส่งไฟล์ด้านบนไปที่ /system)
เครดิตภาพหน้าจอ: Kieron Quinn (Quinny899)
ขณะนี้เรามีฐานข้อมูลการจับคู่เสียงอยู่ในความครอบครองของเราแล้ว เรียกว่า "matcher.leveldb" เป็นไลบรารีพื้นที่เก็บข้อมูลขนาด 53MB อ้างอิงจาก Google ระดับDB. นี่คือฐานข้อมูลที่ AmbientSense อาศัยในการจับคู่เสียงในโหมดอัตโนมัติ
สำหรับห้องสมุด เรารู้ว่าห้องสมุดเหล่านี้เรียกว่าอะไรและจะหาได้ที่ไหน แต่จะต้องใช้เวลาสักระยะก่อนจึงจะสามารถดึง Pixel 2 ออกมาได้
สุดท้ายนี้ SystemUI จำเป็นต้องได้รับการแก้ไขเนื่องจากฟีเจอร์ "กำลังเล่น" เขียนข้อความไปยังสภาพแวดล้อม จอแสดงผล—สิ่งที่ไม่สามารถทำได้ในขณะนี้ในคุณสมบัติการแสดงผลโดยรอบที่พบในคุณสมบัติแรก พิกเซลรุ่น
ในการทำให้สิ่งนี้ใช้งานได้บนโทรศัพท์ที่ไม่ใช่ของ Google เราจะทดสอบหลังจากที่เราทำให้มันใช้งานได้บนโทรศัพท์ Google Pixel และ Nexus หากหรือเมื่อเราสร้างความก้าวหน้าในการทำให้ฟีเจอร์นี้ใช้งานได้ ที่แรกที่คุณจะรู้จักคือพอร์ทัล XDA ดังนั้นโปรดคอยติดตามเพิ่มเติม!