音頻學習過程中搜到的一些資料整理歸類:
一,基礎知識:
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主要實作一些控制接口,是以先看看這個:
Linux ALSA聲卡驅動之四:Control設備的創建
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