標籤:downmix alsa 5.1聲道 立體聲
剛接觸ALSA,自己學沒人帶的話真的挺費勁。網上查了很多資料都沒有這方面的說明,最後看官方外掛程式配置文檔根據個人理解寫的心得:
(1)先來看看route外掛程式說明:
這個外掛程式可以轉換channels和改變音量。配置說明如下:
pcm.name { type route # Route & Volume conversion PCM slave STR # Slave name # or slave { # Slave definition pcm STR # Slave PCM name # or pcm { } # Slave PCM definition [format STR] # Slave format [channels INT] # Slave channels } ttable { # Transfer table (bi-dimensional compound of cchannels * schannels numbers) CCHANNEL { SCHANNEL REAL # route value (0.0 - 1.0) } }}
(2)再來看看2聲道立體聲轉換為單聲道的配置例子:
pcm.makemono { type route slave.pcm "hw:0" ttable { 0.0 1 # in-channel 0, out-channel 0, 100% volume 1.0 1 # in-channel 1, out-channel 0, 100% volume }}
(3)根據上面的例子來配置ALSA,使2聲道的音效卡輸出5.1腔的音頻。說明:5.1通道的音頻,有6個通道:左前,右前,左後,右後,中間,低炮音。下面的配置是假設解碼出來的資料 0 通道對應左前聲道, 1對應右前,2對應左後,3對應右後,4對應中間聲道,5對應低炮音聲道。輸出的音效卡只支援兩個通道(立體聲)
pcm.downmix {
type route slave.pcm "hw:0.0" ttable { 0.0 1 # in-channel 0, out-channel 0, 100% volume 1.1 1 # in-channel 1, out-channel 1, 100% volume
2.0 1
3.1 1
4.0 0.5
4.1 0.5
5.0 0.5
5.1 0.5 #意思是輸入第5通道的資料轉送給輸出通道1,並且音量降低一半 }}
經過上面配置可用下面的圖來做映射:
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
利用ALSA外掛程式將5.1通道音頻通過2通道立體音效卡播放的配置(.asoundrc設定檔)