1 回答

TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊
AsioSettings
和參數(shù)都mapping
用于靜態(tài)選擇頻道。您不能使用它們來混合信號(hào)或改變它們的音量。
如果您想按升序使用聲卡的前幾個(gè)通道(例如通道 1、2、3 和 4),則根本不需要它們。例如,您可以簡(jiǎn)單地使用channels=4
, 它將選擇前 4 個(gè)通道。更簡(jiǎn)單的是,如果您使用sounddevice.play()
,通道數(shù)將由給定的 NumPy 數(shù)組確定,您不必顯式指定參數(shù)channels
。
如果您事先知道所需的運(yùn)動(dòng)(示例中的火車),則可以預(yù)先計(jì)算 2 通道或 4 通道信號(hào)。然后你可以簡(jiǎn)單地播放多通道信號(hào)sounddevice.play()
(如果需要,使用AsioSettings
或參數(shù))。mapping
如果您事先不知道運(yùn)動(dòng)(例如,如果它是實(shí)時(shí)計(jì)算的),您可以使用 asounddevice.OutputStream
并實(shí)現(xiàn)一個(gè)自定義callback
函數(shù)來對(duì)信號(hào)進(jìn)行加權(quán)。
sounddevice
至于究竟如何將信號(hào)混合到輸出通道,這與模塊或模塊沒有任何關(guān)系soundcard
。您或許可以找到信號(hào)處理庫(kù)來執(zhí)行此操作,或者您可以自己實(shí)現(xiàn)它。合適的搜索詞是“平移”。對(duì)于兩個(gè)通道,您可以使用“立體聲聲像”,對(duì)于更多通道,還有其他方法,如“矢量基幅聲像 (VBAP)”、“Ambisonics 聲像聲像”……
添加回答
舉報(bào)