嵌入式audio基礎(六)音量
聲音是因物體的振動而產生的一種物理現象。振動使物體周圍的空氣繞動而形成聲波,聲波以空氣為媒介傳入人們的耳朵,於是人們就聽到了聲音。因此,從物理上講,聲音是一種波。用物理學的方法分析,描述聲音特徵的物理量有聲波的振幅(Amplitude)、週期(Period)和頻率(Frequency)。因為頻率和週期互為倒數,因此,一般只用振幅和頻率兩個引數來描述聲音。
其中,頻率反映聲音的高低,振幅反映聲音的大小。聲音中含有高頻成分越多,音調就越高,也就是越尖,反之則越低;聲音的振幅越大,聲音則越大,反之則越小。需要指出的是,現實世界的聲音不是由某個頻率或某幾個頻率組成,而是由許多不同頻率不同振幅的正弦波疊加而成。
這裡選取了一段外掛音訊的音量設定暫存器的截圖,可以看出暫存器的設定step是2db。
db的出現是為了簡化數字表達出現的,原理是利用對數表示。
db = 10lg(放大倍數)
如果是增益放大十萬倍:
X = 100000 = 10^5
Lx(dB) = 10lg(10^5W/1W) dB= 10lg(10^5) dB= 50 dB
如果衰減十萬倍
X = 10^-5
Lx(dB) = 10lg(X) dB= 10*lg(10^-5) dB= -50 dB
這裡可以看出有幾個好處:
1.簡化書寫
100000的書寫簡化成50db
2.簡化運算
一般音訊都會分前端放大和後端放大,例如前端放大10倍後端放大10倍,計算起來就需要 10*10=100倍,如果利用db來進行計算就將乘法簡化成加減法,前端10db後端10db,直接10db+10db=100db。
3.符合人體對聲音的感知。
這個就需要從一個心理學講開。
Weber–Fechner law
韋伯-費希納定律是表明心理量和物理量之間關係的定律。德國生理學家韋伯(1795-1878)發現同一刺激差別量必須達到一定比例,才能引起差別感覺。這一比例是個常數,用公式表示:Δr(刺激差別量)/r(刺激量)=k(常數),這就是韋伯定律。
為了描述連續意義上心理量與物理量的關係,德國物理學家費希納(1801-1887)在韋伯研究的基礎上,於1860年提出了一個假定:把最小可覺差(連續的差別閾限)作為感覺量的單位,即每增加一個差別閾限,心理量增加一個單位,這樣可推匯出如下公式:S = k ln I + C(S為感覺量、K為常數、I為物理量,C是積分常數)……通式: S = k log I。其含義是感覺量與物理量的對數值成正比。也就是說感覺量的增加落後於物理量的增加,物理量成幾何級數增長,心理量成算術級數增長,這個經驗公式被稱為費希納定律或韋伯-費希納定律。適用於中等強度的刺激。
舉個例子就是:
昨天早上的報紙還賣五毛,今天漲到一塊了,肯定覺得這個報攤的老闆是瘋了一次張這麼多。
一套房子原來100萬的,現在101萬了,就感覺這房子根本沒漲啊。
報紙漲了五毛的漲幅肯定是遠遠小於房價一萬元的漲幅,但是他的翻番的漲幅是遠遠大於房價1%的漲幅。給人的感覺也是漲幅大的感覺強烈。
同理引申到聲音對人體的刺激,如果線性的增大聲音幅度,肯定是前面變化太小無法感知增長,後期增長有太高。所以音量的調節頁用了db單位作為step。
相關文章
- 嵌入式audio基礎(七)分析
- 嵌入式audio基礎(一)介面
- 嵌入式audio基礎(八)主動降噪
- 嵌入式audio基礎(三)匯流排
- 嵌入式audio基礎(四)效能指標指標
- 嵌入式audio基礎(二)傳輸協議協議
- 嵌入式audio基礎(五)效能指標補遺指標
- Core Audio音訊基礎概述音訊
- Web Audio API 第3章 音量和響度WebAPI
- 逆向基礎(六)
- 嵌入式基礎(2)---硬體基礎知識
- 嵌入式作業系統--linux基礎(lv2_第六課)作業系統Linux
- Web Audio API 第1章 基礎篇WebAPI
- 嵌入式開發基礎(3)
- WiFi基礎(六):天線基礎知識WiFi
- 【調優】CBO基礎(六)
- java基礎(六):RabbitMQ 入門JavaMQ
- Python基礎(六) 函式Python函式
- JavaSE基礎知識分享(六)Java
- 嵌入式系統程式設計基礎程式設計
- 零基礎嵌入式學習攻略
- 嵌入式開發的基礎知識
- 嵌入式系統基礎知識:瞭解嵌入式系統
- Vue學習計劃基礎筆記(六) – 元件基礎Vue筆記元件
- SciTech-AV-Audio-DAP(Digital Audio Processing)-ffmpeg -AMR錄音檔案剪下+格式轉換+Normalization音量操控GitORM
- 六西格瑪的基礎知識
- Django基礎六之cookie和sessionDjangoCookieSession
- OC基礎(六)——記憶體管理記憶體
- 第六週基礎部分作業
- win7音訊 audio service調節單個程式音量控制Win7音訊
- 零基礎轉行嵌入式——C語言C語言
- 前端基礎入門六(JQuery進階)前端jQuery
- Hadoop學習之路(六)HDFS基礎Hadoop
- Java基礎 第三節 第六課Java
- Java EE 基礎知識學習(六)Java
- Java 基礎(六)集合原始碼解析 QueueJava原始碼
- 《Python 基礎篇》六:物件導向Python物件
- JAVA基礎之六-Stream(流)簡介Java