一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Smule采用Oboe音頻庫提升錄制率

谷歌開發(fā)者 ? 來源:Android 開發(fā)者 ? 作者:Android ? 2022-08-15 11:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者 / Smule 工程團隊: David Gayle、Chris Manchester、Mark Gills、Trayko Traykov、Randal Leistikow、Mariya Ivanova。

Smule 采用 Oboe 音頻庫提升錄制率

作為目前下載量排名前列的唱歌類應用,Smule Inc. 一直致力于投入大量資源來提升其應用的 Android 體驗,以提高整體音頻質(zhì)量。具體而言就是減少延遲時間,讓歌手在表演時能夠通過耳機聽到自己的聲音。擅長音頻和視頻技術(shù)的團隊在 2021 年很大一部分時間都忙于必需的提升工作,將逾千萬 Android 用戶使用的 Smule 應用從使用 OpenSL 音頻 API 轉(zhuǎn)換為使用 Oboe 音頻庫,從而使錄制完成率提高了約 10% 以上。

簡介

Smule Inc. 是卡拉 OK 應用的潮流企業(yè),旗下的應用每天幫助數(shù)百萬用戶演唱最愛的歌曲,并分享表演。Smule 應用超越了傳統(tǒng)的卡拉 OK,專注于共同創(chuàng)作,為用戶創(chuàng)造了獨一無二的機會,可以與朋友、平臺上的其他歌手及其最喜歡的音樂人分享音樂和合作。而音頻質(zhì)量至關(guān)重要,Smule 團隊在 2020 年看到了在 Android 平臺提升體驗的潛力。

Smule 使用的舊版 OpenSL 雖然支持全球市場的各種設(shè)備,但不太適合利用新設(shè)備的高速硬件。Smule 開發(fā)團隊認為,升級音頻系統(tǒng)是必要且合乎邏輯的改進。

Oboe 發(fā)布策略

Smule 曾面對兩種可行的改進途徑,第一種是針對 AAudio 進行改進,這是 Android O 中引入的高性能 Android C 音頻 API,專為需要低延遲的應用而設(shè)計。第二種是采用在內(nèi)部同時封裝了 AAudio 和 OpenSL 的 Oboe。經(jīng)過細致評估,Smule 開發(fā)團隊選擇了 Oboe,此方案具有易用的代碼庫、廣泛的設(shè)備兼容性和強大的社區(qū)支持,可最大限度減少延遲時間,并充分利用可用的原生音頻。

改用 Oboe 意味著在應用架構(gòu)和技術(shù)上將發(fā)生重大的變化。因此,Smule 在更新過程中采取了謹慎的做法,有計劃地逐步發(fā)布,首先面向少數(shù)的特定設(shè)備型號以驗證質(zhì)量;然后逐漸地面向更多設(shè)備 (將少數(shù)使用 Oboe 時出現(xiàn)問題的設(shè)備恢復到 OpenSL)。這種循序漸進、有條不紊的方法可以最大限度地降低風險,并讓開發(fā)團隊能夠在出現(xiàn)設(shè)備特定問題時及時處理。

改善音頻質(zhì)量體驗

Smule 改用 Oboe 來幫助改善應用體驗。他們希望大幅降低音頻播放崩潰率,消除錄制時的回響和噼啪聲等問題,以及減少音頻延遲。在之前的推文《關(guān)于 Android 音頻延遲的最新動態(tài)》中曾介紹過,二十種最熱門的設(shè)備使用 Oboe 后,平均延遲時間從 2017 年的 109 毫秒減少到現(xiàn)在的 39 毫秒。109 毫秒的監(jiān)聽延遲會聽到干擾現(xiàn)場演唱的明顯回響,而延遲 39 毫秒則低于實時應用可接受的閾值。當下高端設(shè)備的延遲時間都在 22 毫秒以內(nèi),這種一致性是一大優(yōu)勢。

Smule 使用 Oboe 后,或許是因為延遲時間更短,歌手借助 Smule 首屈一指的音頻效果演唱時能通過耳機聽到自己的聲音,同時又沒有回響,錄制完成率因此得以提升。

利用 Oboe 專用的高效協(xié)作式 GitHub 門戶,Google 團隊發(fā)揮了重要作用,不但幫助 Smule 實現(xiàn) Oboe 集成,還為其提供重要的數(shù)據(jù)洞察和支持。兩家團隊通力合作,完成了迄今最大的 Oboe 部署,數(shù)百萬活躍用戶受益匪淺。Smule 團隊解決了某些 Oboe 代碼問題,而 Google 團隊與部分移動設(shè)備制造商一起進一步增強了 Oboe 的兼容性。

對于歌手社區(qū)而言,音頻質(zhì)量至關(guān)重要,我們一起致力于幫助 Smule 提供最佳體驗,并助力音樂創(chuàng)作,我們?yōu)榇松罡行牢俊?/p>

Smule 首席技術(shù)官 Eric Dumas

既然是大規(guī)模部署,自然會面臨設(shè)備特定問題。例如,操作系統(tǒng)內(nèi)置功能會導致原始音頻流中出現(xiàn)回響聲效,造成 Smule 不能正常應用自己的專利 DSP 算法和音頻濾波器。Google 團隊立即施以援手,迅速為開發(fā)庫提供更新和補丁。Oboe 問題反饋的流程簡單,描述明確,便于 Google 團隊及時解決。

Smule 還克服了其他設(shè)備特定障礙,其中包括特定芯片組錯誤。比如,Oboe 需要單聲道麥克風輸入時,一些設(shè)備提供的是引入一個模擬單聲道麥克風輸入的立體聲輸入。Smule 在 Oboe 的 GitHub 中創(chuàng)建工單,以提供示例并使用 Oboe 測試應用重現(xiàn)此問題。

Google 開發(fā)的 Oboe 測試器應用工具可幫助用戶在實現(xiàn)過程中解決和標識問題。事實證明,此工具在測試 Oboe、AAudio 和 OpenSL ES 的許多功能、測試 Android 設(shè)備,以及衡量延遲時間和故障等方面特別有用。此應用可提供大量有助于模擬絕大部分音頻設(shè)置的功能。Oboe 測試器還可用于自動化測試,方法是使用 Android Intent 從 Shell 腳本啟動。由于集成涉及大量設(shè)備,Smule 非常依賴自動化測試。

在 Smule 確信已解決設(shè)備特定問題,并且 Oboe 音頻相當穩(wěn)定后,Smule 改用大范圍的對比測試發(fā)布方式。短短幾周內(nèi),Smule 將使用 Oboe 的人群從目標設(shè)備的 10% 增加到 100%,這得益于 Oboe 在發(fā)布期間不斷收到積極反饋和綠色 KPI 指標。

結(jié)果不言而喻,使用 Oboe 的 Smule 用戶會唱更多歌,就這么簡單。不重復的卡拉 OK 錄制量以及合唱 (或二重奏) 增加了高達 8.07%,不重復的上傳量增加了 3.84%,而演唱完成率則增加了 4.10% 以上。Smule 觀察到,在 2021 年第三季度和第四季度,錄制完成率增加了 10% 以上。

使用 Google 提供的 Firebase Crashlytics 工具,Smule 發(fā)現(xiàn)自 Oboe 全面應用以來,與音頻相關(guān)的崩潰減少,應用更穩(wěn)定,即便使用低端設(shè)備也如此。Smule 敬業(yè)的客服團隊發(fā)現(xiàn),與音頻相關(guān)的投訴減少了 33%,其中包括 (非預期的) 機器人音效和回響等問題的投訴。

改用 Oboe 的決策已頗有成效。此應用不同以往,更穩(wěn)定更出類拔萃,Smule 完全能夠采用更新技術(shù),進一步提升音頻和硬件質(zhì)量。最重要的是,Smule 用戶可以更得心應手地制作音樂,這才是我們的使命。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3972

    瀏覽量

    130168
  • Google
    +關(guān)注

    關(guān)注

    5

    文章

    1789

    瀏覽量

    58966
  • 音頻
    +關(guān)注

    關(guān)注

    29

    文章

    3039

    瀏覽量

    83391

原文標題:Smule 借助 Oboe 音頻庫提升用戶體驗,助力音樂創(chuàng)作 | Android 開發(fā)者故事

文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Arm精銳超級分辨技術(shù)助力提升游戲性能

    去年夏天,Arm 推出了 Arm 精銳超級分辨技術(shù) (Arm Accuracy Super Resolution, Arm ASR) 的早期采用計劃,這是一項從 AMD 超級分辨銳畫技術(shù) 2
    的頭像 發(fā)表于 04-21 13:52 ?445次閱讀
    Arm精銳超級分辨<b class='flag-5'>率</b>技術(shù)助力<b class='flag-5'>提升</b>游戲性能

    藍牙音頻模組中模擬音頻和數(shù)字音頻如何選擇?

    藍牙模塊中我們常說的模擬音頻和數(shù)字音頻,是指兩種不同的信號處理技術(shù),它們都可以實現(xiàn)聲音的錄制、存儲、編輯、壓縮或播放,但也有一些區(qū)別和特點。本文將為您深入解析藍牙數(shù)字音頻和模擬
    的頭像 發(fā)表于 04-17 15:55 ?304次閱讀
    藍牙<b class='flag-5'>音頻</b>模組中模擬<b class='flag-5'>音頻</b>和數(shù)字<b class='flag-5'>音頻</b>如何選擇?

    支持多臺機統(tǒng)一管控可同時錄制6間會議室的錄播主機

    其最為突出的優(yōu)勢在于具備6通道視頻輸入功能,不僅每一路皆支持內(nèi)嵌音頻輸入錄制,更特別的是,還支持對每一路分別進行配音,能夠錄制為6個不同音頻各自獨立的音視頻文件,這一特性完美實現(xiàn)了同時
    的頭像 發(fā)表于 02-22 09:32 ?609次閱讀
    支持多臺機統(tǒng)一管控可同時<b class='flag-5'>錄制</b>6間會議室的錄播主機

    如何提升音頻音質(zhì)?比特和采樣是關(guān)鍵!

    在挑選音響、聲卡、耳機等音頻設(shè)備時,我們都會特別關(guān)注其音質(zhì)表現(xiàn)——這關(guān)乎到我們聆聽音樂、觀看電影等娛樂體驗的質(zhì)量。實際上,我們可以在音頻設(shè)備中看到一些名詞標注:比特、采樣……這兩個
    的頭像 發(fā)表于 02-05 17:26 ?3058次閱讀
    如何<b class='flag-5'>提升</b><b class='flag-5'>音頻</b>音質(zhì)?比特<b class='flag-5'>率</b>和采樣<b class='flag-5'>率</b>是關(guān)鍵!

    谷歌Pixel Recorder應用用戶參與度顯著提升

    Google Pixel 的 Recorder 應用允許用戶錄制、轉(zhuǎn)錄、保存和共享音頻。為了讓用戶更輕松地管理和回顧自己的錄音,Recorder 的開發(fā)者將目光鎖定在功能強大的設(shè)備端大語言模型
    的頭像 發(fā)表于 11-15 13:46 ?691次閱讀

    《DNK210使用指南 -CanMV版 V1.0》第二十九章 音頻錄制實驗

    ,因為本實驗需要錄制音頻數(shù)據(jù)。再接著構(gòu)造了一個Audio對象,Audio對象與文件系統(tǒng)中的音頻文件進行綁定。接下來根據(jù)定義的采樣、錄制時間
    發(fā)表于 10-26 14:16

    采用TLV320AIC3106實現(xiàn)4路音頻輸入,4路音頻輸出,對應的管腳該如何分配?

    您好!請問,我想采用TLV320AIC3106實現(xiàn)4路音頻輸入(即兩路均為左右聲道的音頻輸入),4路音頻輸出(即兩路均為左右聲道的音頻輸出
    發(fā)表于 10-25 07:14

    synopsys 的design ware:DW_fpv_div,浮點數(shù)除法器,默認32位下,想提升覆蓋(TMAX),如果用功能case去提升覆蓋呢?

    ,覆蓋只有微微的提升,請問是否要遍歷很多數(shù)才能提升覆蓋嗎?一般這種浮點數(shù)有什么方法去跑嗎? 每個數(shù)都跑豈不是天文數(shù)字,本人剛接觸不久,請大佬指教下,謝謝
    發(fā)表于 10-15 18:38

    dm368錄制音視頻后用vlc播放不同步是怎么回事?

    目前我們用其他的開發(fā)板 能夠錄制音視頻,但是用vlc播放的時候發(fā)現(xiàn)每次都是視頻播放完成了音頻還要播放一會,隨著錄制時間加上,延后的這個時間也會變長 請問有知道怎么回事的嗎?
    發(fā)表于 10-15 06:56

    TLV320AIC3254具有6路的語音錄制功能,可否生成6路完全獨立的音頻文件?

    您好,請問下TLV320AIC3254具有6路的語音錄制功能,請問下,可否生成6路完全獨立的音頻文件?由于每個拾音器是分別放置于不同的位置。謝謝。
    發(fā)表于 10-12 08:58

    使用adau1961 codec進行錄音,發(fā)現(xiàn)錄制音頻文件噪聲非常大,請問有什么辦法可以優(yōu)化嗎?

    (1)我這邊使用adau1961 codec進行錄音,發(fā)現(xiàn)錄制音頻文件噪聲非常大,請問有什么辦法可以優(yōu)化么,我這邊已經(jīng)排除MIC導入噪聲的可能,實際使用AMIC。 (2)我這邊使用tas2505作為pa接speaker播放一個wav文件,發(fā)現(xiàn)同樣噪聲非常大,請問有改善的
    發(fā)表于 10-12 07:35

    TLV320AIC3254用作音頻采集,芯片的ADC的分辨是多少位的呢?

    用作音頻采集,芯片的ADC的分辨是多少位的呢?查看了一些資料和CS都沒介紹到這一塊。
    發(fā)表于 10-10 07:23

    高分辨音頻和傳統(tǒng)音頻區(qū)別

    高分辨音頻通過更高的采樣和比特深度,提供了更高的音質(zhì)和更豐富的聽覺體驗,而傳統(tǒng)音頻則可能在音質(zhì)和細節(jié)上有所妥協(xié)。
    的頭像 發(fā)表于 09-04 16:20 ?1630次閱讀
    高分辨<b class='flag-5'>率</b><b class='flag-5'>音頻</b>和傳統(tǒng)<b class='flag-5'>音頻</b>區(qū)別

    百問網(wǎng)全志系列開發(fā)板音頻ALSA配置步驟詳解

    系統(tǒng)會分配一定存儲位來記錄聲波的振幅,一般稱之為采樣分辯或者采樣精度,采樣精度越高,聲音還原時就會越細膩。 ?數(shù)字音頻涉及到的概念非常多,對于在Linux下進行音頻編程的程序員來說,最重
    發(fā)表于 08-13 09:56

    為什么采用30.72MHz作為最小采樣

    本文介紹了為什么采用30.72MHz作為最小采樣。
    的頭像 發(fā)表于 08-07 17:35 ?1087次閱讀
    為什么<b class='flag-5'>采用</b>30.72MHz作為最小采樣<b class='flag-5'>率</b>