1. 程式人生 > >音訊學習資料整理

音訊學習資料整理

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

一,基礎知識:

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