由崎星空 发表于 2023-1-6 11:15:07

ST开源了各类音频算法

最近无意间浏览ST的github,发现之前关注的 fp-aud-smartmic1 应用例程升级了2.4.0版本,并且开源了所有音频算法库。

具体有:波束形成,AEC(回声消除),声源定位,分贝转换。
看来这厂家卷起来,什么都敢放啊,看这个开源库的License应该是ST花钱找其他公司 写的代码,这分享出来不得大价钱。

仔细看了一下,主要还是为了适配他们的板子,不过应该自己打的板子也可以用,这些算法都是以 1ms帧来处理的,使用起来应该还不错,延迟会很低。



https://github.com/STMicroelectronics/fp-aud-smartmic1




usopp 发表于 2023-1-6 11:26:55

可以看看,我一直想移植滴滴的那套算法,然后移植进去。
不过硬汉的板子还没买呢,年底有空买一个板子玩玩

eric2013 发表于 2023-1-6 12:11:24

楼主方便的话,看下跟这个有什么区别

https://www.st.com/en/embedded-software/x-cube-audio.html
https://www.st.com/en/embedded-software/fp-aud-smartmic1.html

由崎星空 发表于 2023-1-6 12:37:26

eric2013 发表于 2023-1-6 12:11
楼主方便的话,看下跟这个有什么区别

https://www.st.com/en/embedded-software/x-cube-audio.html


哥,

这个 https://www.st.com/en/embedded-software/fp-aud-smartmic1.html 跟我发的那个是一个应用只不过我发的是github链接,主要是应用一些算法声音相关的算法,还是为了推广它的 MEMS (数字麦克风)。

x-cube-audio 这个主要是做一些音频处理,比如时钟漂移补偿,采样率转换之类的。

他们都是音频处理算法,2个应用不同,但是它里面的库都可以用在实际开发场景,比如要开发 回声消除就用FP-AUD-SMARTMIC1里面的AEC算法。如果要做采样率转换,或者 声音大小转换,就可以用 x-cube-audio 里面的库。

由崎星空 发表于 2023-1-6 12:37:51

usopp 发表于 2023-1-6 11:26
可以看看,我一直想移植滴滴的那套算法,然后移植进去。
不过硬汉的板子还没买呢,年底有空买一个板子玩玩

滴滴 哪套算法?

eric2013 发表于 2023-1-6 12:39:00

由崎星空 发表于 2023-1-6 12:37
哥,

这个 https://www.st.com/en/embedded-software/fp-aud-smartmic1.html 跟我发的那个是一个应用 ...

非常感谢分享,我得赶紧下载收藏下源码。

eric2013 发表于 2023-1-6 13:18:58

https://www.armbbs.cn/static/image/filetype/zip.giffp-aud-smartmic1-main.zip (69.65MB)

j23456 发表于 2023-1-6 13:26:06

下载看了 还是 没有把PDM编码 转PCM编码开源; 用的是libPDMFilter_CM4_Keil_wc16.lib.

由崎星空 发表于 2023-1-6 13:36:43

本帖最后由 由崎星空 于 2023-1-6 13:54 编辑

j23456 发表于 2023-1-6 13:26
下载看了 还是 没有把PDM编码 转PCM编码开源; 用的是libPDMFilter_CM4_Keil_wc16.lib.
没关系的,只要用I2S把数据以1MS帧送到 处理算法里面 就可以了,不用PDM都可以的

由崎星空 发表于 2023-1-6 13:54:39

eric2013 发表于 2023-1-6 13:18
fp-aud-smartmic1-main.zip (69.65MB)

它这个只把 fp-aud-smartmic1 里面的开源了,但是我估计 x-cube-audio 库开源也不久了,

之前 AEC算法一直用的 Speex和WebRTC的 ,Speex的如果在F7跑还是很快的,但是在F4上面还是有点费力。不过用esp32跑还是很快的 :lol。
Speex的 AEC 就是在双讲的情况下效果好些,WebRTC双讲会丢字,但是Speex双讲会有尾音,要做一些处理,不知道ST开源的这个有没有处理这个。

像x-cube-audio 的时钟偏移和采样率转换,就特别吸引人,因为音频通信,I2S时钟或者PDM时钟或者USB时钟总是会存在不同步的现象,就会导致,发送端数据比接收端不同,如果有采样率转换,或者 时钟偏移补偿 就可以完美解决这个问题,(现在用的Speex的重采样,或者使用插帧丢帧的方式,效果也可以),不过还是期待有更好的解决方式。希望能早点开源 x-cube-audio里面的库:lol

usopp 发表于 2023-1-11 13:42:46

由崎星空 发表于 2023-1-6 12:37
滴滴 哪套算法?

athena-signal

j23456 发表于 2023-1-11 18:21:02

这个算法能用于波束成形的mdvr算法吗?

musich 发表于 2023-3-3 12:36:00

这个不错,想找个 音频啸叫抑制 的算法,不知哪里有.

131202110 发表于 2023-9-14 09:30:26

去底噪用那个算法好?:lol
https://www.armbbs.cn/forum.php?mod=viewthread&tid=121010

由崎星空 发表于 2023-10-15 20:57:31

131202110 发表于 2023-9-14 09:30
去底噪用那个算法好?
https://www.armbbs.cn/forum.php?mod=viewthread&tid=121010

去底噪用MELPe算法最好,之前用 在隧道里面,很不错,可以降6~10个dB

ccc228 发表于 2023-10-17 11:54:36

收藏,感谢
页: [1]
查看完整版本: ST开源了各类音频算法