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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

HDG2L-IoT音頻接口

圖1HDG2L-IoT音頻接口

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

音頻通訊引腳

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

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

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

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

音頻控制項(xiàng)

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

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

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

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

5.jpg

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

在進(jìn)行音頻播放時(shí),對(duì)于基于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)輸出信號(hào)僅接到了音頻處理的Left端作為輸入,所以播放錄音文件時(shí)僅左聲道有輸出,若希望將麥克風(fēng)輸出信號(hào)同時(shí)記錄在左右聲道可做如下設(shè)置:

11.jpg

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

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

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

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

12.jpg

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

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

    關(guān)注

    135

    文章

    9450

    瀏覽量

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

    關(guān)注

    5175

    文章

    19973

    瀏覽量

    324397
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11576

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

    。同時(shí),考慮終端的音質(zhì)、功率等參數(shù),確保聲音覆蓋效果。 管理軟件:選擇界面友好、操作簡(jiǎn)單的管理軟件,應(yīng)具備音頻文件統(tǒng)一管理、終端狀態(tài)實(shí)時(shí)監(jiān)控、遠(yuǎn)程設(shè)置與升級(jí)等功能,方便學(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)伙伴一起,攜一系列重量級(jí)的由邊緣AI技術(shù)驅(qū)動(dòng)的音頻
    的頭像 發(fā)表于 06-19 17:26 ?569次閱讀
    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ù)字音頻信號(hào)通過藍(lán)牙技術(shù)進(jìn)行無線傳輸。它的工作原理可以簡(jiǎn)單理解為:1.數(shù)字編碼:將模擬
    的頭像 發(fā)表于 04-17 15:55 ?631次閱讀
    藍(lán)牙<b class='flag-5'>音頻</b>模組中模擬<b class='flag-5'>音頻</b>和數(shù)字<b class='flag-5'>音頻</b>如何選擇?

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

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

    請(qǐng)問ads7957寄存器地址是多少?

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

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

    PyTorch 是一個(gè)廣泛應(yīng)用的開源機(jī)器學(xué)習(xí) (ML) 庫。近年來,Arm 與合作伙伴通力協(xié)作,持續(xù)改進(jìn) PyTorch 的推理性能。本文將詳細(xì)介紹如何利用 Arm Kleidi 技術(shù)提升 A
    的頭像 發(fā)表于 12-23 09:19 ?1460次閱讀
    利用<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)的,大體上也都可以按這個(gè)操作。
    的頭像 發(fā)表于 12-18 16:31 ?711次閱讀
    <b class='flag-5'>干貨</b>來嘍!實(shí)用樹莓派<b class='flag-5'>Linux</b>編譯指南

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

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

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

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

    Linux從零到精通:最簡(jiǎn)單的Shell腳本入門教程

    在數(shù)字化時(shí)代的浪潮中,Linux操作系統(tǒng)憑借其高效、穩(wěn)定、開源的特性,成為了無數(shù)開發(fā)者和系統(tǒng)管理員的首選。 而在Linux的龐大生態(tài)系統(tǒng)中,Shell編程無疑是連接用戶與系統(tǒng)內(nèi)核的橋梁,它讓我們能夠
    的頭像 發(fā)表于 12-05 09:56 ?2090次閱讀
    <b class='flag-5'>Linux</b>從零到精通:最<b class='flag-5'>簡(jiǎn)單</b>的Shell腳本入門教程

    飛騰云 - 音頻解決方案專家

    高保真音頻。怎樣給客戶提供更好的音頻體驗(yàn)?如果你在音頻方面有任何問題,這個(gè)時(shí)候都可以找飛騰云音頻解決方案專家。飛騰云不僅生產(chǎn)
    的頭像 發(fā)表于 11-30 01:08 ?537次閱讀
    飛騰云 - <b class='flag-5'>音頻</b>解決<b class='flag-5'>方案</b>專家

    車載應(yīng)用中的高品質(zhì),高性能音頻CODEC解決方案

    車載應(yīng)用中的高品質(zhì),高性能音頻CODEC解決方案 ? ? 新唐科技在全方位布局智能車載應(yīng)用市場(chǎng),深入車載音頻多樣化應(yīng)用場(chǎng)景,持續(xù)推出音頻的新產(chǎn)品及解決
    的頭像 發(fā)表于 11-28 16:21 ?1758次閱讀
    車載應(yīng)用中的高品質(zhì),高性能<b class='flag-5'>音頻</b>CODEC解決<b class='flag-5'>方案</b>

    ARM技術(shù)是什么?國(guó)內(nèi)有哪些ARM廠家呢?一起來了解一下!

    18字) 一、ARM技術(shù)特點(diǎn) 精簡(jiǎn)指令集 :ARM指令集簡(jiǎn)潔高效,易于實(shí)現(xiàn)流水線技術(shù),從而提高處理器性能。相比復(fù)雜指令集(CISC),RISC選取了使用頻率高的
    發(fā)表于 11-18 16:35

    Made with KiCad(九):OtterCast音頻流設(shè)備

    “ ?OtterCast 是一款運(yùn)行 Linux 的開源音頻流設(shè)備?;?Sochip S3 SoC,具有 Web 界面、shairport-sync、snapcast、Spotify
    的頭像 發(fā)表于 11-13 18:19 ?824次閱讀
    Made with KiCad(九):OtterCast<b class='flag-5'>音頻</b>流設(shè)備