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

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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版