各位高手 熟悉编解码的朋友帮帮忙啊

fcl_2010 2009-12-27 07:05:57
音频文件解析 就是提取文件每句话的停顿时间点
知道的朋友加我QQ504036571 不知道的顶一下
谢谢各位大哥! 急用!!!
...全文
218 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yirentao 2009-12-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 caostorm 的回复:]
不属于解码,属于音频数据分析了...
[/Quote]

原理我知道 有没有源码啊大哥?
发我邮箱 fcl_2005@163.com
烟雨鹏城 2009-12-28
  • 打赏
  • 举报
回复
c++啊,没用过
dongjiawei316 2009-12-28
  • 打赏
  • 举报
回复
统计声音的能量就好了,设一个阈值,小于阈值的就认为无声,是断点了
满衣兄 2009-12-28
  • 打赏
  • 举报
回复
#include <math.h>


typedef signed short sshort;
typedef unsigned short ushort;
ushort CalcVolume(sshort* samples, unsigned long sampleCount)
{
uint accum = 0;
for (unsigned long i = 0; i < sampleCount; i++)
{
if (samples[i] >= 0)
accum += samples[i];
else
accum += -samples[i];
}
float average = accum / (float)sampleCount;
sint volume = average;
return (ushort)volume;
}
int OnGetVolume(ushort volume)
{
const static double p = 2.0;
const static double p32 = pow(1 / 32.0, 1 / p);

double root = 31.0 / (32*32767) * volume + 1.0 / 32;
double rooted = pow(root, 1 / p);
rooted -= p32;
rooted *= 32767;
rooted /= 1 - p32;
volume = (ushort)rooted;
volume = volume > 16383 ? 16383 : volume;
return volume;//计算得到声音的能量
}
void main()
{
//......
while(not file eof)//假设一次读160字节
//读文件
//......
sshort volume = CalcVolume(pInput, frameCount);
volume = OnGetVolume(volume);
//...
}
满衣兄 2009-12-28
  • 打赏
  • 举报
回复
不太明白你说的停顿时间点是什么,你想计算声音能量?
gernal_dn 2009-12-28
  • 打赏
  • 举报
回复
去背景噪声,作傅立叶变换,分析停断点,预先多采集几个样本做预处理,统计停断点的时间量,以此设定一个阈值。
caostorm 2009-12-27
  • 打赏
  • 举报
回复
不属于解码,属于音频数据分析了...
fcl_2010 2009-12-27
  • 打赏
  • 举报
回复
WAV格式
macrojj 2009-12-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 fcl_2010 的回复:]
音频文件解析  就是提取文件每句话的停顿时间点
知道的朋友加我QQ504036571  不知道的顶一下
谢谢各位大哥! 急用!!!

[/Quote]
每句话停顿。。。

是每帧吗
什么格式的
z569362161 2009-12-27
  • 打赏
  • 举报
回复
我来了
mengde007 2009-12-27
  • 打赏
  • 举报
回复
我有个朋友最熟悉解码;呆会上线了,我让他帮你;
「已注销」 2009-12-27
  • 打赏
  • 举报
回复
DirectShow是个思路。

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧