
你的位置:首頁(yè) > 測(cè)試測(cè)量 > 正文
詳細(xì)講解:聲卡驅(qū)動(dòng)及數(shù)字音頻技術(shù)知識(shí)點(diǎn)
發(fā)布時(shí)間:2017-02-15 責(zé)任編輯:sherry
【導(dǎo)讀】音頻信號(hào)是一種連續(xù)變化的模擬信號(hào),但計(jì)算機(jī)只能處理和記錄二進(jìn)制的數(shù)字信號(hào),由自然音源得到的音頻信號(hào)必須經(jīng)過(guò)一定的變換,成為數(shù)字音頻信號(hào)之后,才能送到計(jì)算機(jī)中作進(jìn)一步的處理。
關(guān)于PCM
PCM是Pulse code modulaTIon的縮寫(xiě),它是對(duì)波形最直接的編碼方式。它在音頻中的地位可能和BMP在圖片中的地位有點(diǎn)類(lèi)似吧。
Sampling rate:從模擬信號(hào)到數(shù)字信號(hào),即從連續(xù)信號(hào)到離散信號(hào)的轉(zhuǎn)換都是通過(guò)離散采樣完成的,Sampling rate就是每秒種采樣的個(gè)數(shù)。根據(jù)香農(nóng)采樣定理,要保證信號(hào)不失真,Sampling rate要大于信號(hào)最高頻率的兩倍。我們知道人的耳朵能聽(tīng)到的頻率范圍是20hz – 20khz,所以Sampling rate達(dá)到40k就夠了,再多了也只是浪費(fèi)。但是有時(shí)為了節(jié)省帶寬和存儲(chǔ)資源,可以降低Sampling rate而損失聲音的質(zhì)量,所以我們常常見(jiàn)到小于40k采樣率的聲音數(shù)據(jù)。

Sample size:用來(lái)量化一個(gè)采樣的幅度,一般為8 bits、16 bits和24 bits。8 bits只有早期的聲卡支持,而24 bits只有專業(yè)的聲卡才支持,我們用的一般都是16 bits的。
Number of channels:聲音通道個(gè)數(shù),單聲道為一個(gè),立體聲為兩個(gè),還有更多的(如8個(gè)聲道的7.1格式)。一般來(lái)說(shuō),每個(gè)聲道都來(lái)源于一個(gè)獨(dú)立的mic,所以聲道多效果會(huì)更好(更真實(shí)),當(dāng)然代價(jià)也更大。
Frame: Frame是指包含了所有通道的一次采樣數(shù)據(jù),比如對(duì)于16bits的雙聲道來(lái)說(shuō),一個(gè)frame的大小為4個(gè)字節(jié)(2 * 16)。
一、數(shù)字音頻
音頻信號(hào)是一種連續(xù)變化的模擬信號(hào),但計(jì)算機(jī)只能處理和記錄二進(jìn)制的數(shù)字信號(hào),由自然音源得到的音頻信號(hào)必須經(jīng)過(guò)一定的變換,成為數(shù)字音頻信號(hào)之后,才能送到計(jì)算機(jī)中作進(jìn)一步的處理。
數(shù)字音頻系統(tǒng)通過(guò)將聲波的波型轉(zhuǎn)換成一系列二進(jìn)制數(shù)據(jù),來(lái)實(shí)現(xiàn)對(duì)原始聲音的重現(xiàn),實(shí)現(xiàn)這一步驟的設(shè)備常被稱為模/數(shù)轉(zhuǎn)換器(A/D)。A/D轉(zhuǎn)換器以每秒鐘上萬(wàn)次的速率對(duì)聲波進(jìn)行采樣,每個(gè)采樣點(diǎn)都記錄下了原始模擬聲波在某一時(shí)刻的狀態(tài),通常稱之為樣本(sample),而每一秒鐘所采樣的數(shù)目則稱為采樣頻率,通過(guò)將一串連續(xù)的樣本連接起來(lái),就可以在計(jì)算機(jī)中描述一段聲音了。對(duì)于采樣過(guò)程中的每一個(gè)樣本來(lái)說(shuō),數(shù)字音頻系統(tǒng)會(huì)分配一定存儲(chǔ)位來(lái)記錄聲波的振幅,一般稱之為采樣分辯率或者采樣精度,采樣精度越高,聲音還原時(shí)就會(huì)越細(xì)膩。
數(shù)字音頻涉及到的概念非常多,對(duì)于在Linux下進(jìn)行音頻編程的程序員來(lái)說(shuō),最重要的是理解聲音數(shù)字化的兩個(gè)關(guān)鍵步驟:采樣和量化。采樣就是每隔一定時(shí)間就讀一次聲音信號(hào)的幅度,而量化則是將采樣得到的聲音信號(hào)幅度轉(zhuǎn)換為數(shù)字值,從本質(zhì)上講,采樣是時(shí)間上的數(shù)字化,而量化則是幅度上的數(shù)字化。下面介紹幾個(gè)在進(jìn)行音頻編程時(shí)經(jīng)常需要用到的技術(shù)指標(biāo):
采樣頻率
采樣頻率是指將模擬聲音波形進(jìn)行數(shù)字化時(shí),每秒鐘抽取聲波幅度樣本的次數(shù)。采樣頻率的選擇應(yīng)該遵循奈奎斯特(Harry Nyquist)采樣理論:如果對(duì)某一模擬信號(hào)進(jìn)行采樣,則采樣后可還原的最高信號(hào)頻率只有采樣頻率的一半,或者說(shuō)只要采樣頻率高于輸入信號(hào)最高頻率的兩倍,就能從采樣信號(hào)系列重構(gòu)原始信號(hào)。正常人聽(tīng)覺(jué)的頻率范圍大約在20Hz~20kHz之間,根據(jù)奈奎斯特采樣理論,為了保證聲音不失真,采樣頻率應(yīng)該在40kHz左右。常用的音頻采樣頻率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz等,如果采用更高的采樣頻率,還可以達(dá)到DVD的音質(zhì)。 其中,8kHZ為電話的采樣頻率。
量化位數(shù)
量化位數(shù)是對(duì)模擬音頻信號(hào)的幅度進(jìn)行數(shù)字化,它決定了模擬信號(hào)數(shù)字化以后的動(dòng)態(tài)范圍,常用的有8位、12位和16位。量化位越高,信號(hào)的動(dòng)態(tài)范圍越大,數(shù)字化后的音頻信號(hào)就越可能接近原始信號(hào),但所需要的存貯空間也越大。
聲道數(shù)
聲道數(shù)是反映音頻數(shù)字化質(zhì)量的另一個(gè)重要因素,它有單聲道和雙聲道之分。雙聲道又稱為立體聲,在硬件中有兩條線路,音質(zhì)和音色都要優(yōu)于單聲道,但數(shù)字化后占據(jù)的存儲(chǔ)空間的大小要比單聲道多一倍。
二、聲卡驅(qū)動(dòng)
出于對(duì)安全性方面的考慮,Linux下的應(yīng)用程序無(wú)法直接對(duì)聲卡這類(lèi)硬件設(shè)備進(jìn)行操作,而是必須通過(guò)內(nèi)核提供的驅(qū)動(dòng)程序才能完成。在Linux上進(jìn)行音頻編程的本質(zhì)就是要借助于驅(qū)動(dòng)程序,來(lái)完成對(duì)聲卡的各種操作。
對(duì)硬件的控制涉及到寄存器中各個(gè)比特位的操作,通常這是與設(shè)備直接相關(guān)并且對(duì)時(shí)序的要求非常嚴(yán)格,如果這些工作都交由應(yīng)用程序員來(lái)負(fù)責(zé),那么對(duì)聲卡的編程將變得異常復(fù)雜而困難起來(lái),驅(qū)動(dòng)程序的作用正是要屏蔽硬件的這些底層細(xì)節(jié),從而簡(jiǎn)化應(yīng)用程序的編寫(xiě)。目前Linux下常用的聲卡驅(qū)動(dòng)程序主要有兩種:OSS和ALSA。
最早出現(xiàn)在Linux上的音頻編程接口是OSS(Open Sound System),它由一套完整的內(nèi)核驅(qū)動(dòng)程序模塊組成,可以為絕大多數(shù)聲卡提供統(tǒng)一的編程接口。OSS出現(xiàn)的歷史相對(duì)較長(zhǎng),這些內(nèi)核模塊中的一部分(OSS/Free)是與Linux內(nèi)核源碼共同免費(fèi)發(fā)布的,另外一些則以二進(jìn)制的形式由4Front Technologies公司提供。由于得到了商業(yè)公司的鼎力支持,OSS已經(jīng)成為在Linux下進(jìn)行音頻編程的事實(shí)標(biāo)準(zhǔn),支持OSS的應(yīng)用程序能夠在絕大多數(shù)聲卡上工作良好。
雖然OSS已經(jīng)非常成熟,但它畢竟是一個(gè)沒(méi)有完全開(kāi)放源代碼的商業(yè)產(chǎn)品,ALSA(AdvancedLinux Sound Architecture)恰好彌補(bǔ)了這一空白,它是在Linux下進(jìn)行音頻編程時(shí)另一個(gè)可供選擇的聲卡驅(qū)動(dòng)程序。ALSA除了像OSS那樣提供了一組內(nèi)核驅(qū)動(dòng)程序模塊之外,還專門(mén)為簡(jiǎn)化應(yīng)用程序的編寫(xiě)提供了相應(yīng)的函數(shù)庫(kù),與OSS提供的基于ioctl的原始編程接口相比,ALSA函數(shù)庫(kù)使用起來(lái)要更加方便一些。ALSA的主要特點(diǎn)有:
支持多種聲卡設(shè)備
模塊化的內(nèi)核驅(qū)動(dòng)程序
支持SMP和多線程
提供應(yīng)用開(kāi)發(fā)函數(shù)庫(kù)
兼容OSS應(yīng)用程序
ALSA和OSS最大的不同之處在于ALSA是由志愿者維護(hù)的自由項(xiàng)目,而OSS則是由公司提供的商業(yè)產(chǎn)品,因此在對(duì)硬件的適應(yīng)程度上OSS要優(yōu)于ALSA,它能夠支持的聲卡種類(lèi)更多。ALSA雖然不及OSS運(yùn)用得廣泛,但卻具有更加友好的編程接口,并且完全兼容于OSS,對(duì)應(yīng)用程序員來(lái)講無(wú)疑是一個(gè)更佳的選擇。
特別推薦
- 芯片級(jí)安全守護(hù)!800V電池管理中樞如何突破高壓快充瓶頸
- 功率電感器核心技術(shù)解析:原理、選型策略與全球品牌競(jìng)爭(zhēng)力圖譜
- 鉭電容技術(shù)全景解析:從納米級(jí)介質(zhì)到AI服務(wù)器供電革命
- 西南科技盛宴啟幕!第十三屆西部電博會(huì)7月9日蓉城集結(jié)
- KEMET T495/T520 vs AVX TAJ鉭電容深度對(duì)比:如何選擇更適合你的設(shè)計(jì)?
- 功率電感四重奏:從筆記本到光伏,解析能效升級(jí)的隱形推手
- 聚合物電容全景解析:從納米結(jié)構(gòu)到千億市場(chǎng)的國(guó)產(chǎn)突圍戰(zhàn)
技術(shù)文章更多>>
- 村田開(kāi)始量產(chǎn)村田首款0402英寸47μF多層陶瓷電容器
- 灣芯展2025預(yù)登記啟動(dòng)!10月深圳共襄半導(dǎo)體盛宴
- 智能家居開(kāi)發(fā)指南上線!貿(mào)澤電子發(fā)布全棧式設(shè)計(jì)資源中心
- 300mm晶圓量產(chǎn)光學(xué)超表面!ST與Metalenz深化納米光學(xué)革命
- 可變/微調(diào)電容終極指南:從MEMS原理到國(guó)產(chǎn)替代選型策略
技術(shù)白皮書(shū)下載更多>>
- 車(chē)規(guī)與基于V2X的車(chē)輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車(chē)安全隔離的新挑戰(zhàn)
- 汽車(chē)模塊拋負(fù)載的解決方案
- 車(chē)用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門(mén)搜索
MOSFET
Mouser
Murata
NAND
NFC
NFC芯片
NOR
ntc熱敏電阻
OGS
OLED
OLED面板
OmniVision
Omron
OnSemi
PI
PLC
Premier Farnell
Recom
RF
RF/微波IC
RFID
rfid
RF連接器
RF模塊
RS
Rubycon
SATA連接器
SD連接器
SII
SIM卡連接器