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

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

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

如何在ADI DSP中設(shè)計(jì)一個(gè)合理的混響(下)

駿龍電子 ? 來(lái)源:駿龍電子 ? 2024-03-06 15:33 ? 次閱讀

本文為下篇,將對(duì)混響的具體參數(shù)調(diào)整以及選擇 ADIDSP 設(shè)計(jì)合理算法進(jìn)行深入解析。關(guān)于混響的類型、主要幾大類 DSP 混響的實(shí)現(xiàn)原理,可參考上篇《如何在 ADI DSP 中設(shè)計(jì)一個(gè)合理的混響 (上) 》。

混響的常見(jiàn)參數(shù)

在上篇文章中,我們提及了混響的類型和基本實(shí)現(xiàn)原理。目前做一個(gè)專業(yè)級(jí)混響需要設(shè)置許多參數(shù),有些參數(shù)是必備的,而有些是在特定需求下慢慢增加起來(lái)的。專業(yè)的效果器一般包含了如下圖 (圖1) 所示的一些參數(shù):

c451fe98-db8b-11ee-a297-92fbcf53809c.jpg

圖1 混響的相關(guān)參數(shù)

混響時(shí)間:能夠逼真地模擬自然混響的數(shù)碼混響器上都有一套復(fù)雜的程序,其中雖然有很多技術(shù)參數(shù)可調(diào),然而對(duì)這些技術(shù)參數(shù)的調(diào)整都不會(huì)比原有的效果更為自然,尤其是混響時(shí)間 (取決于預(yù)延遲時(shí)間以及衰減速率和收斂的判定)。

預(yù)延遲時(shí)間:在混響效果器上的眾多參數(shù)中,預(yù)延遲時(shí)間 (Predelay) 是一個(gè)比較重要的點(diǎn)。所謂預(yù)延遲時(shí)間,指的是進(jìn)入人耳的直達(dá)聲和第一次反射聲之間的時(shí)間間隔。在混音中,預(yù)延遲時(shí)間的選擇與我們的基準(zhǔn)時(shí)間有著一定的關(guān)聯(lián)性。而基準(zhǔn)時(shí)間的計(jì)算方式一般來(lái)說(shuō)就是拿 60 秒除以音樂(lè) BPM 的值 (取決于直達(dá)聲之后做的延遲時(shí)間以及 FIR 的時(shí)間)。

高頻滾降:此項(xiàng)參數(shù)用于模擬自然混響中,空氣對(duì)高頻的吸收效應(yīng),以產(chǎn)生較為自然的混響效果。一般高頻混降的可調(diào)范圍為 0.1~1.0。此值較高時(shí),混響效果也較接近自然混響;此值較低時(shí),混響效果則較清澈 (取決于低通濾波器的階數(shù)以及截至頻率的設(shè)計(jì))。

擴(kuò)散度:此項(xiàng)參數(shù)可調(diào)整混響聲陣密度的增長(zhǎng)速度,可調(diào)范圍為 0~10,其值較高時(shí),混響效果比較豐厚、溫暖;其值較低時(shí),混響效果則較空曠、冷僻 (取決于 Comb Filter 的 D 值選取以及回聲密度遞增數(shù)值)。

聲陣密度:此項(xiàng)參數(shù)可調(diào)整聲陣的密度,其值較高時(shí),混響效果較為溫暖,但有明顯的聲染色;其值較低時(shí),混響效果較深邃,器聲染色也較弱 (取決于 Comb Filter 的數(shù)量)。

頻率調(diào)制:這是一項(xiàng)技術(shù)性參數(shù),因?yàn)?a target="_blank">電子混響的聲陣密度比自然混響稀疏,為了使混響的聲音比較平滑、連貫,需要對(duì)混響聲陣列的延時(shí)時(shí)間進(jìn)行調(diào)制。此項(xiàng)技術(shù)可以有效消除延時(shí)聲陣列的段裂聲,可以增加混響聲的柔和感 (取決于 Comb Filter 的延時(shí)時(shí)間)。

混響類型:不同房間的自然混響聲陣列差別也較大,而這種差別并不是一兩項(xiàng)參數(shù)就能表現(xiàn)的。在數(shù)碼混響器當(dāng)中,不同的自然混響需要不同的程序。它的可選項(xiàng)一般有小廳 (S-Hall)、大廳 (L-Hall)、房間 (Room)、隨機(jī) (Random)、反混響 (Reverse)、鋼板 (Plate)、彈簧 (Spring) 等。其中小廳、大廳、房間混響屬自然混響效果;鋼板、彈簧混響則可以模擬早期機(jī)械式混響的處理效果。

干濕比:干聲信號(hào)和混響信號(hào)的比例,調(diào)節(jié)直達(dá)聲以及混響信號(hào)的分量比重。

從這些后續(xù)發(fā)展出來(lái)的參數(shù)不難看出,涉及的調(diào)節(jié)選擇變得越來(lái)越多,那么對(duì)于設(shè)計(jì)者來(lái)講,如何挑選合適的參數(shù)和類型去搭建自己想要的產(chǎn)品就變得非常重要。

DSP 和混響類型的選擇

在實(shí)際的生產(chǎn)應(yīng)用中,選擇混響的類型并不是直接去選一個(gè)最完善的類型就好了。實(shí)際上很多時(shí)候應(yīng)用達(dá)不到這個(gè)條件,越完善的混響類型意味著它對(duì) DSP 的內(nèi)存空間以及算力大小都是有需求的。然而在很多成本預(yù)算不是那么充足,或者工作環(huán)境對(duì)功耗等方面都有需求的產(chǎn)品中,我們無(wú)法選擇那么一個(gè)較高復(fù)雜度的混響。

舉個(gè)很簡(jiǎn)單的例子,比如 A 用戶需要做一個(gè)輕量級(jí)的吉他拾音器,拾音器主要的目的就是拾音,當(dāng)然為了豐富一些效果,可能我們需要調(diào)節(jié)高中低頻的 EQ,加一個(gè)混響。在這個(gè)時(shí)候,選擇一個(gè) ECHO 類的混響要比選擇 MOORER 類的混響好太多。

從控制成本和功耗的角度上來(lái)講,雖然 ECHO 類并不如 Moorer 類的好,但是在演奏中已經(jīng)夠用,復(fù)雜的可以通過(guò)拾取后送到效果器或者功放中去實(shí)現(xiàn)。在選擇時(shí),建議都要根據(jù)自己的產(chǎn)品類型合理地從成本、封裝體積大小,以及功耗上選擇最為合適的產(chǎn)品。

ADI DSP 在 ECHO 類算法的基本實(shí)現(xiàn)

眾所周知,ADI 在音頻的 DSP 上相當(dāng)有競(jìng)爭(zhēng)力,從 Sigma 到 Sharc 類的 DSP 均運(yùn)用于各類音頻電子產(chǎn)品中。如下圖 (圖2) 所示為 ADI SigmaDSP 產(chǎn)品選型對(duì)比表:

c4622db8-db8b-11ee-a297-92fbcf53809c.jpg

圖2 SigmaDSP 的產(chǎn)品選型對(duì)比表

下圖 (圖3) 為 ADI SharcDSP 產(chǎn)品選型對(duì)比表:

c474a330-db8b-11ee-a297-92fbcf53809c.jpg

圖3 SharcDSP 的產(chǎn)品選型對(duì)比表

ADI SigmaDSP 的產(chǎn)品是定點(diǎn)的數(shù)字信號(hào)處理器,而 SharcDSP 即全浮點(diǎn)的數(shù)字信號(hào)處理器。全浮點(diǎn)的 DSP 可以處理復(fù)雜度比較高的混響,SigmaDSP 一般用于處理一些簡(jiǎn)單一點(diǎn)的混響。

以下將展示一些 ECHO 類混響在 DSP 上的應(yīng)用實(shí)現(xiàn),目前混響主要對(duì)內(nèi)存的空間需求是比較多的,存在著很多 Delay。ECHO 類混響在 ADAU1701 和 ADAU1761中 的實(shí)現(xiàn)如下圖 (圖4) 所示:

c4892918-db8b-11ee-a297-92fbcf53809c.jpg

圖4 ECHO 類混響在 ADAU1761 中的實(shí)現(xiàn)

從圖中可以看出,直達(dá)聲直接作為干音傳到輸出端,將音源的左右通達(dá)合成一路用來(lái)減少內(nèi)存空間和算力的消耗,用三個(gè)延時(shí)線創(chuàng)造混響空間,傳到后端進(jìn)行低通濾波,實(shí)現(xiàn)高頻滾降。這樣做能夠得到一定量的混響的效果,但是由于回聲密度不夠,增益調(diào)節(jié)以及擴(kuò)散度和頻率調(diào)制是無(wú)法實(shí)現(xiàn)的,適合一些輕量化的產(chǎn)品應(yīng)用。我們?cè)?SharcDSP 中一般直接通過(guò)代碼來(lái)實(shí)現(xiàn),例如下方的 ECHO 類回聲的實(shí)現(xiàn):

創(chuàng)建一個(gè) DSP 混響的效果器。以下圖 (5) 是一個(gè)使用 Python 和 NumPy 庫(kù)實(shí)現(xiàn)簡(jiǎn)單 DSP 混響效果的示例代碼:

c4a2d8c2-db8b-11ee-a297-92fbcf53809c.jpg

圖5 Python 實(shí)現(xiàn) DSP 混響效果 (橫版)

如上圖 (圖5) 所示的代碼實(shí)現(xiàn)了一個(gè)基本的 DSP 混響效果,包括延遲線和低通濾波器。我們可以根據(jù)需要調(diào)整延遲時(shí)間和截止頻率來(lái)改變混響的效果。需要注意的是,這個(gè)示例使用了 Python 的 NumPy 庫(kù)來(lái)處理數(shù)字信號(hào),并且需要在支持音頻播放的環(huán)境中運(yùn)行 (例如 Jupyter notebook 或 Python 腳本)。

c4bd5bd4-db8b-11ee-a297-92fbcf53809c.jpg

圖6 ECHO 類混響效果用 C 語(yǔ)言實(shí)現(xiàn) (橫版)

如上圖 (圖6) 所示的代碼是一個(gè)簡(jiǎn)單的 DSP 混響效果實(shí)現(xiàn),它使用了 C 語(yǔ)言進(jìn)行編程。代碼主要有以下操作:

定義了一些常量,如采樣率、幀大小、通道數(shù)、延遲長(zhǎng)度和衰減時(shí)間等;

定義了一個(gè)名為 DelayBuffer 的結(jié)構(gòu)體,用于實(shí)現(xiàn)延遲緩沖區(qū);

創(chuàng)建了一個(gè)名為 create_delay_buffer 的函數(shù),用于創(chuàng)建延遲緩沖區(qū);

定義了一個(gè)名為 destroy_delay_buffer 的函數(shù),用于銷毀延遲緩沖區(qū)。

在 main 函數(shù)中,首先創(chuàng)建了一個(gè)延遲緩沖區(qū),然后進(jìn)入了一個(gè)循環(huán),模擬了信號(hào)的輸入、處理和輸出過(guò)程。在每次循環(huán)中,信號(hào)被輸入到混響效果處理中,處理后的信號(hào)被輸出,同時(shí)衰減時(shí)間也在不斷衰減。最后當(dāng)延遲時(shí)間達(dá)到最大值時(shí),循環(huán)結(jié)束,延遲緩沖區(qū)被銷毀。

在 ADI Sharc 平臺(tái)上,當(dāng)我們跑通 Framework 之后,導(dǎo)入這一部分代碼,將音頻流導(dǎo)入進(jìn)去就可以得到一個(gè) ECHO 類的混響效果。如果需要更高級(jí)好用的 Schroeder & Moorer 類混響系統(tǒng)時(shí),可以通過(guò)開源框架 Sox,F(xiàn)reeverb 和 Tonic 去獲取,完整的算法會(huì)比較長(zhǎng),需要大家在線下去參考。

總結(jié)

本文簡(jiǎn)要概述了混響的相關(guān)類型和實(shí)現(xiàn)方式,通過(guò)對(duì)產(chǎn)品的需求分析,可以在 ADI DSP 中去實(shí)現(xiàn)合適的算法。ADI DSP 在各類混響的算法都能夠?qū)崿F(xiàn),同時(shí)也支持大家進(jìn)行相應(yīng)的產(chǎn)品選擇。




審核編輯:劉清

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

    關(guān)注

    553

    文章

    7998

    瀏覽量

    348941
  • 低通濾波器
    +關(guān)注

    關(guān)注

    14

    文章

    474

    瀏覽量

    47412
  • FIR
    FIR
    +關(guān)注

    關(guān)注

    4

    文章

    146

    瀏覽量

    33174
  • BPM
    BPM
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    8085

原文標(biāo)題:如何在 ADI DSP 中設(shè)計(jì)一個(gè)合理的混響 (下)

文章出處:【微信號(hào):駿龍電子,微信公眾號(hào):駿龍電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    何在ADI DSP設(shè)計(jì)個(gè)合理混響(上)

    聲波在室內(nèi)傳播時(shí),會(huì)被墻壁、天花板、地板等障礙物反射,每經(jīng)過(guò)反射次都會(huì)被障礙物吸收些。當(dāng)聲源停止發(fā)聲后,聲波在室內(nèi)要經(jīng)過(guò)多次反射和吸收,最后才消失。
    的頭像 發(fā)表于 03-05 15:23 ?1374次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>ADI</b> <b class='flag-5'>DSP</b><b class='flag-5'>中</b>設(shè)計(jì)<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b><b class='flag-5'>合理</b>的<b class='flag-5'>混響</b>(上)

    請(qǐng)問(wèn)ADAU1452能否實(shí)現(xiàn)使用電位器調(diào)節(jié)混響的功能?

    目前做一個(gè)有源音箱的方案,使用了ADAU1452的DSP,想實(shí)現(xiàn)使用電位器(連接DSP的ADC腳)調(diào)節(jié)混響的功能。是否有相應(yīng)的案例可以參考。
    發(fā)表于 01-11 08:09

    何在CCS3.3建立個(gè)簡(jiǎn)單的工程_DSP28335

    本帖最后由 mr.pengyongche 于 2013-4-30 03:07 編輯 如何在CCS3.3建立個(gè)簡(jiǎn)單的工程_DSP28
    發(fā)表于 12-26 15:27

    什么是混響

    求什么叫混響呀,他跟DSP有什么區(qū)別?
    發(fā)表于 03-26 11:06

    請(qǐng)問(wèn)能否推薦基于ADI DSP的第三方算法公司?

    能否推薦基于ADI DSP的第三方算法公司?
    發(fā)表于 09-20 14:48

    何在ADS軟件添加ADI組件庫(kù)?

    嗨工程師,誰(shuí)能說(shuō)出如何在ADS軟件添加ADI組件庫(kù)?提前致謝 :) 以上來(lái)自于谷歌翻譯 以下為原文Hi Engineers, Can anyone tell how to add
    發(fā)表于 12-14 16:59

    請(qǐng)問(wèn)adidsp般開發(fā)板的dsp差別大嗎?

    直在學(xué)習(xí)dsp,用的開發(fā)板處理器是F28335,發(fā)現(xiàn)adi也有dsp產(chǎn)品,但是搜了之后發(fā)現(xiàn)沒(méi)有這個(gè)型號(hào),1.想問(wèn)一下應(yīng)該選擇哪個(gè)型號(hào)和F2
    發(fā)表于 01-11 12:48

    【電路精選】音頻混響電路

    【應(yīng)用背景】混響音效通常是用來(lái)創(chuàng)造更有深度的音頻。既可以用來(lái)提高樂(lè)器的音色也可以讓五音不全的歌手瞬間變成天籟之音。在過(guò)去,揚(yáng)聲器般是用彈簧箱來(lái)為樂(lè)器創(chuàng)造混響音效的。揚(yáng)聲器般會(huì)有
    發(fā)表于 08-04 05:00

    何在個(gè)離線功率因數(shù)校正預(yù)調(diào)節(jié)器合理配置UCC28051?

    何在個(gè)離線功率因數(shù)校正預(yù)調(diào)節(jié)器合理配置UCC28051,讓其可在85V~265V的通用輸入電壓范圍內(nèi)工作,具有400V DC穩(wěn)壓輸出?
    發(fā)表于 04-07 06:42

    怎樣在ADI的21489或者SC584上實(shí)現(xiàn)更高精度的卷積混響

    怎樣在ADI的21489或者SC584上實(shí)現(xiàn)更高精度的卷積混響呢?其卷積方式是什么?
    發(fā)表于 11-19 07:32

    ADI DSP BESO開發(fā)

    ADI DSP BESO開發(fā) 合肥優(yōu)視嵌入式技術(shù)有限責(zé)任公司是ADIDSP第三方設(shè)計(jì)公司和認(rèn)證的金牌合作伙伴,多年來(lái)直專注于為客戶提供
    發(fā)表于 04-07 10:43 ?18次下載

    基于DSP人工混響算法實(shí)時(shí)處理系統(tǒng)

    提出了基于定點(diǎn)DSP 的人工混響算法實(shí)時(shí)處理系統(tǒng)。討論了DSP芯片TMS320VC5509與音頻編解碼芯片TLV320AIC23的硬件接口和軟件設(shè)計(jì),并在此基礎(chǔ)上論述人工混響算法實(shí)時(shí)播
    發(fā)表于 07-27 16:22 ?46次下載

    實(shí)現(xiàn)高精度卷積混響--MATLAB仿真篇

    、前言之前在STM32F407上現(xiàn)實(shí)了直播聲卡,實(shí)現(xiàn)的經(jīng)典Schroeder混響模型和Moorer混響模型,得到不錯(cuò)效果。后來(lái)得知卷積混響最為真實(shí)地表現(xiàn)空間的特性,所以也就嘗試在MC
    發(fā)表于 12-05 18:06 ?20次下載
    實(shí)現(xiàn)高精度卷積<b class='flag-5'>混響</b>--MATLAB仿真篇

    何在EAGLE CAD編寫個(gè)ULP

    在本教程,您將學(xué)習(xí)如何在 EAGLE CAD 編寫您的第一個(gè) ULP,以便為您的 CAD 工具添加新功能。
    的頭像 發(fā)表于 05-10 15:29 ?2841次閱讀
    如<b class='flag-5'>何在</b>EAGLE CAD<b class='flag-5'>中</b>編寫<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>ULP

    個(gè)簡(jiǎn)單的彈簧混響吉他效果電路

    這是個(gè)簡(jiǎn)單的彈簧混響吉他效果電路,可以低成本構(gòu)建,只需要最少量的電子部件,當(dāng)然電路本身需要最小的空間。該電路也易于構(gòu)建,需要9V DC電源才能工作。
    的頭像 發(fā)表于 05-13 16:27 ?4411次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>簡(jiǎn)單的彈簧<b class='flag-5'>混響</b>吉他效果電路