天天看點

音頻學習資料整理

音頻學習過程中搜到的一些資料整理歸類:

一,基礎知識:

1, Audio Turorials:http://www.mediacollege.com/audio/

介紹了soundwave的基本原理,配圖很好的幫助了解,網站所使用的聲源圖檔都可以下載下傳,

如下2個小章節可以參考:

1)  Introduction : Sound Waves:http://www.mediacollege.com/audio/01/sound-waves.html

音頻學習資料整理

2) How Microphones Work:http://www.mediacollege.com/audio/microphones/how-microphones-work.html

音頻學習資料整理

2, .acoustics:http://www.acoustics.salford.ac.uk/schools/index1.htm

design by Acoustics at the University of Salford,以flash的方式講解acoustics,生動有趣易學;

音頻學習資料整理

二,Android音頻基礎

這方面的資料很多,林學森的csdn部落格由淺入深,适合初學者:

1,Android音頻系統之音頻基礎

http://blog.csdn.net/xuesen_lin/article/details/8787779,

2, Android音頻系統之音頻架構

http://blog.csdn.net/xuesen_lin/article/details/8796492

三,ALSA: 做audio driver的同學可以學習下,以下摘自謝芳同學的總結:

0.Alsa 官網:  先看這個,比較簡單,大概了解是什麼東西,有什麼東西。

http://www.alsa-project.org/main/index.php/Documentation

Linux-ASoC驅動歸納總結:(内容很少你看了才不煩)

http://blog.csdn.net/sunruichen/article/details/8568273

1.  看了0 中的内容應該有些概念了,但也隻是概念。接下了看這個alsa 驅動系列 八個小節。這八個小節會将0中的内容展開講。不算特别細。

但是至少會涉及更多的概念,八個不全看的話,至少要看 machine/platform/codec 驅動三個節。

Linux ALSA聲霸卡驅動之(1-8)

http://blog.csdn.net/droidphone/article/details/7283833

其實你看完上面的部落格也不見得就可以了解,他講的是Linux ALSA,ASOC也隻是在ALSA的基礎上封裝,調用的

也是通用ALSA接口,這個時候你可以結合linux的 code來看,重點在以下一些檔案(base on mtk platform):

音頻學習資料整理

你在看第1部分的時候多少會有些問題,一方面在code 中會驗證你看到的東西,但是還是有些許不太明白的。那或許在

第2部分的資訊中可以找到答案。

2.     alsa 架構介紹與音頻通路

http://wenku.baidu.com/view/dacb0922af45b307e87197a2.html

alsa 之codec 分析

http://wenku.baidu.com/view/9eff8205e87101f69e3195b9.html

PCM data flow - part (1-6)

http://blog.csdn.net/azloong/article/details/17317829

alsa 結構圖流程 1- 2

http://blog.csdn.net/haokaihaohe110/article/details/7720753

3.     如果你仔細看完了2,你可以結合mtk 的alsa 看看mtk asoc的部分。主要以下檔案。

這個時候你會覺得所有的東西(資料結構,流程,關鍵節點都是曾相識的感覺)

檔案清單:

mtk platform: kernel/sound/soc/mediatek

qualcom platform:kernel/sound/soc/msm

4.     在第4部分中你要學習asoc的上層接口,也就是tinyalsa。Tinyalsa 主要檔案就兩隻:

主要實作的pcm /mixer 接口,是以要以下資訊:

她會告訴您tinyalsa 是什麼,與alsa lib的差別是什麼。

alsa and tinyalsa

http://blog.csdn.net/bailyzheng/article/details/10049375

由于tinyalsa主要實作一些控制接口,是以先看看這個:

L​i​n​u​x​ ​A​L​S​A​聲​卡​驅​動​之​四​:​C​o​n​t​r​o​l​設​備​的​創​建

http://wenku.baidu.com/view/3e7630befd0a79563c1e72be.html

結合這兩張pp的檔案和思路去看,看一次就知道是你想要的。

Note:這個網址有更多有關驅動的文章你可以選擇看。

編寫一個alsa 驅動

http://3y.uu456.com/search_%B1%E0%D0%B4%D2%BB%B8%F6ALSA%C7%FD%B6%AF_0.html