書到用時方恨少之 speech review

回想很多年以前, 我在做 speech 的時候, 曾經和成大的王駿發教授, 交大的吳炳飛教授學過很多東西. 不過現在連王教授的弟子吳宗憲教授都升任副院長了, 可見得真是光陰似箭…. 我不免又想到當時做 internet 的時候, 也曾經和張系國教授一起開過會. 只可惜我沒有買過他的書, 我看的那些都是從交大圖書館借的或是看報紙連載的, 雖然他的著作我每一本都讀過, 但是我並沒有甚麼 "皮牧師正傳" 之類的書可以請他簽名, 想想真是殘念啊! 總之, 白頭工男話當年, 當初腦海中的知識, 似乎也俱往矣囉!

千金難買早知道, 現在我們又要做 speech 的東西了. 稍微 survey 一下, 現下的 speech 演算法還是免不了要用 LPC (linear-predictive coding) 與 LSFs (line-spectral frequencies). 過去從語音訊號中取得 LPC, 我只知道要先做 autocorrelation , 然後用 Levinsion -Durbin recursion 找出 LPC. 剛才看了一下, 還有個沒啥印象的 Yule-Walker method. 既然後者比前者晚了 10 年才推出 (2003 vs 1993), 不知道是否有比較厲害?!

得到 LPC 係數之後, 再轉到 frequency doamin,  其特性會比較'穩定. 所以 LPC 會轉成 LSP (line specttral pair) 或 LSF. 一般而言, LSP 會被量化, 就像 video coding 的 DCT 係數也要量化一樣. 接下來也和 video coding 一樣, 量化的結果再反量化, 補上一些內插值, 和原來的訊號計算求得殘餘量 (residual),  Residual 的部分就可以查表編碼了.

其中, 可以把先前獲得的資訊拿去動態建立 code book, 若是沿用固定的 code book 則可以省略這一步, 根據量化後的 LSP 和 residual, 我們可以從 code book 中找到最適當的 code 來代表這個 sub-block 或是 sub-frame. 當然, 此時多半會運用均值化 (normalization) 的技巧, 使得 11111 和 99999 都對應到一樣的 code, 只不過它們的 gain 不相同而已. 

複習起來, 差不多就是這樣了. 以後有想到什麼再來補充.

[note]

再看了一下, Levinson-Durbin 可以用來解 Yule-Walker equation. Yule-Walker method 本身是輸入 autocorrelation 數列, 輸出 PSD (power spectral density). 所以兩者之間沒有誰優誰劣的問題.

[ref]

1.  http://thesis.lib.cycu.edu.tw/ETD-db/ETD-search-c/getfile?urn=etd-0714105-140440&filename=9278046.pdf

2.  http://thesis.lib.ncu.edu.tw/ETD-db/ETD-search/getfile?URN=89521046&filename=89521046.pdf

Linux 下的 object 與 library 檔

從客戶那邊拿到一個 Linux 下的源代碼, 例行 ./config, ./make 之後, 在我的 Cygwin 底下生出很多檔案, 但是並沒有一個執行檔, 倒是有很多 .lo 和 .la, 這是平常我們用自家開發的 embedde system tool chain 所不會遇到的. 這些是甚麼東西呢?

首先我們要瞭解為何需要 L 字頭的檔案, 而不是 .o 或 .a 就好? 原因在於要支持動態連結 (dynamic link). Libtool 就是這樣的一個工具, 以便產生出有益於 dynamic link 的 .o 與 .a, 也就是 .lo 與 .la.

.la 檔是一個文字檔, 裡面描述了此 library 的 version, name 等等, 當然也定義了 dlopen, dlpreopen 要去開哪個 library. 靜態連結與動態連結的 library 分別記錄在 old_libaray = 'libxxx.a' 與 library_names = ' ' 的條目之下. 據說 .la 檔也可以包含另一個 .la 檔, 但我沒看過實例.

.lo 檔也是文字檔, 裡面大概包含 PIC object 和 non-PIC object 的 object name. 所謂 PIC 就是 position-independent code 的意思. 如果程式碼與 position 相關, 當然就不容易動態連結囉!

既然 .la 和 .lo 都是文字檔, 因此它們只是 libtool 底下的溝通工具, 透過 libtool 做 link 的時候, 它們便擔任把真正的 .a 和 .o 傳給 gcc 給工具. 

.so 這東西就是指 shared object, 適用於動態連結, 而 .o 就適合靜態連結, .a 則是 .o 的集合, 也就是靜態的 library.

[ref]

1. http://www.eetop.cn/blog/html/40/202640-8862.html (簡體)

SIP 小檔案

SIP 是指 Session Initiation Protocol, 規格可以從 RFC 3261 查到. 它是 application layer 的 protocol, 位在 OSI [ref 2] 的最上層, 需要建立在底層的 protocol (TCP / UDP) 才能運作.

另一方面, SIP 又只管通訊的建立, 實際上還要再搭配 RTP (Real-time Transport Protocol; RFC 1889)、RTSP(Real-Time Straming Protocol;RFC 2326 等通訊協定. [ref 1]

SIP 的功能包括下面五件事: [ref 1]

(1) User location:透過系統可以確認目前使用者的終端設備位置,以便邀請使用者加入多媒體會議或者是與使用者建立連線。可以想像類似目前手機定位功能。

(2) User availability:決定使用者是否有權限可以加入特定多媒體會議或族群。

(3) User capabilites:決定使用時的媒體型態與媒體參數。

(4) Session setup:建立呼叫端與被呼叫端之間的多媒體連線與連線參數設定功能。

(5) Session management:包含資料傳輸與結束連線、修改連線參數與服務要求等相關功能。

至於 SIP 的指令有六個: [ref 3]

SIP 標準中定義的六種方法
方法 說明
INVITE 初始化
ACK 初始化確定
BYE 要求會議終止
OPTION 功能查詢
CANCEL 取消
REGISTER 提供 location server 使用者位置

因為 user 的位置可能不固定, 所以在查詢對方位置時 (可能透過 proxy), 必須去定位伺服器 (location server) 詢問對方的 URL.

在 [ref 3] 的表 4.2 有一個超讚的 SIP 與 H.323 比較表, 由它可以得知, 雖然 SIP 只負責建立連線, 但是具有簡單, 模組化, 與網路相容, 即時等優點, 所以在 video conference 的規格競賽中, 有日漸重要的趨勢.

[ref]

1.  http://justblogger.pixnet.net/blog/post/387757

2. OSI model

      from http://www.tomax7.com/aplus/osi_model.htm

3. http://eshare.stut.edu.tw/Etd/2005_3/etd-0407109-183704-224-001.pdf (日文, 圖表是中文)

我讀 «圖解 擘畫世界情勢的 40 大經濟理論»

這本書真的超超讚, 可是我蒐來蒐去, 幾乎沒有人寫過它的網誌. 怎麼會這樣呢? 真是可惜啊! 在我來看, 這本書應該要當作高中生必修的社會科教材才對.

或許是因為世界情勢經濟理論都不是世人關心的議題吧? 但它可是每一天都影響著我們的生活呢! 就拿上班來說, 上班族應該要知道 “效率薪資" 理論. 

在 IC 設計界, 大家都知道去 MTK 上班錢比較多, 但是公司的薪水如果比較一般, 那又會怎麼樣呢? 員工會認為就算我每天打混摸魚, 頂多就是摸到大白鯊被炒魷魚, 若是別家出的薪水也一樣多, 那麼員工被開除也並沒有多大的損失. 因此低薪鼓勵了怠工. 這就是史蒂格里茲 (Joseph Stiglitz) 的效率工資怠工模型理論.

這又代表甚麼呢? 這代表我們若把整體評價低的員工打很差的考績, 給他很低的薪資和獎金, 卻期望他自動自發地在來年 “好好表現, 反敗為勝" 將是非常困難的. 員工會認為, 既然薪水這麼差, 乾脆換個環境另起爐灶也差不到哪裡去.  如果不想要員工這麼想, 無論薪水多麼低, 公司還是要猛畫大餅, 主管要對員工勉勵又期許, 讓他們明確感覺到未來還是有利可圖才行.

當然, 上有政策, 下有對策. 如果一昧地以為政府或是公司這麼做, 人民或員工就會配合,  這樣就太天真了. 本書舉了日本發消費券為例, 說明創造消費在理論上雖然正確, 但人民不是傻瓜, 他們會用替代消費來因應, 而使得政策失效. 過去的經濟學家並不重視這一點, 直到盧卡斯 (Robert E. Lucas, Jr.) 提出 “理性預期" 理論, 才正式打破 A -> B 的刻板觀念. 既然上面想要 A B, 下面就會有 B C A 的招數來抵銷他們不認同的政策. 

 

畢竟人們並不是真的很理性, 只要用不同的包裝方式, 就可以影響到大家的邏輯能力. 提出這個 “展望理論" 的就是行為經濟學的先驅卡尼曼 (Daniel Kahneman). 正如前面在另一本書 (Again the Gods) 中提到的, 這個理論的名字是亂取的, 只是為了引人注意. 我想他的不理性實驗真的成功了.

經濟學並不只是用來解釋金錢的流動, 窮人的經濟學家 – 沈恩 (Amartya Sen) 關注的就是人何以貧窮? 貧窮為人們帶來何種不幸? 他的結論是貧窮限制了人的能力, 若能夠給予他們 “自由", 他們就有機會變得富有. 此處的自由是指受教育的機會, 發展的環境等等.  推而廣之, 一個國家的國力, 就展現在政府能夠提供甚麼樣的發展機會給國民? 縮而小之, 一個公司的競爭力, 就在於公司能夠提供多少發展的餘地.

在我認為, 跨國企業之所以成為跨國企業的先決條件之一, 就在於他們先要勇於在陌生的地方開分公司. Sony, Apple 之所以是 Sony, Apple, 是由創辦人的胸襟決定的. 反觀台字輩的企業, 要是台糖不想只是台糖的話, 就不能滿足於只是開開台糖版的便利商店, 甚至於要突破那個 “台" 字, 忘掉台灣, 才能擁有世界吧?!

這本書裡面集結了 25 位經濟學家的 40 個理論,  用深入淺出的方式來介紹這些得到諾貝爾經濟學獎的重要學說. 除了可以一窺經濟知識的殿堂之外, 讀者也可以藉由一個個新的經濟模式的推出, 來感受古典經濟學理論如何被推翻, 然後又鹹魚翻身. 因為理論愈補愈充分, 不能解釋的地方漸漸都找到適當的 patch 了!

我讀 «古董張回憶錄»

看到我讀這本書, 旁邊就有人說:"他不是騙子嗎? 你幹嘛看他的書?" 嗯,我同意他騙過很多人. 不過, 古董張算是個真小人吧! 好歹這本書揭發了一些主力炒手炒作股票的手法, 又大大挖苦了台面上的所有分析師, 可看性還是有的.

由於這本書由網誌集結而成, 所以談不上什麼條理, 甚至於第 26 篇與第 80 篇幾乎是重複的. 因此我強烈懷疑古董張老兄根本沒有校稿, 他拖稿的時間完全都拿去集結正妹照了. 於是乎, 在這本書的後面, 附有古董張把過的妹的彩色照片數十楨, 其中包括郭靜純, 李芳雯等等. 這個彩照的部分除了滿足作者自我炫耀的慾望之外, 想必也浪費了讀者不少本錢啊!

無論如何, 我可以從這本書上學到兩件事情, 其一就是電視上的老師全部都不可以相信, 身為股友社先驅的古董張化名親自去參加了他們的會員, 證實他們都是騙人的. 其二就是金錢與政治, 情色, 暴力真是有密不可分的關係. 

雖然我不懂得古董張老兄出書的動機, 不過他在本書可以說是一面砲打傅焜萁, 一面掩護林文郎這兩位政治人物. 假如傅焜萁不去告古董張, 那還真是令人懷疑書中的砲轟都屬實呢! 至於林文郎老兄, 我想他沒有那麼完美啦! 書上都說他是與人合作炒股, 才需要每個月賣出股票結算. 假如他只是悲天憫人, 怕股票漲太兇才把自己的股票灑出去滅火, 那何必與人結算呢? 在此懷疑之下, 古董張老兄好像也不是 100% 的真小人囉!

至於作者抱怨司法不公, 檢察官只辦他炒股, 不辦某某立委. 這個嘛, 我想司法問題自有監察機關去處理, 古董張老兄只要對自己欺騙廣大的股民的行為反省就行了.  如果只是一心以為坐過牢就不虧欠這個社會, 旁人也會批評: 只坐幾年牢就可以 A 走不特定對象數億元…太超過了喔! 

BTW, 古董張老兄保養地相當不錯, 外貌看起來似乎比以前都還年輕. 所以在本書第一頁, 他還附贈了一張袒胸露背的大幅彩照以娛(?) 讀者…