你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32f4 怎么用SPEEX进行编码

[复制链接]
qq327804286 提问时间:2017-12-21 08:56 /
悬赏2ST金币已解决
我想用SPEEX进行语音编码 可是一直进入的是内存错误中断是怎么回事?
void MemManage_Handler(void)
{
  /* USER CODE BEGIN MemoryManagement_IRQn 0 */
  /* USER CODE END MemoryManagement_IRQn 0 */
  while (1)
  {
  }
  /* USER CODE BEGIN MemoryManagement_IRQn 1 */
  /* USER CODE END MemoryManagement_IRQn 1 */
}

通过仿真发现每次执行到int nb_encode(void *state, void *vin, SpeexBits *bits)这个函数里的
  /* LSP Quantization */
   if (st->first)
   {
      for (i=0;i<st->lpcSize;i++)
         st->old_lsp[i] = lsp[i];
   }

就会跳到内存错误中断,有没有大神给讲解一下该怎么整

最佳答案

查看完整内容

建议先明白它的使用方式,再看程序,这样会更容易明白。 这是speex库音频降噪官网对它的类的说明: http://www.speex.org/docs/api/speex-api-reference/annotated.html 这是网友的使用经验: http://www.cnblogs.com/riddick/p/6959390.html
收藏 评论5 发布时间:2017-12-21 08:56

举报

5个回答
无薪税绵 回答时间:2017-12-21 08:56:36
建议先明白它的使用方式,再看程序,这样会更容易明白。

这是speex库音频降噪官网对它的类的说明:
http://www.speex.org/docs/api/speex-api-reference/annotated.html

这是网友的使用经验:
http://www.cnblogs.com/riddick/p/6959390.html

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

疯de_恒 回答时间:2017-12-21 10:47:56
st这个指针是哪里的?初始化了么?

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

qq327804286 回答时间:2017-12-21 11:12:49
す疯Ⅱ恒す 发表于 2017-12-21 10:47
st这个指针是哪里的?初始化了么?

nb_encode(void *state, void *vin, SpeexBits *bits)这个函数的一开头就定义了
EncState *st;
至于EncState
typedef struct EncState
是代表窄带编码器全部状态的结构
这都是库里的函数也不知道怎么改。。。之前没有修改堆的大小显示进入的是硬件异常中断,改了堆的大小后进入的就是内存异常中断了。。。
我用的库是http://www.openedv.com/forum.php ... amp;highlight=speex这里面下载的,,,

qq327804286 回答时间:2017-12-21 11:20:24
す疯Ⅱ恒す 发表于 2017-12-21 10:47
st这个指针是哪里的?初始化了么?

int nb_encode(void *state, void *vin, SpeexBits *bits)
{
   EncState *st;
这个指针是开头就定义好的,,
EncState 是.h文件里定义的
typedef struct EncState
他代表窄带编码器全部状态的结构
这是我下载的库
http://www.openedv.com/forum.php ... amp;highlight=speex
基本不知道要改什么。。。。。
之前没有修改堆的大小显示进入的都是硬件错误中断,修改了堆的大小后进入的就是内存错误中断了。。
qq327804286 回答时间:2017-12-21 14:38:22
本帖最后由 qq327804286 于 2017-12-21 14:41 编辑

这个指针
int nb_encode(void *state, void *vin, SpeexBits *bits)
{
   EncState *st;
在函数的一开始就定义了,,EncState 至于这个是
typedef struct EncState
我一开始没有修改堆的大小显示进入的是硬件错误中断,当我把堆大小改变后进入的就是内存错误中断了。。。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版