close

版权声明:本文为CSDN博主「学习&笔记」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_49303682/article/details/131076693

1.音頻信號

音頻信號是一種連續變化的模擬信號,但計算機只能處理和記錄二進制的數字信號,由自然音源得到的音頻信號必須經過一定的變換,成為數字音頻信號之後,才能送到計算機中作進一步的處理。

5d051457c97f4996b107a35d3fe82477

     數字音頻系統通過將聲波的波型轉換成一系列二進制數據,來實現對原始聲音的重現,實現這一步驟的設備常被稱為(A/D)。

    A/D轉換器以每秒鐘上萬次的速率對聲波進行採樣,每個採樣點都記錄下了原始模擬聲波在某一時刻的狀態,通常稱之為樣本(sample),而每一秒鐘所採樣的數目則稱為採樣頻率。

2.採樣頻率

 採樣頻率是指將模擬聲音波形進行數字化時,每秒鐘抽取聲波幅度樣本的次數。

f43da116376e4581c04edb0ce98b8ff5.png

 

如上圖所示用40KHz的頻率去採樣20KHz的信號可以正確捕捉到原始信號。用30KHz的頻率去採樣20KHz的信號會出現混淆信號採樣率設置不對會引入雜音)

系統 採樣頻率
電話 8000Hz
CD 44100Hz
專業音頻 48000Hz
DVD音頻 96000Hz

 

3.Linein和Micin

我們的電腦聲卡上,一般都會有Line in和Mic in兩個接口,翻譯成中文就是“線性輸入”和“麥克風輸入”,這兩個都是輸入端口。

Line in端口:該端口主要用於連接電吉他、電子琴、合成器等外界設備的音頻信號輸出的錄音,由於這些設備本身輸出功率就比較大,因此需要連接到Line in端口錄音,當然使用它們錄音從某種程度上也可以被稱為外部設備的“內錄”。一般您使用的聲卡越好,Line in裡的噪音就會越低,錄製效果也會比較好。

Mic in端口:這要是連接麥克風錄音使用的。但是這個端口和Line in的區別在於它有前置放大器,換言之麥克風本身輸出功率小,因此必須要有一個外部的放大設備來放大音頻信號。這個端口就是起到這個作用。有興趣的朋友可以嘗試一下把你的麥克風直接連接到Line in端口錄音……沒有聲音或者聲音很小對吧?!道理很簡單,麥克風的信號沒有被放大,自然效果就不好了。
20180105101948526

MICIN和LINEIN在框圖中的差別是:MICIN比LINEIN多了一級放大。

4. ALSA架構

ALSA 是Linux內核2.6後續版本中支持音頻系統的標準接口程序,由ALSA庫、內核驅動和相關測試開發工具組成。

相較於OSS的編程接口,ALSA的函數庫更加便於使用。

​ 對應用程序而言ALSA無疑是一個更佳的選擇,因為它具有更加友好的編程接口,並且完全兼容於OSS。
46e5bd07b8821f74c620bea57c8289c2

alsa-lib:用戶空間函數庫, 封裝驅動提供的抽象接口, 通過文件libasound.so提供API給應用程序使用。

alsa-utils:實用工具包,通過調用alsa-lib實現播放音頻(aplay)、錄音(arecord) 等工具。

Alsa的代碼文件結構如下:

ae853a94fea44a9cbbcd9d9f3a40b9c2

core 該目錄包含了ALSA驅動的中間層,它是整個ALSA驅動的核心部分
core/oss 包含模擬舊的OSS架構的PCM和Mixer模塊
core/seq 有關音序器相關的代碼
include ALSA驅動的公共頭文件目錄,該目錄的頭文件需要導出給用戶空間的應用程序使用,通常,驅動模塊私有的頭文件不應放置在這裡drivers 放置一些與CPU、BUS架構無關的公用代碼i2c ALSA自己的I2C
 控制
代碼
pci pci聲卡的頂層目錄,子目錄包含各種pci聲卡的代碼
isa isa聲卡的頂層目錄,子目錄包含各種isa聲卡的代碼
soc 針對system-on-chip體系的中間層代碼
soc/codecs 針對soc體系的各種codec的代碼,與平台無關

arrow
arrow
    文章標籤
    音頻處理
    全站熱搜
    創作者介紹
    創作者 Rocky 的頭像
    Rocky

    Rocky的部落格

    Rocky 發表在 痞客邦 留言(0) 人氣()