![]() |
1
2
如果你想使用C++库,你可以试试SWIG,但是你必须把它从颠覆中解脱出来。下一个版本(2.0.1)将是支持Go的第一个发布版本。根据我的经验,Go支持仍然有点粗糙,但我试图包装的库又是一个怪物。 或者,您仍然可以使用与swig相同的方法通过CGO创建自己的绑定,但这将是痛苦和乏味的。基本思想是,首先创建一个C包装器,然后让CGO围绕C包装器创建一个Go包装器。 不过,我对信号处理或libsox一无所知。对不起的。 |
![]() |
2
1
有一个相对新的项目叫做 ZikiChombo 它包含了目前为止一些面向音频的基本DSP功能,请参见 here 该项目的DSP部分在其路线图上有过滤器,但它们还没有出现。另一方面,实现过滤器的一些基础设施,例如真正的FFT和块卷积。也就是说,如果您想要FIR,并且可以通过其他方法计算系数,那么您可以在ZC中通过卷积来运行这些系数,目前声音是实时的。 基本的过滤设计支持(FIR,BiQuad),例如使用理想的过滤器作为起点,将是ZC的下一步。有许多小型的独立的开源项目,用于基本和更高级的FIR和IIR滤波器设计,最显著的是 Iowa Hills 这可能比大型项目更容易访问,以便在Go之外计算过滤系数。 巴特沃斯滤波和基于多项式求解和双线性变换的滤波器等更先进的滤波方法,对ZC来说需要更多的时间。 还有一些软件定义的无线电Golang项目,其中包含一些与过滤相关的代码,很抱歉没有现成的链接,但是搜索主题可能会引导您找到它们。 最后,还有一个问题 Fourier package 它还提供快速傅立叶变换。 所以GO在这个领域中增长了一些有趣的和潜在的东西,但与旧的项目(主要是C/C++,或者用Python包装通过NUMPY)相比,仍然有相当多的方法要去。 |
![]() |
3
0
我用这个纯的Golang repo来进行傅立叶变换,效果很好 https://github.com/mjibson/go-dsp 只需为快速电话提供一个
|
![]() |
ginad · 如何在go-app组件中执行javascript代码 3 月前 |
![]() |
Jason Fingar · 方法在另一个方法的上下文中不可访问 4 月前 |
![]() |
Jess The Witch · GCP云功能中处理延迟任务的模式 5 月前 |
![]() |
pmoubed · 这是使用计时器的goroutine泄漏吗? 5 月前 |