日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

如何在SDK上使用容器構建高音頻質(zhì)量的應用程序

星星科技指導員 ? 來源:NVIDIA ? 作者:About Abhishek Sawark ? 2022-03-31 16:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著音頻和視頻流、會議和電信的興起,開發(fā)人員必須構建具有卓越音頻質(zhì)量的應用程序,并使最終用戶能夠有效地進行通信和協(xié)作。各種背景噪音會干擾通信,從交通和建筑到狗吠和嬰兒哭鬧。此外,用戶可以在放大回聲的大房間里講話。

NVIDIA Maxine提供了一種易于使用的 Audio Effects SDK 和 AI 神經(jīng)網(wǎng)絡音頻質(zhì)量增強算法,以解決虛擬協(xié)作和內(nèi)容創(chuàng)建應用程序中音頻質(zhì)量差的問題。使用 Audio Effects SDK ,您可以消除幾乎任何類型的噪音,包括房間回音,并構建能夠輕松理解對話和高效會議的應用程序。

在本文中,您將學習如何在 Linux 或 Windows 平臺上的 SDK 上使用容器構建高音頻質(zhì)量的應用程序。所有這些都通過預構建的示例應用程序進行了演示。

構建沒有背景噪音或房間回聲的應用程序

Maxine Audio Effects SDK 使您能夠?qū)⒄瓗?、寬帶和超寬帶音頻的噪音消除和房間回聲消除功能集成到應用程序中。

噪聲消除

隨著我們開始更多地在家工作,在我們通話的背景中有許多潛在的噪聲源,例如按鍵聲或空調(diào)壓縮機的聲音。我們周圍的分心成為我們周圍環(huán)境的一部分,比如關上門、搬家具或吸塵器。

使用噪聲消除效果,您可以從音頻流中去除不同的噪聲,同時保留說話人聲音的情感方面。例如,當最終用戶感到興奮,并在空調(diào)的背景下以更高的音調(diào)提出新想法時,噪音消除只保留說話人的聲音。

房間回音消除

當一個人在一個封閉的房間里講話時,聲音會從周圍的所有表面反彈。聲音在多次迭代中被吸收、減弱或繼續(xù)反射的程度取決于曲面的大小、幾何體和材質(zhì)。這種持續(xù)的聲波反射會隨著時間的推移而增強,并引起混響。

回聲在具有更多反射表面的大房間(如混凝土墻或石墻)中更為明顯。例如,想象一下高天花板大教堂中的聲音混響。這種reverberant語音不適合于廣泛使用的語音編碼方法,如線性預測編碼或碼激勵線性預測。混響語音的編碼會導致嚴重的失真,在極端情況下會導致語音無法理解。

在發(fā)送語音記錄之前,必須消除語音記錄中的此類混響。在編碼前無法消除回聲的情況下,在通過揚聲器將解碼語音呈現(xiàn)給聽眾之前,必須盡可能多地消除回聲。當用戶在混響環(huán)境中講話時,房間回音消除效果消除了語音中不必要的回聲。此外,此功能支持寬帶和超寬帶信號。

您可以將噪音消除和房間回聲消除功能結合起來,以在兩個方向上獲得更好的端到端音頻質(zhì)量。

獲取適用于 Windows 或 Linux 的 Maxine Audio Effects SDK

將容器與 Kubernetes 一起使用提供了一種健壯且易于擴展的部署策略。除了預先打包的容器外,我們還提供適用于 Windows 和 Linux 平臺的 Maxine Audio Effects SDK 。使用容器的好處是由于更快的部署和更短的維護時間而實現(xiàn)了高可擴展性、時間和成本節(jié)約。此外,由于容器的預包裝性質(zhì),您不必擔心容器內(nèi)的特定安裝。

在本文中,我們將重點介紹如何使用 Audio Effects SDK 容器。繼續(xù)安裝之前,請確保滿足所有硬件要求。

如果您對 NVIDIA TensorRT 和 cuDNN 有豐富的經(jīng)驗,并且希望在裸機 Linux 系統(tǒng)上部署 Audio Effects SDK ,請在 Maxine 開始頁面上下載特定平臺的 SDK 。

音頻效果 SDK Docker 容器

在容器上安裝和利用高性能 Audio Effects SDK 及其最先進的 AI 模型需要四個步驟:

下載 NVIDIA 驅(qū)動程序

下載 Docker 和 NVIDIA -Docker用于將 GPU 暴露在容器中

使用NGC API 密鑰登錄 NGC 注冊表

拉動音頻效果 SDK 容器

您需要訪問 NVIDIA Turing、 NVIDIA Volta 或 NVIDIA Ampere Architecture 生成數(shù)據(jù)中心 GPU s : T4 、 V100 、 A100 、 A10 或 A30 。

在 Windows 上安裝 Audio Effects SDK

在 Windows 上安裝 SDK 是一個簡單的過程:

下載適用于 Windows 的 NVIDIA 圖形驅(qū)動程序

下載 Microsoft Visual Studio 2017 或更高版本(確保安裝構建工具)

從Maxine 開始了頁面下載最新的 Audio Effects SDK 軟件包

您必須擁有 NVIDIA RTX 卡才能從 Windows 上 Audio Effects SDK 的加速吞吐量和縮短延遲中獲益。要在數(shù)據(jù)中心卡(如 A100 )上運行此 SDK ,請使用 Linux 包。

將 Audio Effects SDK 與預構建的示例應用程序一起使用

Audio Effects SDK 附帶預構建的effects_demo和effects_delayed_streams_demo示例應用程序,以演示如何使用 SDK 。您還可以構建自己的示例應用程序。在本文中,我們將重點介紹如何運行effects_demo示例應用程序。

實時音頻效果演示

effects_demo應用程序演示如何使用 SDK 將效果應用于音頻。它可以用于應用噪音消除、房間回聲消除或兩者的組合效果來輸入音頻文件并將輸出寫入文件。

要運行此應用程序,請導航到samples/effects_demo目錄,并使用以下腳本之一運行該應用程序:

$ 。/run_effect.sh -a turing -s 16 -b 1 -e denoiser

$ 。/run_effect.sh -a turing -s 48 -b 1 -e dereverb

$ 。/run_effect.sh -a turing -s 16 -b 400 -e denoiser

$ 。/run_effect.sh -a turing -s 48 -b 400 -e dereverb_denoiser

run_effect.sh bash 腳本接受以下參數(shù):

-a:架構可以是 NVIDIA 圖靈、 NVIDIA 沃爾塔、 A100 或 A10 ,具體取決于您的 GPU 。

-s:使用 48 / 16 KHz 的采樣率。

-b:批量大小。

-e:要運行的效果:

denoiser( NR )

dereverb( RER )

dereverb_denoiser(合并)

您還可以通過如下方式傳遞配置文件來執(zhí)行effects_demo二進制文件:

# For running denoiser on NVIDIA Turing GPU with 48kHz input and batch size 1

$ 。/effects_demo -c turing_denoise48k_1_cfg.txt

此配置文件應包含以下參數(shù):

effect 《denoiser/dereverb/dereverb_denoiser》

sample_rate 《48000/16000》

model 《*.trtpkg》:模型可在容器內(nèi)的/usr/local/AudioFX/models目錄中找到。

real_time 《0/1》:模擬來自物理設備或流的音頻接收。

intensity_ratio 《0.0-1.0》 :指定去噪強度比。

input_wav_list

output_wav_list

運行effects_demo示例應用程序后,已去噪的輸出文件與可執(zhí)行文件位于同一目錄中。

延遲流上的音頻效果 SDK 演示

effects_delayed_streams_demo應用程序演示如何處理延遲流。在電信領域,如果用戶的音頻 MIG ht 不能實時到達服務器,我們建議延遲應用去噪效果。在此示例應用程序中,每個輸入流都屬于以下類別之一:

one_step_delay_streams:這些流的延遲為一幀。例如,如果幀大小為 5ms ,則這些流具有 5ms 的延遲。

two_step_delay_streams:這些流有兩幀的延遲。例如,如果幀大小為 5ms ,則這些流具有 10ms 的延遲。

always_active_streams:這些流沒有延遲,始終處于活動狀態(tài)。

要運行此應用程序,請導航到samples/effects_delayed_streams_demo目錄并按如下方式執(zhí)行二進制文件:

$ 。/effects_delayed_streams_demo -c config-file

這里,-c config-file是配置文件的路徑,例如,turing_denoise48k_10_cfg.txt。配置文件接受以下參數(shù):

effect 《denoiser/dereverb/dereverb_denoiser》

frame_size:一個無符號整數(shù),指定音頻效果的每個音頻流每幀的采樣數(shù)。

sample_rate 《48000/16000》

model 《*.trtpkg》:模型可在容器內(nèi)的/usr/local/AudioFX/models目錄中找到。

one_step_delay_streams:指定屬于one_step_delay_streams類別的流標識符。

two_step_delay_streams:指定屬于two_step_delay_streams類別的流標識符。

input_wav_list

output_wav_list

運行effects_delayed_streams_demo示例應用程序后,已去噪的輸出文件與可執(zhí)行文件位于同一目錄中。

使用 API 運行音頻效果功能

示例應用程序使用易于使用的 Audio Effects SDK API 來運行效果。它們利用了顯著的性能優(yōu)勢并控制了低級別 API 的批處理。在 Maxine 中創(chuàng)建和運行音頻效果是一個簡單的三步過程(圖 1 )。

#FormatImgID_0#圖 1 。運行 Audio Effects SDK 的步驟和函數(shù)

創(chuàng)造效果

要為噪聲消除或房間回聲消除創(chuàng)建效果,請調(diào)用NvAFX_CreateEffect函數(shù),該函數(shù)接受帶有所需參數(shù)的句柄。此函數(shù)用于在創(chuàng)建所需效果后返回狀態(tài)代碼。繼續(xù)之前,請使用此狀態(tài)代碼檢查是否有任何錯誤。

// Create and handle

NvAFX_Handle handle;

// Call CreateEffect function and pass any one of the desired effects:

// NVAFX_EFFECT_DENOISER, NVAFX_EFFECT_DEREVERB,

// NVAFX_EFFECT_DEREVERB_DENOISER

NvAFX_Status err = NvAFX_CreateEffect(NVAFX_EFFECT_DENOISER, &handle);

每個提供的型號都支持特定的音頻采樣率,可以通過調(diào)用NvAFX_SetU32來指定。采樣率值應為無符號 32 位整數(shù)值( 48000 / 16000 )。此外,應使用NvAFX_SetString API 調(diào)用傳遞所用 GPU 平臺的正確模型路徑,如下所示:

// Pass parameter selector NVAFX_PARAM_SAMPLE_RATE and unsigned int

// Pass parameter selector NVAFX_PARAM_MODEL_PATH and character string

NvAFX_Status err;

err = NvAFX_SetU32(handle, NVAFX_PARAM_SAMPLE_RATE, sample_rate);

err = NvAFX_SetString(handle, NVAFX_PARAM_MODEL_PATH, model_file.c_str());

由于為每個效果預設了 I / O 音頻通道數(shù)和每幀采樣數(shù),因此必須將這些參數(shù)傳遞給效果功能。要獲取支持的值列表,請調(diào)用NvAFX_GetU32函數(shù),該函數(shù)返回預設值列表。

// Pass the selector string to get specific information like:

// NVAFX_PARAM_NUM_SAMPLES_PER_FRAME,

// NVAFX_PARAM_NUM_CHANNELS,

unsigned num_samples_per_frame, num_channels;

NvAFX_Status err;

err = NvAFX_GetU32(handle, NVAFX_PARAM_NUM_SAMPLES_PER_FRAME,

&num_samples_per_frame);

err = NvAFX_GetU32(handle, NVAFX_PARAM_NUM_CHANNELS, &num_channels);

要在 GPU 上運行效果,必須使用NvAFX_GetSupportedDevices函數(shù)獲取支持的設備列表,該函數(shù)獲取支持的 GPU 數(shù)量。

// The function fills the array with the CUDA device indices of devices

// that are supported by the model, in descending order of preference,

// where the first device is the most preferred device.

int numSupportedDevices = 0;

NvAFX_GetSupportedDevices(handle, &numSupportedDevices, nullptr);

std::vector《int》 ret(num);

NvAFX_GetSupportedDevices(handle, &numSupportedDevices, ret.data());

然后,您可以通過傳遞正確的 GPU 設備編號來設置要使用的 GPU 設備,如下所示:

NvAFX_SetU32(handle, NVAFX_PARAM_USE_DEFAULT_GPU, use_default_gpu_)

加載音頻效果

創(chuàng)建效果后,必須使用NvAFX_Load函數(shù)加載模型。加載效果選擇并加載模型,并驗證為效果設置的參數(shù)。此函數(shù)將模型加載到 GPU 內(nèi)存中,并使其為推斷做好準備。要加載音頻效果,請調(diào)用NvAFX_Load函數(shù)并指定創(chuàng)建的效果句柄。

NvAFX_Status err = NvAFX_Load(handle);

運行音頻效果

最后,運行加載的音頻效果,將所需效果應用于輸入數(shù)據(jù)。運行效果后,讀取輸入內(nèi)存緩沖區(qū)的內(nèi)容,應用音頻效果,并將輸出寫入輸出內(nèi)存緩沖區(qū)。調(diào)用NvAFX_Run函數(shù)在輸入緩沖區(qū)上運行加載的音頻效果。

// Pass the effect handle, input, and output memory buffer, and the parameters of the effect

NvAFX_Status err = NvAFX_Run(handle, input, output, num_samples,num_channels);

音頻效果應用于輸入內(nèi)存緩沖區(qū)且不再需要后,通過傳遞效果句柄,使用NvAFX_DestroyEffect(handle)函數(shù)調(diào)用清理資源。

NvAFX_Status err = NvAFX_DestroyEffect(handle);

總結

現(xiàn)在,我們已經(jīng)了解了 Maxine Audio Effects 功能的詳細信息,向您展示了如何使用適當?shù)膮?shù)運行示例應用程序,并了解了易于使用的高性能 API ,您可以開始使用Maxine 容器或在窗戶上和在 Linux 上將這些驚人的 AI 音頻功能集成到您的應用程序中。

關于作者

About Abhishek Sawarkar

Abhishek Sawarkar 責在 NVIDIA Jarvis 框架上開發(fā)和展示以深度學習為重點的內(nèi)容。他的背景是計算機視覺機器學習,但目前他正致力于整個 Jarvis 多模式管道,包括 ASR 、 NLP 、 TTS 和 CV 。他是卡內(nèi)基梅隆大學的一名應屆畢業(yè)生,具有電氣和計算機工程碩士學位。

About Gordana Neskovic

Gordana Neskovic 是AI/DL產(chǎn)品營銷團隊的成員,負責 NVIDIA Maxine。在加入 NVIDIA 之前,Gordana曾在VMware、Wells Fargo、Pinterest、SFO-ITT和KLA Tencor擔任過各種產(chǎn)品營銷、數(shù)據(jù)科學家、AI架構師和工程職位。她擁有博士學位。圣塔 Clara 大學,塞爾維亞貝爾格萊德大學電氣工程碩士和學士學位。

About Tanay Varshney

Tanay Varshney 是 NVIDIA 的一名深入學習的技術營銷工程師,負責廣泛的 DL 軟件產(chǎn)品。他擁有紐約大學計算機科學碩士學位,專注于計算機視覺、數(shù)據(jù)可視化和城市分析的橫斷面。

審核編輯:郭婷

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

    關注

    42

    文章

    4844

    瀏覽量

    108205
  • NVIDIA
    +關注

    關注

    14

    文章

    5696

    瀏覽量

    110141
  • SDK
    SDK
    +關注

    關注

    3

    文章

    1112

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    何在 S7G32 啟動 Cortex-M2?

    我想知道如何在 S7G32 啟動 Cortex-M2。 我想在沒有任何 RTOS 的情況下在其運行裸機應用程序。 我該如何進行,是否有用于啟動 M7 內(nèi)核并在其
    發(fā)表于 04-30 06:37

    如何構建藍牙應用程序?

    應用程序使用藍牙(blueZ)。 我已經(jīng)安裝了 gcc-riscv64-linux-gnu。 但是,沒有安裝 blueZ 標頭和庫。 如何構建我的藍牙應用程序
    發(fā)表于 04-01 07:31

    AD1853音頻DAC芯片:高音質(zhì)音頻設計的理想之選

    AD1853音頻DAC芯片:高音質(zhì)音頻設計的理想之選 在音頻設備設計領域,一款高性能的數(shù)字模擬轉(zhuǎn)換器(DAC)至關重要。AD1853作為一款24位、192kHz的立體聲DAC,為
    的頭像 發(fā)表于 03-30 14:55 ?139次閱讀

    在圖像,Debian 無法為 wifi 構建驅(qū)動程序,怎么解決?

    在圖像,Debian 無法為 wifi 構建驅(qū)動程序。缺少一些內(nèi)核包。是否可以發(fā)布它,我們可以通過 apt 安裝它?所以我們對系統(tǒng)無能為力 無論我愿意什么,都是不可能的。這讓我很生氣。 make
    發(fā)表于 03-25 06:00

    請問如何構建和運行視頻編解碼器示例應用程序

    如何構建和運行視頻編解碼器示例應用程序?
    發(fā)表于 03-10 06:27

    探索PCM3168A音頻編解碼器:高音質(zhì)與多功能的完美融合

    探索PCM3168A音頻編解碼器:高音質(zhì)與多功能的完美融合 在音頻處理領域,一款性能卓越的編解碼器對于實現(xiàn)高質(zhì)量音頻體驗至關重要。今天,我
    的頭像 發(fā)表于 02-02 14:30 ?464次閱讀

    何在應用程序調(diào)試期間分析棧和堆使用情況

    ,并在 Unified IDE 中仍可使用。本文涵蓋了如何在 Vitis 中使用分析工具在應用程序調(diào)試期間對棧和堆進行監(jiān)控。
    的頭像 發(fā)表于 10-24 16:54 ?1070次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>應用程序</b>調(diào)試期間分析棧和堆使用情況

    SDK音頻替換失敗記錄過程

    在安信可離線語音模組 VC-01、VC-02 系列教程 【中級入門篇】中根據(jù)設置的不同回復詞和命令字進行了固件生成。我出教程的時候在考慮有沒有什么辦法來替換到SDK中的音頻,在我嘗試了各種辦法后發(fā)現(xiàn)很難辦到 (建議直接使用云平臺生成。 不要在
    的頭像 發(fā)表于 09-25 15:50 ?2149次閱讀
    <b class='flag-5'>SDK</b><b class='flag-5'>音頻</b>替換失敗記錄過程

    何在 MA35 系列微處理器 (MPU) 開發(fā) AMP(非對稱多處理)應用程序?

    何在 MA35 系列微處理器 (MPU) 開發(fā) AMP(非對稱多處理)應用程序,并通過建立多個端點的過程促進與其他內(nèi)核的多通道數(shù)據(jù)傳輸。
    發(fā)表于 08-19 06:11

    如何下載 SDK構建 64 位版本的庫?

    我正在嘗試獲取 64 位版本的 CySuiteUSB dll 文件,但是當我轉(zhuǎn)到SuiteUSB 3.4 頁面時,沒有任何鏈接可以下載 SDK。如何下載 SDK構建 64 位版本的庫?
    發(fā)表于 07-23 08:25

    請問是否可以在通用Windows平臺中構建OpenVINO? GenAI C++ 應用程序?

    無法在通用 Windows 平臺中構建OpenVINO? GenAI C++ 應用程序
    發(fā)表于 06-24 07:35

    何在Android設備安裝Cyusb3014芯片驅(qū)動?

    1.如何在Android設備安裝Cyusb3014芯片驅(qū)動? 我們在 Windows 上有 FX3 驅(qū)動程序 SDK。 2.如何在Andr
    發(fā)表于 05-15 07:23

    如何使用CYUSB3KIT-003使用GPIO訪問SRAM的應用程序?

    你好。我是CYUSB3的初學者。 我想創(chuàng)建一個使用 CYUSB3KIT-003 使用 GPIO 訪問 SRAM 的應用程序。 目前我已經(jīng)在我的電腦安裝了SDK,但是有什么參考資料嗎?
    發(fā)表于 05-14 06:51

    SDK從版本1.3.4更新至1.3.5后,cyfx3s_msc應用程序中的看門狗定時器出現(xiàn)故障怎么解決?

    我的設備固件基于 SDK 示例 cyfx3s_msc。 將 SDK 從 1.3.4 版本更新到 1.3.5 版本后,看門狗定時器出現(xiàn)故障。 每當處理器由于看門狗而重置時,應用程序就會在重新啟動后不久
    發(fā)表于 05-14 06:40

    使用SDK 1.3.5構建的固件出現(xiàn)-2 kV ESD導致USB傳輸失敗怎么解決?

    使用基于 SDK 1.3.5 構建的固件,在進行 -2 kV ESD 測試時,USB 傳輸無法從 EP0 獲取 UVC 探測器和提交控制數(shù)據(jù),并且控制器無法從傳感器接收幀。 因此,我們重置了 dma
    發(fā)表于 05-07 07:09
    新田县| 扬中市| 商丘市| 通州区| 郑州市| 江孜县| 溆浦县| 海安县| 砀山县| 梁平县| 淮北市| 环江| 南和县| 汶上县| 那曲县| 宝应县| 泰来县| 板桥市| 华池县| 张北县| 新泰市| 东乡族自治县| 新绛县| 惠州市| 苍梧县| 旬阳县| 宜丰县| 苍南县| 会泽县| 藁城市| 商丘市| 林芝县| 廊坊市| 密山市| 鄂托克旗| 莲花县| 安溪县| 元朗区| 临汾市| 江津市| 黄浦区|