亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go中的信號處理

Go中的信號處理

Go
白豬掌柜的 2021-03-31 13:14:27
我提出了一個音頻項目的想法,看起來Go是實現它的有用語言。但是,它要求能夠對傳入的音頻應用過濾器,并且Go似乎沒有任何類型的音頻處理包。我可以使用cgo調用C代碼,但是我發現的每個信號處理庫都使用cgo無法處理的C ++類??雌饋韑ibsox可能有效。還有其他嗎?libsox可以提供的和我需要的是將傳入的音頻流分成幾個頻段。如果我只能讀一次文件就可以這樣做,那么加分!我不確定libsox是否可以做到這一點。
查看完整描述

3 回答

?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

如果要使用C ++庫,則可以嘗試SWIG,但必須將其從Subversion中刪除。下一個版本(2.0.1)將是第一個支持Go的版本。以我的經驗,Go的支持仍然有些粗糙,但是我嘗試包裝的庫又是一個龐然大物。

或者,您仍然可以使用SWIG所使用的相同方法通過cgo創建自己的綁定,但這將是痛苦而又乏味的?;舅枷胧?,您首先創建一個C包裝器,然后讓cgo在您的C包裝器周圍創建一個Go包裝器。

不過,我對信號處理或libsox一無所知。對不起。


查看完整回答
反對 回復 2021-04-26
?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

有一個名為ZikiChombo的相對較新的項目,到目前為止 ,該項目包含一些針對音頻的基本DSP功能,請參見此處

該項目的dsp部分在其路線圖上有過濾器,但尚不存在。另一方面,這里有一些用于實現過濾器的基礎結構,例如實際的fft和塊卷積。這意味著,如果需要FIR,并且可以通過其他某種方式計算系數,則可以通過當前在zc中與聲音實時卷積來運行它們。

基本的濾波設計支持(FIR,Biquad),例如將理想濾波器用作起點,將是zc的下一步。有許多小型的自包含開放源代碼項目,用于基本的和更高級的FIR和IIR濾波器設計,最著名的是愛荷華州Hills,它比大型項目在Go之外計算濾波器系數的訪問性更高。

更高級的濾波(例如Butterworth)以及基于多項式求解和雙線性變換的濾波將花費更多時間用于zc。

還有一些軟件定義的Golang廣播項目,其中包含與過濾有關的一些代碼,抱歉,沒有可用的鏈接,但是對主題的搜索可能會將您引向他們。

最后,還有一個gonum Fourier軟件包,該軟件包也提供了fft。

因此,Go在此領域中正在增長一些有趣且潛在的東西,但是與較舊的項目(這些項目大多是C / C ++,或者例如通過numpy的Python包裝器)相比,還有很多路要走。


查看完整回答
反對 回復 2021-04-26
  • 3 回答
  • 0 關注
  • 256 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號