chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

【技術(shù)干貨】原來ARM+Linux音頻方案如此簡單!

武漢萬象奧科 ? 2022-07-13 11:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式產(chǎn)品開發(fā)中經(jīng)常遇到音頻的輸入輸出問題,如何為其添加“喇叭”、“麥克風(fēng)”設(shè)備呢?本文將簡單介紹ARM+Linux產(chǎn)品中的音頻解決方案。

我們先認(rèn)識下I2S(Inter-ICSound)總線。I2S又稱集成電路內(nèi)置音頻總線,該總線專門用于音頻設(shè)備之間的數(shù)據(jù)傳輸,廣泛應(yīng)用于各種多媒體系統(tǒng)。它采用了沿獨(dú)立的導(dǎo)線傳輸時鐘與數(shù)據(jù)信號的設(shè)計(jì),通過將數(shù)據(jù)和時鐘信號分離,有效避免因時差誘發(fā)的失真。

以HDG2L-IoT評估套件為例,RZ/G2L處理器提供至少一路I2S總線,通過該總線與音頻編解碼芯片(IC型號WM8960)連接,用于提供高質(zhì)量的錄音播音功能。音頻模塊的硬件部署如下所示。

HDG2L-IoT音頻接口

圖1HDG2L-IoT音頻接口

G2L核心板與WM8960的音頻通訊引腳如下所示:

音頻通訊引腳

在Linux系統(tǒng)的音頻編解碼驅(qū)動中,通過I2C通訊接口與音頻IC通訊,把音頻IC內(nèi)的各個功能寄存器抽象成音頻控件,這樣用戶即可在User空間內(nèi)直接調(diào)整IC內(nèi)的參數(shù)。I2S音頻引腳,則是數(shù)字信號發(fā)送、接收的通道。

播音時,音頻IC接收到數(shù)字信號后則轉(zhuǎn)換為模擬信號發(fā)送出去,錄音時,音頻IC把收到的音頻模擬量轉(zhuǎn)換為數(shù)字量,發(fā)送給處理器。

ALSA是linux的主流音頻體系結(jié)構(gòu),它包含內(nèi)核驅(qū)動集合,API庫和工具對Linux聲音進(jìn)行支持,應(yīng)用程序只要調(diào)用alsa-lib提供的API,即可以完成對底層音頻硬件的控制。

Linux通過alsa庫以及alsa工具管理音頻IC的控件,通過“amixercontrols”列出當(dāng)前系統(tǒng)內(nèi)的音頻控制項(xiàng):

音頻控制項(xiàng)

音頻功能的關(guān)鍵控件信息如下所示。(錄音通道、播音通道、耳機(jī)音量大小、喇叭音量大小)。

音頻功能的關(guān)鍵控件信息

在開發(fā)板下,運(yùn)行aplay程序可以對音頻播放進(jìn)行測試。在測試前,需要將耳機(jī)插入開發(fā)板的耳機(jī)插孔中。

為測試基于I2S的音頻輸出接口,在命令行下執(zhí)行如下命令:

5.jpg

其中2.wav為需要播放的音頻文件,且此處假定2.wav位于/home/root/audios目錄下。

在進(jìn)行音頻播放時,對于基于I2S的音頻輸出接口,可以使用amixer程序?qū)σ袅窟M(jìn)行調(diào)節(jié)。使用amixer程序?qū)Χ鷻C(jī)播放音量進(jìn)行調(diào)節(jié)的命令行格式為:

6.jpg

其音量值取值范圍在0~127之間,127表明最大音量。例如要將音量設(shè)置為100,可在命令行下執(zhí)行如下命令:

7.jpg

將揚(yáng)聲器接入HDG2L-IOT開發(fā)板的左右聲道插座中,在播放音頻前可先設(shè)置揚(yáng)聲器播放音量以及總音量,然后播放音頻文件:

8.jpg

錄音功能需設(shè)置錄音控件的參數(shù),如下所示。

9.jpg

用arecord命令錄音并保存為“/tmp/t.wav”,然后用aplay命令回放進(jìn)行驗(yàn)證。

10.jpg

由于當(dāng)前的麥克風(fēng)輸出信號僅接到了音頻處理的Left端作為輸入,所以播放錄音文件時僅左聲道有輸出,若希望將麥克風(fēng)輸出信號同時記錄在左右聲道可做如下設(shè)置:

11.jpg

將“ADCDataOutputSelect”設(shè)定為1,其值含義為“LeftData=LeftADC;RightData=LeftADC”。

由上可知,音頻編解碼芯片在Linux系統(tǒng)中以控件的形式存在,內(nèi)部的參數(shù)一般只記錄在內(nèi)存中,當(dāng)系統(tǒng)掉電時,修改的參數(shù)就會消失,所以需要保存和恢復(fù)指令將上次的參數(shù)保存在配置文件中。

alsa的配置文件為:/var/lib/alsa/asound.state

控件修改后的寫入操作如下所示。

12.jpg

控件恢復(fù)參數(shù)的操作如下所示(注:重啟板子后會自動讀取配置文件)。

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

    關(guān)注

    135

    文章

    9499

    瀏覽量

    388720
  • 嵌入式
    +關(guān)注

    關(guān)注

    5186

    文章

    20147

    瀏覽量

    328840
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11628

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    ARM嵌入式這樣學(xué)

    的內(nèi)核就是ARM內(nèi)核,它的主頻高很多,普通的都有幾百M(fèi)。CPU緩存大,分有很多級的流水處理線,這樣大大提高了CPU利用率。這種IC的資源足以讓一個嵌入式操作系統(tǒng)正常跑起來,WINCE, LINUX
    發(fā)表于 12-04 07:48

    音頻DSP設(shè)計(jì)與應(yīng)用

    DSP(即數(shù)字信號處理器)對于音頻處理技術(shù)至關(guān)重要。 新唐DSP集成了Waves(Maxx音頻),DSP 算法的全球領(lǐng)導(dǎo)者。這包括專用的揚(yáng)聲器校準(zhǔn)算法和心理聲學(xué)算法。此外,它還具有強(qiáng)大的音頻
    發(fā)表于 09-05 07:45

    Linux系統(tǒng)性能調(diào)優(yōu)方案

    關(guān)鍵要點(diǎn)預(yù)覽:本文將深入解析Linux系統(tǒng)性能瓶頸的根本原因,提供可直接落地的調(diào)優(yōu)方案,讓你的系統(tǒng)性能提升30-50%!
    的頭像 發(fā)表于 08-06 17:49 ?590次閱讀

    學(xué)校做廣播對講系統(tǒng)干貨分享

    。同時,考慮終端的音質(zhì)、功率等參數(shù),確保聲音覆蓋效果。 管理軟件:選擇界面友好、操作簡單的管理軟件,應(yīng)具備音頻文件統(tǒng)一管理、終端狀態(tài)實(shí)時監(jiān)控、遠(yuǎn)程設(shè)置與升級等功能,方便學(xué)校管理人員進(jìn)行集中管理。 廣播
    發(fā)表于 07-24 15:59

    XMOS基于邊緣AI+DSP+MCU+I/O智算芯片的音頻解決方案矩陣引領(lǐng)行業(yè)創(chuàng)新潮流

    XMOS作為全球領(lǐng)先的數(shù)字音頻及多媒體AI處理芯片及解決方案提供商,與自己的技術(shù)伙伴及生態(tài)伙伴一起,攜一系列重量級的由邊緣AI技術(shù)驅(qū)動的音頻
    的頭像 發(fā)表于 06-19 17:26 ?756次閱讀
    XMOS基于邊緣AI+DSP+MCU+I/O智算芯片的<b class='flag-5'>音頻</b>解決<b class='flag-5'>方案</b>矩陣引領(lǐng)行業(yè)創(chuàng)新潮流

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

    。數(shù)字音頻:藍(lán)牙數(shù)字音頻,就是將數(shù)字音頻信號通過藍(lán)牙技術(shù)進(jìn)行無線傳輸。它的工作原理可以簡單理解為:1.數(shù)字編碼:將模擬
    的頭像 發(fā)表于 04-17 15:55 ?834次閱讀
    藍(lán)牙<b class='flag-5'>音頻</b>模組中模擬<b class='flag-5'>音頻</b>和數(shù)字<b class='flag-5'>音頻</b>如何選擇?

    Arm與Stability AI攜手合作加快文本轉(zhuǎn)音頻的響應(yīng)速度

    ”,幾秒鐘后,你的設(shè)備就會為你生成合適的聲音,甚至無需聯(lián)網(wǎng)就可實(shí)現(xiàn)。得益于 Arm 和 Stability AI 的新合作,這種完全在端側(cè)直接生成音頻技術(shù)已變?yōu)楝F(xiàn)實(shí)。
    的頭像 發(fā)表于 03-25 15:54 ?693次閱讀

    Arm 技術(shù)預(yù)測:2025 年及未來的技術(shù)趨勢

    Arm 不斷思考著計(jì)算的未來。無論是最新架構(gòu)的功能,還是用于芯片解決方案的新技術(shù)Arm 所創(chuàng)造和設(shè)計(jì)的一切都以未來技術(shù)的使用和體驗(yàn)為導(dǎo)向。
    發(fā)表于 01-14 16:43 ?473次閱讀
    <b class='flag-5'>Arm</b> <b class='flag-5'>技術(shù)</b>預(yù)測:2025 年及未來的<b class='flag-5'>技術(shù)</b>趨勢

    請問ads7957寄存器地址是多少?

    用ads7957采集多路信號,ARM+linux環(huán)境,自己在寫驅(qū)動程序。但是看datasheet沒有寄存器的地址介紹啊。 此外,有沒有linux 下的驅(qū)動程序參考?
    發(fā)表于 01-02 07:59

    利用Arm Kleidi技術(shù)實(shí)現(xiàn)PyTorch優(yōu)化

    PyTorch 是一個廣泛應(yīng)用的開源機(jī)器學(xué)習(xí) (ML) 庫。近年來,Arm 與合作伙伴通力協(xié)作,持續(xù)改進(jìn) PyTorch 的推理性能。本文將詳細(xì)介紹如何利用 Arm Kleidi 技術(shù)提升 A
    的頭像 發(fā)表于 12-23 09:19 ?1619次閱讀
    利用<b class='flag-5'>Arm</b> Kleidi<b class='flag-5'>技術(shù)</b>實(shí)現(xiàn)PyTorch優(yōu)化

    干貨來嘍!實(shí)用樹莓派Linux編譯指南

    不友好,有沒有好的解決辦法? 今天來分享一下我的私藏干貨——樹莓派Linux編譯。編譯好之后,開發(fā)板只需插到樹莓派上連接電腦就可以直接用了,極其方便。 本文以樹莓派為例,其他板子只要帶Linux系統(tǒng)的,大體上也都可以按這個操作。
    的頭像 發(fā)表于 12-18 16:31 ?838次閱讀
    <b class='flag-5'>干貨</b>來嘍!實(shí)用樹莓派<b class='flag-5'>Linux</b>編譯指南

    音頻功放芯片:音頻設(shè)備的核心驅(qū)動力

    音頻功放芯片是音頻設(shè)備核心,放大音頻信號并精準(zhǔn)控制音質(zhì)、音量。高保真、穩(wěn)定、易集成,但面臨散熱和成本問題。盡管如此,它仍是呈現(xiàn)高品質(zhì)聲音不可或缺的部分。
    的頭像 發(fā)表于 12-17 16:37 ?1319次閱讀
    <b class='flag-5'>音頻</b>功放芯片:<b class='flag-5'>音頻</b>設(shè)備的核心驅(qū)動力

    實(shí)用樹莓派Linux編譯指南,打工人必備!

    不友好,有沒有好的解決辦法? 今天來分享一下我的私藏干貨——樹莓派Linux編譯。編譯好之后,開發(fā)板只需插到樹莓派上連接電腦就可以直接用了,極其方便。 本文以樹莓派為例,其他板子只要帶Linux系統(tǒng)的,大體上也都可以按這個操作。
    的頭像 發(fā)表于 12-17 16:19 ?1983次閱讀
    實(shí)用樹莓派<b class='flag-5'>Linux</b>編譯指南,打工人必備!

    瑞芯微主板/開發(fā)板Linux系統(tǒng)播放音頻方法,觸覺智能RK3562開發(fā)板演示

    本文介紹瑞芯微方案主板/開發(fā)板Linux系統(tǒng)播放音頻的方法,觸覺智能RK3562開發(fā)板演示,通用RK3566、RK3568、RK3588等
    的頭像 發(fā)表于 12-13 11:40 ?1400次閱讀
    瑞芯微主板/開發(fā)板<b class='flag-5'>Linux</b>系統(tǒng)播放<b class='flag-5'>音頻</b>方法,觸覺智能RK3562開發(fā)板演示