OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 28879|回复: 31

关于Speex/OPUS和 Codec2开源声码器在STM32上移植

[复制链接]

27

主题

143

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1237
金钱
1237
注册时间
2016-1-23
在线时间
486 小时
发表于 2016-1-29 22:29:04 | 显示全部楼层 |阅读模式
本帖最后由 STM129 于 2016-1-30 22:55 编辑

    关于Speex/OPUS和 Codec2开源声码器在STM32上的移植,Speex有现成的了,Speex算是OPUS的子集吧。
在网上看到老外移植 Codec2 到STM32F405/407上,演示一个工作在146Mhz频段的数字电台,音质效果在1200bit/S和短波单边带的差不多,于是下载了程序,程序是GCC下的,于是试想在MDK上试试,发现一些头文件找不到
           网址:http://www.rowetel.com/blog/?page_id=452
Codec2简介:
           Codec2是一个开源的语音编解码器设计的通信质量的语音700和3200比特/秒的应用主要是低带宽的高频/甚高频无线电数字之间。它填补了开放源代码的一个缺口,免费语音语音编解码器在5000比特/秒,根据GNU通用公共许可证发布(LGPL)。
       codec2采用谐波正弦语音编码”。


源码codec2-0.5.tar.rar

8.32 MB, 下载次数: 13329

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

27

主题

143

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1237
金钱
1237
注册时间
2016-1-23
在线时间
486 小时
 楼主| 发表于 2016-1-29 22:54:12 | 显示全部楼层
上传一个STM32演示Spees

Speex在STM32F1xx上进行Vocoder演示Lib_V3.5.0.rar

747.47 KB, 下载次数: 1689

回复 支持 反对

使用道具 举报

27

主题

143

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1237
金钱
1237
注册时间
2016-1-23
在线时间
486 小时
 楼主| 发表于 2016-2-5 18:18:04 | 显示全部楼层
这下掉沟里了
捕获.JPG
捕获2.JPG
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2016-2-12
在线时间
1 小时
发表于 2016-2-12 20:51:34 | 显示全部楼层
本帖最后由 Mr.Trojan 于 2016-2-12 21:11 编辑

我打算做个数字对讲机玩==
请问楼主,opus往stm32f103上移植有现成的代码吗?那个speex在stm32上的移植,貌似是很早以前的了,官方已经放弃了支持==不知现在兼容性什么的还好吗?
回复 支持 反对

使用道具 举报

27

主题

143

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1237
金钱
1237
注册时间
2016-1-23
在线时间
486 小时
 楼主| 发表于 2016-2-12 22:18:56 | 显示全部楼层
本帖最后由 STM129 于 2016-2-12 22:26 编辑

SPEEX里的
/* Record voice   ------------------------------------------------------------*/
  if(MenuPos == 3)
  {
******
********
FLASH_ProgramHalfWord(Flash_Address, (out_bytes|out_bytes[i+1]<<8));//是存储到STM32 FLASH里去的
***********
***********
/* Read 20 data from the flash memory */
        for(i=0;i<ENCODED_FRAME_SIZE; i++)
        {
          input_bytes = *pFlash++;
        }
这是读STM32 Flash 里的数据


speex对讲机网上有现成的了,STM32F103R+Nrf24l01

捕获5.JPG
回复 支持 反对

使用道具 举报

27

主题

143

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1237
金钱
1237
注册时间
2016-1-23
在线时间
486 小时
 楼主| 发表于 2016-2-12 22:55:36 | 显示全部楼层

OPUS 包,里面有VS2010的工程

opus-1.1.1.tar.gz

935.5 KB, 下载次数: 1118

回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2016-2-13 08:57:30 | 显示全部楼层
不错啊,谢谢分享
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2016-2-27
在线时间
0 小时
发表于 2016-2-27 23:12:49 | 显示全部楼层
这个案例还是不错,但是制作了语音的编解码;更注点点的回声消除没有;这也是我一直要解决的问题;
希望有朋友玩过的,相互学习;
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2016-7-6
在线时间
2 小时
发表于 2016-7-6 16:18:15 | 显示全部楼层
谢谢楼主分享!
压缩采样率16K的wideband的音频时,初始化使用speex_wb_mode,但是压缩时死机了,求解决方法啊
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2016-7-6
在线时间
2 小时
发表于 2016-7-7 10:47:02 | 显示全部楼层
今天发现如下代码,是初始化的时候传入的speex_wb_mode中的某个成员,是不是说STM32上压缩16K语音只能用quality=3呢??

/* Default mode for narrowband */
static const SpeexNBMode nb_mode = {
   160,    /*frameSize*/
   40,     /*subframeSize*/
   10,     /*lpcSize*/
   17,     /*pitchStart*/
   144,    /*pitchEnd*/
#ifdef FIXED_POINT
   29491, 19661, /* gamma1, gamma2 */
#else
   0.9, 0.6, /* gamma1, gamma2 */
#endif
   QCONST16(.0002,15), /*lpc_floor*/
   {NULL, NULL, NULL, &nb_submode3, NULL, NULL, NULL, NULL,
   NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL},
   5,
   {1, 8, 2, 3, 3, 4, 4, 5, 5, 6, 7}
};
回复 支持 反对

使用道具 举报

36

主题

256

帖子

0

精华

高级会员

Rank: 4

积分
921
金钱
921
注册时间
2016-4-20
在线时间
169 小时
发表于 2016-7-7 14:42:40 | 显示全部楼层
Rhino007 发表于 2016-2-27 23:12
这个案例还是不错,但是制作了语音的编解码;更注点点的回声消除没有;这也是我一直要解决的问题;
希望有 ...

很可惜今天才看到这个帖子啊,我们公司也是专注于回波消除的,只是很奇怪目前一些厂家比如jbr怎么做到回波消除和vad、动态消噪的。而且他们用的dsp也不是特别快。我用dsp(c6748)计算单工下的回波消除已经很吃力了。
回复 支持 反对

使用道具 举报

2

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2016-3-20
在线时间
12 小时
发表于 2016-11-16 20:51:45 | 显示全部楼层
楼主你好,最近有在做数字对讲机的项目,移植了speex感觉音质不是很清楚,想问下codec2的效果如何,以及那个老外的gcc项目地址能提供一下吗
回复 支持 反对

使用道具 举报

27

主题

143

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1237
金钱
1237
注册时间
2016-1-23
在线时间
486 小时
 楼主| 发表于 2016-11-17 19:05:40 | 显示全部楼层
回复 支持 反对

使用道具 举报

2

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2015-5-17
在线时间
17 小时
发表于 2016-12-26 09:34:22 | 显示全部楼层
STM129 发表于 2016-11-17 19:05
http://www.rowetel.com/

你有移植到KEIL中成功吗?
回复 支持 反对

使用道具 举报

27

主题

143

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1237
金钱
1237
注册时间
2016-1-23
在线时间
486 小时
 楼主| 发表于 2016-12-26 23:02:25 | 显示全部楼层
pcb_diy 发表于 2016-12-26 09:34
你有移植到KEIL中成功吗?

我也没有移植成功,里面的文件有点乱。那时只是一时兴起,就把老外的工程文件转存到这里了,望有兴趣的大神把工程理通了也贴出来分享下
回复 支持 反对

使用道具 举报

27

主题

143

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1237
金钱
1237
注册时间
2016-1-23
在线时间
486 小时
 楼主| 发表于 2017-4-11 23:21:04 | 显示全部楼层
新版程序和电路图

codec2-0.6.tar

18.5 MB, 下载次数: 2396

SCH-SM1000-F.pdf

88.21 KB, 下载次数: 759

回复 支持 反对

使用道具 举报

4

主题

49

帖子

0

精华

高级会员

Rank: 4

积分
622
金钱
622
注册时间
2016-5-11
在线时间
40 小时
发表于 2017-4-27 16:01:46 | 显示全部楼层
这个是好东西...
回复 支持 反对

使用道具 举报

2

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2015-5-17
在线时间
17 小时
发表于 2017-8-8 16:15:46 | 显示全部楼层
STM129 发表于 2017-4-11 23:21
新版程序和电路图

移植不了到KEIL中,MAKEFILE也没有学会。郁闷啊。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2017-10-4
在线时间
1 小时
发表于 2017-10-4 10:23:04 | 显示全部楼层
pcb_diy 发表于 2017-8-8 16:15
移植不了到KEIL中,MAKEFILE也没有学会。郁闷啊。

我也是一样郁闷啊
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-1-17
在线时间
1 小时
发表于 2018-4-2 23:04:05 | 显示全部楼层
求问这个该怎么移植啊,src中的那些文件哪些是codec2编解码所必需的啊,导师要求让我们移植啊
回复 支持 反对

使用道具 举报

27

主题

143

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1237
金钱
1237
注册时间
2016-1-23
在线时间
486 小时
 楼主| 发表于 2018-4-2 23:37:45 | 显示全部楼层
第七子123 发表于 2018-4-2 23:04
求问这个该怎么移植啊,src中的那些文件哪些是codec2编解码所必需的啊,导师要求让我们移植啊

让导师移植去吧!我转存到这里到现在就没有移植成功的!我们还停留在Keil uVision
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-1-17
在线时间
1 小时
发表于 2018-4-3 23:26:14 | 显示全部楼层
STM129 发表于 2018-4-2 23:37
让导师移植去吧!我转存到这里到现在就没有移植成功的!我们还停留在Keil uVision

我再努力看看
回复 支持 反对

使用道具 举报

2

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2015-5-17
在线时间
17 小时
发表于 2018-8-9 18:23:40 | 显示全部楼层

成功了通知一下啊。我用GCC编译也出错了。
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2018-9-21
在线时间
2 小时
发表于 2018-9-24 09:12:45 | 显示全部楼层
语音压缩模块

语音压缩模块、北斗卫星通信语音模块.pdf

449.94 KB, 下载次数: 243

回复 支持 反对

使用道具 举报

1

主题

231

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2871
金钱
2871
注册时间
2018-1-24
在线时间
258 小时
发表于 2019-12-2 15:45:59 | 显示全部楼层
顶起,有最新进展吗?
回复 支持 反对

使用道具 举报

0

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
168
金钱
168
注册时间
2017-2-23
在线时间
50 小时
发表于 2020-2-13 17:21:31 | 显示全部楼层
本帖最后由 hsdzhlt 于 2020-2-13 17:29 编辑

这是从st。com下载了opus在stm32w55芯片上的移植代码,有需要可以下载看看

stm32-opus.part01.rar

20 MB, 下载次数: 680

stm32-opus.part02.rar

20 MB, 下载次数: 801

stm32-opus.part03.rar

20 MB, 下载次数: 641

stm32-opus.part04.rar

20 MB, 下载次数: 823

stm32-opus.part05.rar

1.66 MB, 下载次数: 256

回复 支持 反对

使用道具 举报

27

主题

143

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1237
金钱
1237
注册时间
2016-1-23
在线时间
486 小时
 楼主| 发表于 2020-5-17 20:37:08 | 显示全部楼层
hsdzhlt 发表于 2020-2-13 17:21
这是从st。com下载了opus在stm32w55芯片上的移植代码,有需要可以下载看看

谢谢分享
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2021-10-10
在线时间
0 小时
发表于 2021-10-10 17:39:34 | 显示全部楼层
hsdzhlt 发表于 2020-2-13 17:21
这是从st。com下载了opus在stm32w55芯片上的移植代码,有需要可以下载看看

试着移植OPUS到STM32F4,一直未能实现,在这里学习一下
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2019-5-10
在线时间
8 小时
发表于 2022-8-9 17:40:42 | 显示全部楼层
hsdzhlt 发表于 2020-2-13 17:21
这是从st。com下载了opus在stm32w55芯片上的移植代码,有需要可以下载看看

我在STM32上移植了opus,没有采用浮点数,发现opus很占内存啊,RAM差不多要搞到40KB,有没有占用内存较少的语音压缩算法啊
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2019-5-10
在线时间
8 小时
发表于 2022-8-9 17:42:16 | 显示全部楼层
请问一下codec2和speex 大概需要占用多大的内存啊,有么有占用内存较少的的语音压缩算法啊
回复 支持 反对

使用道具 举报

0

主题

84

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1360
金钱
1360
注册时间
2021-2-25
在线时间
100 小时
发表于 2022-8-10 16:41:18 | 显示全部楼层
学习学习一下
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2024-8-7
在线时间
1 小时
发表于 2024-8-21 18:02:58 | 显示全部楼层
现在还在进展吗 大佬们 最近想试试STM32 解码 OPUS
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 06:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表