色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

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

武漢萬象奧科 ? 2022-07-13 11:28 ? 次閱讀

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

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

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

HDG2L-IoT音頻接口

圖1HDG2L-IoT音頻接口

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

音頻通訊引腳

在Linux系統的音頻編解碼驅動中,通過I2C通訊接口與音頻IC通訊,把音頻IC內的各個功能寄存器抽象成音頻控件,這樣用戶即可在User空間內直接調整IC內的參數。I2S音頻引腳,則是數字信號發送、接收的通道。

播音時,音頻IC接收到數字信號后則轉換為模擬信號發送出去,錄音時,音頻IC把收到的音頻模擬量轉換為數字量,發送給處理器。

ALSA是linux的主流音頻體系結構,它包含內核驅動集合,API庫和工具對Linux聲音進行支持,應用程序只要調用alsa-lib提供的API,即可以完成對底層音頻硬件的控制。

Linux通過alsa庫以及alsa工具管理音頻IC的控件,通過“amixercontrols”列出當前系統內的音頻控制項:

音頻控制項

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

音頻功能的關鍵控件信息

在開發板下,運行aplay程序可以對音頻播放進行測試。在測試前,需要將耳機插入開發板的耳機插孔中。

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

5.jpg

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

在進行音頻播放時,對于基于I2S的音頻輸出接口,可以使用amixer程序對音量進行調節。使用amixer程序對耳機播放音量進行調節的命令行格式為:

6.jpg

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

7.jpg

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

8.jpg

錄音功能需設置錄音控件的參數,如下所示。

9.jpg

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

10.jpg

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

11.jpg

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

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

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

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

12.jpg

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

13.jpg
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9107

    瀏覽量

    368007
  • 嵌入式
    +關注

    關注

    5087

    文章

    19145

    瀏覽量

    306137
  • Linux
    +關注

    關注

    87

    文章

    11320

    瀏覽量

    209851
收藏 人收藏

    評論

    相關推薦

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

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

    干貨來嘍!實用樹莓派Linux編譯指南

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

    音頻采集方案

    隨著人工智能的高速發展,現在結合AI的人工智能音頻采集方案正越來越流行。結合AI的音頻采集方案能有效提升音頻質量、降低噪聲、實現快速轉錄和情
    的頭像 發表于 09-29 22:25 ?264次閱讀
    <b class='flag-5'>音頻</b>采集<b class='flag-5'>方案</b>

    直播音頻解決方案

    作為一家HiFi音頻解決方案公司,我們的工作就像是為音頻設備“量身定制衣服”,幫助客戶解決各種音頻相關的問題。無論你是音響制造商、會議設備商、耳機品牌還是游戲
    的頭像 發表于 09-21 10:43 ?431次閱讀
    直播<b class='flag-5'>音頻</b>解決<b class='flag-5'>方案</b>

    飛騰云音頻解決方案

    飛騰云不僅生產音頻模組和解碼器評估板,還專注于開發高品質的HiFi音頻解決方案。
    的頭像 發表于 08-30 18:15 ?878次閱讀
    飛騰云<b class='flag-5'>音頻</b>解決<b class='flag-5'>方案</b>

    飛騰云會議音頻方案

    會議音頻方案往往會根據會議室的大小、形狀和用途等因素進行定制。不同的會議環境需要不同的音頻解決方案,以確保聲音的清晰度、覆蓋范圍和回聲控制。
    的頭像 發表于 08-28 16:06 ?265次閱讀
    飛騰云會議<b class='flag-5'>音頻</b><b class='flag-5'>方案</b>

    一文讀懂音頻解決方案專家

    我們的工廠專注于開發和生產高保真(HiFi)音頻解決方案,特別是基于XMOS技術的產品。XMOS是一種高性能的多核處理器,專門用于實現低延遲、高精度的音頻處理。
    的頭像 發表于 06-21 19:13 ?541次閱讀
    一文讀懂<b class='flag-5'>音頻</b>解決<b class='flag-5'>方案</b>專家

    Linux平臺移植音頻芯片實戰記錄

    本文詳細記錄在NXP I.MX6ULL+Linux平臺下進行WM8960音頻芯片移植的過程,其他平臺操作方法類似,希望為大家提供幫助。
    的頭像 發表于 05-17 14:28 ?1116次閱讀
    <b class='flag-5'>Linux</b>平臺移植<b class='flag-5'>音頻</b>芯片實戰記錄

    在研華科技的嵌入式IPC上設置實時Linux和EtherCAT主站

    點擊藍字關注我們盟通技術干貨設置實時Linux和EtherCAT主站簡介盟通技術干貨Motrotech根據一些客戶的反饋,在EtherCAT
    的頭像 發表于 04-19 08:33 ?946次閱讀
    在研華科技的嵌入式IPC上設置實時<b class='flag-5'>Linux</b>和EtherCAT主站

    最新藍牙音頻方案選型表

    隨著藍牙技術的不斷發展,藍牙5.2已經到來,LE Audio 是否會對傳統經典藍牙的音頻壟斷地位發起挑戰。新的技術如何發展還尚未可知,不過目前的主流音頻
    的頭像 發表于 04-12 16:55 ?853次閱讀
    最新藍牙<b class='flag-5'>音頻</b><b class='flag-5'>方案</b>選型表

    使用 PREEMPT_RT 在 Ubuntu 中構建實時 Linux 內核

    盟通技術干貨構建實時Linux內核簡介盟通技術干貨Motrotech如果需要在Linux中實現實
    的頭像 發表于 04-12 08:36 ?2606次閱讀
    使用 PREEMPT_RT 在 Ubuntu 中構建實時 <b class='flag-5'>Linux</b> 內核

    無線麥克風音頻方案

    無線麥克風是音頻傳輸領域的一項重要技術,廣泛應用于演講、表演、會議等場合。而無線麥克風的音頻方案中,無線芯片起著關鍵作用。下面將介紹無線麥克風音頻
    的頭像 發表于 02-26 15:22 ?858次閱讀

    你見過這樣的音頻轉接器嗎?原來原理這么簡單

    音頻設備的橋梁,正引領著音頻領域邁向新的高度。本文將深入解讀Type-C音頻轉接器的工作原理、特點、應用場景及其未來發展趨勢。 Type-C音頻轉接器通過其內部先進的轉換電路和信號放
    的頭像 發表于 02-19 17:07 ?1062次閱讀
    你見過這樣的<b class='flag-5'>音頻</b>轉接器嗎?<b class='flag-5'>原來</b>原理這么<b class='flag-5'>簡單</b>

    arm開發板如何安裝linux系統

    安裝Linux系統到ARM開發板是一個復雜的過程,涉及到多個步驟和不同的工具。下面是一個詳實且細致的教程,包含了從準備工作到最終啟動Linux系統的所有步驟。 準備工作 在開始之前,需要準備以下
    的頭像 發表于 01-24 14:19 ?3776次閱讀

    Linux系統CPU占用率100%的排查思路

    今天浩道跟大家分享linux硬核干貨,工作中當你服務器CPU達到100%時,干著急是沒有用的,該查問題還得自己去查。本文將給大家羅列排查異常故障思路,并且文末附上相關shell腳本,去實際一番,你會發現原來解決問題的方法
    的頭像 發表于 01-23 10:26 ?6049次閱讀
    <b class='flag-5'>Linux</b>系統CPU占用率100%的排查思路
    主站蜘蛛池模板: 777久久人妻少妇嫩草AV蜜桃| 国产在线观看黄| 里番acg纲手的熟蜜姬训练场| 伊人久久国产| 欲奴第一季在线观看全集| 九九精品在线播放| 99视频这里只有精品| 久久精品亚洲AV高清网站性色| 1a级毛片免费观看| 久久两性视频| 差差差差差差差差免费观看| 牛牛在线(正)精品视频| 2020亚洲国产在线播放在线| 全黄H全肉细节文短篇| 被窝国产理论一二三影院 | 国产h视频在线观看免费| 亚洲免费网站观看视频| 精品无码久久久久久久久| 亚洲日本欧美产综合在线| 女教师公车痴汉在线播放| 国产色婷亚洲99精品AV在| 亚洲欧美日韩国产手机在线| 摸老师丝袜小内内摸出水| 国产欧美国产综合第一区| 99riav9 精品香蕉免费大视频| 欧美一级黄色影院| 芭乐视频网页版在线观看| 亚洲人成无码久久久AAA片| 日本黄色网站在线观看| 久久精品国产亚洲AV影院| 国产成人女人视频在线观看| 18国产精品白浆在线观看免费| 武汉美女洗澡| 久久国内精品| 国产成人ae在线观看网站站| 777久久人妻少妇嫩草AV| 小学生偷拍妈妈视频遭性教育| 皮皮色狼网| 六六影院午夜伦理| 国产主播福利一区二区| 俄罗斯女人Z0ZOZO|