2015年终总结

职场

离开北京回西安,求职四处碰壁,最终入职润基,从事机器人开发,工资经常拖欠

1月9号从文思海辉离职,原因一部分是老婆想回西安住我们自己的房子,而不是租房子住;一部分是父亲肺结核很严重我想离他们近一些;还有一部分是外派的爱立信交换机部门OAM组的架构师对我太严苛(自己对交换机行业不熟悉,正处于磨合期)使得我内心很痛苦
离职后,开始了虐心的求职之旅
先是在北京信威面试西安的岗位(因为老婆回西安找的单位就是信威),一切都很顺利,但最后HR说信威不允许夫妻二人同在一个单位,作罢
再是中兴通讯,原科室的领导让我回去,一切都很顺利,但最后HR面试时被套话,发现老婆在信威,说不允许配偶在信威,要么都来中兴,要么都别来,作罢
然后华为,先是交换机部门,倒在了性格测评环节(第三次),再是基站平台技术部门,技术面据推荐人反馈,面试官对我评价很高,但HR面被套话,曾面试华为别的部门,作罢
还有一些其他小公司,以及外包等,最后都饥不择食了,因为两个月的时间里都赋闲在家,压力大到晚上很晚才入睡,早上又很早惊醒难过
最后在3月16号,终于在大学校友兼中兴同事的PP引荐下,去了PP所在的润基控股
可惜这家地产背景的公司今年赶上经济形势不好,再加上老板的一系列投资失败,工资经常拖一两个月,而最近这次拖欠更是达到创纪录的5个月,即8月份到年底的都没发难过

12月28号公司从长安产业园搬家到位于市内自己开发的楼盘九锦台,好把长安产业园的写字楼租给别人,新办公地点原是做黄金交易的,已名存实亡整一年,营业场所根本不是为写字楼设计,非常不便。且九锦台离我家非常远,决定辞职

项目

智能家居控制系统,文件式语音识别系统(基于讯飞+图灵),录音收集系统,机器人wifi自助配置系统,流式语音识别系统

我跟PP在润基控股的信息中心部门工作,该部门有搞IT的,有搞App的,PP所在的项目组是做移动机器人(偏重教育和家务应用),基于ROS平台
第一个任务是做天气预报功能,熟悉了python语言,以及它的urllib2和json库,遇到了unicode坑,熟悉了ros相关概念(package、node、msg、srv等)和开发流程,算是入门了
第二个任务是根据pocket sphinx提供的词汇表文件(带发音音标)将用户输入的任意句子转换成音标序列,用到了jieba中文分词库
做法是先将pocket sphinx的词汇表中单个汉字的记录抽取出来作为字典,然后对输入句子用jieba分词,循环遍历jieba生成的词语列表,如果是词典里有的,直接输出音标,如果没有,则遍历词语里每一个汉字,根据之前生成的字典输出音标(可能有多音字问题)
第三个任务是根据物联通智能家居手机控制app的开发文档编写python版实现,没有任何源代码可参考
先通过python的socket库连上网关屏(智能家居的控制中心),然后尝试用python的struct库实现物联通自定义的二进制应用层协议,发现了物联通的一个BUG(在网关屏上反复发送开关吊灯指令,屏跟智能开关间的通讯会故障),解决了网关屏在动态分配IP的wifi网络中自动确定其IP的问题(将屏的Linux某个内核开关打开,使其能响应广播包,然后让机器人ping广播地址,然后让机器人挨个连接应答IP,能连上的就是屏),还推动各方人员完成机器人控制电视机功能(关键是给物联通的红外转发器对码,本例中,就是用电视机的遥控器来对码)
第四个任务是基于讯飞的语音识别系统。因为核心技术都是讯飞的,我主要负责实现根据用户话音自动分段并生成录音文件,然后调用讯飞云服务识别,最后接收识别结果。
熟悉了port audio库(用来捕捉麦克风输入并产生音频流)和audio op库(用来对PCM编码阿音频数据做简单变换),解决了话音断句功能(用audio op的cross方法检测音频样点的过零次数,低于某个阈值2秒以上就认为是说话间隔,此发对麦克风比较敏感,不同麦克风底噪不一样)。后来发现SoX工具,可能方便的录音和消除底噪。该系统未能正式使用,因为延迟太大。
第五个任务是开放式聊天功能。就是用户随便说什么话,机器人都能给出合理的答复,这个问答系统用的图灵机器人的云服务,我只是根据图灵返回结果的类型,挂接不同的处理函数,例如将返回的长度、格式做些调整什么的
第六个任务是成语接龙功能
先做数据准备工作(从网上搜到一个mdb后缀的词典文件,再用某个软件将其内容导出为csv格式,再在Linux下将其内码转换成UTF-8)。然后是业务逻辑,就是按接龙规则查找应答,以及检测用户的接龙是否合法,另外为了避免机器人回复的成语千篇一律,还引入随机,即每次从候选应答中随机返回一个。其实,还有一部分体力活,即将成语词典中的词条由13000条精简为3500条奋斗不这样干用户一个回合也撑不住
第七个任务是录音收集系统,这是个大工程。任务背景是我们要开发自主知识产权的语音识别系统,而识别算法需要用大量的录音数据来训练,之前收集录音都是找人对着机器人念,念完一句后重启录音工具,再念下一句,现在想着能用手机app来录音就好了。
首先考虑框架,决定做成CS架构,客户端是一个消息循环,先从后台获取要读的句子,然后录制用户的读音,再将读音转换成wav文件,再将wav文件发送给讯飞识别,识别无误则将wav文件及对应的句子发送给后台,后台将录音储存至指定句子的名下
然后是开发客户端,为此将后台功能(语句获取和录音存储)全部打桩,客户端选择android平台。之前从没做过安卓,java知识也就08年摸过俩月,只好从零开始。先切换到win xp下安装android studio,然后用demo程序摸索安卓开发流程(常用控件、工程组织结构、各种配置文件和选项、调试工具连手机的用法),然后从网上找示例代码弄懂安卓读取麦克风输入的流程,然后将讯飞的安卓SDK导入工程,并将SDK自带的示例代码中语音听写部分择出来合入工程,最后在调试中将工程划分为4个线程:主线程(显示UI界面)、语句线程(下载句子,上传录音和句子)、录音线程(用户按下按钮开始录音,松开按钮停止录音并生成wav文件)、识别线程(调用讯飞云服务识别wav文件内容),4个线程间通过message queue通信,消息处理采用handler机制
最后开发服务端,先考虑数据库该如何设计,想好了后设计数据表,以及相应业务逻辑的sql语句,然后用python的mysql绑定库操作数据库,测试无误后,开始打通前后台,决定用http通信,于是用apache做web服务器,用mod_python模块实现apache解析python脚本功能
第八个任务是机器人wifi自助配置系统,也是个大工程,任务背景是机器人第一次进入用户家中,需要连到家里wifi,但没有方便的方法输入wifi密码(排除了诸多选项),思虑一番决定先将机器人wifi芯片切换到热点模式,用户用手机连上该热点,并打开机器人web页面,输入家里wifi的名称和密码后,机器人记录下来生成连接配置文件,再将wifi芯片切换到客户端模式,连接家里wifi
为了让用户手机能连到机器人创建的热点并输入wifi密码,使用hostapd程序来实现热点wpa鉴权,使用dnsmasq来实现dhcp功能(比dhcpd配置简单多了),使用cherrypy实现web服务器(比apache维护简单多了)
第九个任务是流式语音识别系统,之前分析过文件式语音识别系统延迟大的原因,经过一系列实验及讨论,认定为识别算法是在录音完毕之后才工作,如果改成边录音边识别,则延迟会大大减小。决定先在机器人平台实现流式语音识别
因为机器人基础平台是ubuntu linux,所以下载讯飞的linux SDK,只有C语言版,为其添加python绑定短期内不太现实,决定全部采用C++实现
先编写最简C++版ros节点。熟悉C++版cmake构建流程。然后修改讯飞SDK示例代码,改成流式,但输入流打桩成wav文件,经测试OK
再编写音频流产生代码,基于port audio,编写过程中发现示例代码涉及资源分配之处太多goto语句,决定用C++的RAII加异常机制来消除goto语句,并根据信息流上下游模型对代码进行模块化封装,最后分成3个模块,从上到下依次是:port audio对象(产生音频流)、讯飞识别对象(产生识别字符串)、ros节点对象(广播字符串),下游模块先构造,然后作为构造函数入参实现上游模块的构造,以此消除回调函数,因为回调函数破坏了this指针机制
调试port audio对象时,将讯飞识别对象打桩成文件写入,目前port audio对象有丢音频数据的BUG,还未解决

生活

从北京搬回西安,租住老婆单位附近小区,赶走传销租客,清理装修房子,乔迁,考驾照(通过科目二)

1月10号从北京的将府家园小区离开,因为之前将我们的房子通过中介租了出去,要7月8号到期,所以回西安先在老婆单位附近租了个房子,她上班走路只需要7分钟路微笑
3月12号回北京退房子,顺便帮老婆办公积金支取手续,手续办妥了,但退房子时找不到押金条,一个月押金被扣下了委屈
3月中旬收到自己房子上一层业主的投诉,说我们家的租户油烟通过窗户排出来,呛得不行,让我检查下排烟管道是否有洞,因为他家就有该问题,找过多次物业才修好。我去租户家刚好碰上吃饭,十几号人围一卓,关键是全不认识,而承租人却找不着,感觉不对劲,让房屋中介来看,说是传销团伙,经过一番斗争,在4月份将这伙人赶走,同时开始软装
软装期间发现这个传销团伙把家里搞的乌烟瘴气,为了掩人耳目,他们从来不开窗户,人很多饭菜也要多做,但排烟管道故障油烟根本排不出去,抽油烟机里积累厚厚一层,厚度达到1厘米惊恐,方太的师傅都说这是他几年来见过的最脏的
5月份联系中兴通讯HR,想将公积金转出,告知必须先将户籍和档案迁出,费了一番力气后将户籍和档案都挂靠到高薪区人才市场
6月份找润基hr办公积金转入,自己拿着省管的接收函跑到市管去办
7月份软装完毕,搬进自己家,两边父母过来住了聚了几天,然后老婆父母在家呆了3礼拜,期间享受了岳父大人美味的湘菜,也带他们逛了城墙和兵马俑华清池
自己家离润基近(这也是我去润基的原因之一),所以打算骑自行车上下班,买了个死飞,装的时候粗心没紧固右侧脚蹬,导致螺丝滑了,只好焊死
8月份在华津驾校报名考驾照,月底通过科目一。
9月2号公司最后一次发工资,3号回老家庆祝反法西斯胜利70周年
10月份去宁夏玩,先到交界的内蒙通湖草原体验了骑骆驼、沙漠冲浪(就是坐着敞棚越野卡车翻越沙丘,俯冲时非常刺激),沙漠摩托等,再去沙坡头体验了下羊皮筏子,第二天逛了沙湖(就是紫霞仙子出场的芦苇荡),下午赶场逛了西部影视城(大话西游拍摄地),还意外看到了古装戏剧组,以及男主角
11月份阴雨连绵,没几天晴,没学过车
12月中旬通过科目二考试,结果不错但过程虐心,见微博
12月中旬想将省管的公积金取出来补贴家用,告知因公司拖欠中融款项,钱就算省管发下来,估计也不能从公司对公帐户打到我个人帐户鄙视
12月28号提出离职,16年1月6号流程全部结束,就等离职证明了
发布了159 篇原创文章 · 获赞 27 · 访问量 46万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章