Shvoong首页 > 报纸 > 中国 > 想到要写一段切割长音频的代码

.

想到要写一段切割长音频的代码

Review by : beta41
浏览次数 : 200  词语: 900   出版日期: 二月 03, 2007
近一段家里的老人们有不少都罹重病在床,似乎一下子出了很多事,身在他乡,心系万里,更多祝愿 大家平安是福!老人们在病床上,不能看电视、读报,于是妈妈就想到给他们听MP3的有声读物 。遗憾的是许多有声小说文件都太长,一下两百、三百分钟的,而播放器不是没有书签功能,就是 对长文件书签支持不佳,一时无措。后来想到用切割软件把文件n等分,来减少每段文件的大小, 不过问题又来了,由于切割点是随机的,切割出来的文件经常在不该停的地方嘎然而止,前后之间 损失内容不说,那突然刹车时产生的嚣叫对老人身体伤害极大。我想学过数字信号处理的人都知道 ,从高电平突然截止会引入高频成分,产生嚣叫的。查了一下网上没有简单的小程序实现这个功能 ,所以想到写一段代码,不过最近忙于开学要应付的论文也没有时间,只好先把想法写在这里,看看是否有有心人有同样要求帮忙写了,否则只好过一段有空时去试试了。步骤很简单,也不写什么psuedocode了。1.寻找MP3和WMA头文件结构的描述文件,这个网上到处都是;2.用VC++ 之类的编程工具“文件”类操作某个选择的MP3或WMA文件,取得文件句柄,取得文件名,存 入变量;3.取得文件长度,把文件长度n等分点找出来;4.对文件进行解码,推断出n等分点 前后一定长度(自定一个阙值)中连续一段声音低电平的点,并在该点完成切割。这是核心步骤, 因为多数音频压缩都是利用类似霍夫曼这样的编码方式对声波文件wav进行有损压缩编码,解码 后输出的文件就是wave文件。wave文件事实上是经过归一化的一串时序电平值,通过判定 一个阙值(可以编程分析文件判定,也可以人工给定),就可以判断在等分点前后会有一段持续低 电平的点(如电平值低于0.10认为是低电平)。比如这一段没有人说话或没有音乐,或声音很 低,这样的切割可基本避免内容损失和嚣叫。我在听书网上看到很多人都在寻找长音频切割的好软 件,看来还是普遍需要的。5.每完成一次切割,都在文件名字符串后面加上一个"_n",让文 件a输出成为a_1,a_2,a_3...还是那句话,平安是福啊!愿大家新年第一是身体健康,然后再谈其他啦。

More reviews about the 想到要写一段切割长音频的代码
请给本文打分 : 1 2 3 4 5


评论

Read Free Summaries - Write and Get Paid

Summarize Human Knowledge on Shvoong. Join us!

------