[原创]使用Adobe Audition进行内录

文章来源:http://www.codelast.com/

[转载请注明出处,保持文章的完整性]

如果要提取一些视频中的声音,内录无疑是最好的方法。Adobe Audition(简称Au,也就是原来的Cool Edit)是最最强大的音频编辑工具之一。我用了一段时间,只是为了对音频进行一些基本的效果处理,如修剪、添加效果等,发现它还是比较容易上手的,而且功能超强自然是不用说的,今天想提取一段RMVB视频中的一段音频,第一个想到的就是用AU进行内录,琢磨了一下就弄出来了,在此写下来,为那些困惑的朋友帮个小忙吧:

首先你需要将一条音频设定为录音轨:

阅读更多

不要指望用同步方式同时收、发串口数据

文章来源:http://www.codelast.com/

 

很久以前记下的一条血的教训,当时折腾了很长时间,才从书上看到这个结论。串口通信时,如果你希望数据到达能监听到,那你可能会为了简单,而使用同步方式来实现数据的收发,用SetCommEvent来设置数据到达事件提醒,在监听线程中使用WaitCommEvent来等待数据的到达,数据一直没来,这时你又想要发送数据,于是用WriteFile来写,但此时你会发现,程序会锁死,为什么?如何解决?

阅读更多

[原创]关于PDU模式接收短信,千万可别被误导(2)

文章来源:http://www.codelast.com/

 

发送短信的时候,我们是确切地知道何时发送的;而接收数据的时候, 我们则不知道何时数据会到来,因此,在短信到达时,我们需要一种方式来获知它的到来并将其读出来。有两种方式:一是查询,二是触发事件。前一种方式我们不会用的,后一种方式是上选。我们可以预先对GSM模块设置一些参数,那么当它收到短信的时候,就会自动将数据送到串口上,我们就可以接着控制我们的程序去读取它了。

阅读更多

利用串口调试工具来调试GSM/GPRS模块时,几个注意事项

文章来源:http://www.codelast.com/

 

推荐“串口调试助手” ,调试起来非常方便。

(1)关于波特率:对有些模块,用超级终端进行配置的时候,波特率是要设置为57600的,而用串口调试工具进行调试的时候,波特率应设置为你的系统中用到的实际通信速率(例如我用的是9600),这两个波特率的概念是不一样的,前者只是用超级终端配置时的波特率。

阅读更多

[原创]关于PDU模式发送短信,千万可别被误导(1)

文章来源:http://www.codelast.com/

 

最近在做GSM短信发送模块的软件,走了不少弯路,准备分几次一点点地写出来,仅供参考。

曾被网上的一些文章所误导,尤其是几篇非常流行点击率相当高的文章,可怜的我原来并不了解相关技术,后来才发现自己用GSM模块很多东西都与文中说的不一样,因此走了不少弯路,真是郁闷死。

关于PDU模式发送短信:

阅读更多

CTrueColorToolBar还真好用

如果你用VC的工具栏编辑器来制作工具栏图标,那么得到的效果真让人心寒,只支持256色,程序看上去相当丑陋,但是CTrueColorToolBar这个类为我们提供了非常、非常方便的使用真彩色工具条的接口,详见:http://www.codeproject.com/docking/truecolortoolbar.asp

具体就不多说了,今天一试,方知就两个字:好用!绝对值得大家应用在自己的软件中!

虚拟串口(非常、非常初级的文章)

文章来源:http://www.codelast.com/

 

最近又开始做串口通信相关的东西了, 由于我所使用的电脑上并没有物理串口,但是要测试自己写的东西能否正常工作必须要有串口,于是虚拟串口的软件便再次派上了用场,简而言之就是在你的系统中虚拟出若干个串口,并且你可以把它们虚拟地“连接”起来,就像你在现实中将你的电脑的物理串口与另一台电脑的物理串口连接起来一样,只不过你可以方便地在本机上查看发送和接收的数据了。

阅读更多

很好用的属性页控件——CTreePropSheet

原文在此:http://www.codeproject.com/property/treepropsheet.asp

文章写得非常明了。

属性页多用于软件的设置对话框,但是传统的tab式属性页越来越不受欢迎,许多软件纷纷转向竖排型的属性页,所以有这么好的开源控件可以用,我们为何不用呢?

还有一个增强版的:http://www.codeproject.com/property/TreePropSheetEx.asp 这是对上面那个控件的修改,增加了一些功能。

[原创]LM(Levenberg-Marquard)算法的实现

转载请注明出处:http://www.codelast.com/
 

LM算法,全称为Levenberg-Marquard算法,它可用于解决非线性最小二乘问题,多用于曲线拟合等场合。

LM算法的实现并不算难,它的关键是用模型函数 f 对待估参数向量 p 在其邻域内做线性近似,忽略掉二阶以上的导数项,从而转化为线性最小二乘问题,它具有收敛速度快等优点。LM算法属于一种“信赖域法”——所谓的信赖域法,此处稍微解释一下:在最优化算法中,都是要求一个函数的极小值,每一步迭代中,都要求目标函数值是下降的,而信赖域法,顾名思义,就是从初始点开始,先假设一个可以信赖的最大位移 s ,然后在以当前点为中心,以 s 为半径的区域内,通过寻找目标函数的一个近似函数(二次的)的最优点,来求解得到真正的位移。在得到了位移之后,再计算目标函数值,如果其使目标函数值的下降满足了一定条件,那么就说明这个位移是可靠的,则继续按此规则迭代计算下去;如果其不能使目标函数值的下降满足一定的条件,则应减小信赖域的范围,再重新求解。

事实上,你从所有可以找到的资料里看到的LM算法的说明,都可以找到类似于“如果目标函数值增大,则调整某系数再继续求解;如果目标函数值减小,则调整某系数再继续求解”的迭代过程,这种过程与上面所说的信赖域法是非常相似的,所以说LM算法是一种信赖域法。

 

阅读更多