标签:
python魔兽世界系统设计与实现钓鱼 |
分类: 编程实战 |
上一篇介绍了系统调用录音的过程,这一部分介绍后续部分,也是难点所在。
声音事件的描述
这一部分对我来说太难了!虽然知道声音事件的识别可以用机器学习的方法来做,但是首先把我难倒的就是声音在计算机中的表示是什么,怎样对它们抽取特征?如果想用分类的方法来做的话,训练集又如何得到?想想这些直接头大了。幸运的是在Google Scholar上面经过几次关键字改进得到了两篇文章,看完这两篇文章,虽然我不一点都不懂他们方法的具体实现,但是我竟然有思路了!这两篇文章一个是做音频分割与分类[1],第二作者就是多媒体检索的创始人张宏江,是他2002年在微亚时候的工作;另一篇是做音乐描述子[2]的,第二作者是Sony的,用过Sony或者更早的Sony Ericsson的应该都知道Track ID这个软件,听到好听但是不知道歌名的歌是可以用这个软件搜出来的!
两篇文章中所提到的描述特征很多,有很多与我想做的也息息相关,但是基本上都没看到具体怎么做,只是知道概念以及作用。这里只说一个我觉得比较好的特征Zero Cross Rate:
标签:
魔兽世界系统设计与实现python |
分类: 编程实战 |
前面已经提到过在鱼漂下沉,也就是鱼上钩,这一事件发生的时间点用图像识别比较耗费资源,进而想用在钓鱼时上鱼上钩时会有声音这一点来获取事件发生的时间点(其实是图像识别我也不会,借口而已)。简单说来就是在系统输出的音频流中识别鱼上钩的声音事件发生的时间点。这一时间点就是是下一步提杆操作的基础。首先列出所要解决的所有问题:
获取系统音频流输出
录制系统音频输出方法很简单,我开始想通过选择录音设备(立体声混音),这样就可以不干扰麦克风录音的功能。最终还是放弃了,直接将“立体声混音”这个设备设为默认录音设备,这样随便用一个录音软件都可以录下系统的声音输出了。联想到win7、win8还可以调节单个应用程序的输出,我最开始的最高计划是选择某一应用程序
标签:
pythonmatplotlib下降法杂谈 |
分类: 编程实战 |