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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章