歌詞檔 LRC 小檔案

想要在我們的產品上加一些功\能的關係, 發現了有歌詞檔 LRC 這東西.

歌詞檔到底是怎麼和 MP3 同步的呢? 抓一個來研究看看?

顯然, ti = title, ar = artist, al = album, by…呃, 大概就是提供這個檔案的人了.

用 [] 包起來的就是分:秒:百分秒, 後面就是打算 display 的東西. 以這裡的例子. 表示不秀歌詞也行.

然而不一定每隻 MP3 都有頭有尾, 所以預定第 28 秒會唱第一句, 也可能會有誤差.

此時就要透過 user 微調來修正.

這個例子有一個特點, 就是這裡的副歌會唱兩次.

Time stamp 先放大的, 然後才是小的.

至於 time stamp 後面沒東西, 就表示沒資料, 這一句是空白的.

[ti:抓!愛情的兇手]
[ar:李圣杰]
[al:絕對癡心 手放開]
[by:mp3.91.com]
[00:00.00]歌手:李圣杰
[00:00.00]歌名:抓!愛情的兇手
[00:00.00]制作:mp3.91.com
[00:08.05]
[00:28.45]夜深人靜 草木皆兵
[00:31.60]我和自己的戰爭
[00:33.26]從你走后蔓延至今
[00:35.53]想多一點力氣
[00:37.12]救自己離開記憶的峰頂
[00:41.93]卻少了一點決心
[00:44.06]再度別思念推落谷底
[01:51.60][00:48.33]起初一起好評不斷
[01:54.48][00:52.16]怎么\愛沒用完
[01:55.84][00:53.65]未來已經碎成兩端
[01:58.60][00:56.18]是誰不夠膽量
[02:00.28][00:57.98]才讓愛懦弱讓分手勇敢
[02:05.47][01:03.07]又是誰不夠堅強
[02:07.24][01:04.84]撐過相處后期的冰涼
[02:11.81][01:09.80]抓我們愛情的兇手
[02:15.43][01:13.09]問他為什么\刺傷我
[02:18.69][01:16.38]翻開回憶第一個鏡頭
[02:22.13][01:19.80]你的輪廓
[02:23.29][01:21.26]還在我眼底重播
[02:25.62][01:23.50]淚\所以流是想倒帶
[02:29.00][01:26.57]把過程看懂
[02:32.50][01:30.79]抓我們愛情的兇手
[02:39.32]
[02:47.33]抓我們愛情的兇手
[02:50.05]問他為什么\放把火
[02:53.85]震耳欲聾第一句珍重
[02:56.48]燒光所有
[02:57.97]連影子也不放過
[03:00.43]頭破血流
[03:01.98]不敢讓人聽見這份痛
[03:07.18]抓我們愛情的兇手
[03:14.15]在時間的背后
[03:16.18]你忘記了繼續溫柔
[03:21.03]在習慣的面前
[03:23.15]我忽略了讓你感動
[03:28.53]驀然回首天驚地動
[03:31.73]沒想到我們愛情的兇手
[03:34.89]竟是習慣和時間
[03:37.80]這兩個朋友
[03:42.34]驀然回首天驚地動
[03:45.49]沒想到我們愛情的兇手
[03:48.84]竟是習慣和時間
[03:51.89]這兩個朋友
[03:58.58]這兩個朋友
[04:03.06]習慣和時間
[04:07.25]

NFS 修理心得

因為我們最重要的 NFS server 突然不通了, 於是我試著將它修復.

第一步是檢查網路, 結果網路是好的.

第二步, 應該沒必要, 我檢查了硬碟 /sbin/fsck -Aa /dev/hda1, 結果找到一些 inode, iblock 的錯誤. 對了! 要先 umount /dev/hda1 再 fsck, 不然會有可怕的事發生. 做完 fsck 之後重開機.

第三步, 我發現關機的時候, NFS 就不能正常結束. 於是查了 NFS 的原理.

http://www.redhat.com/docs/manuals/enterprise/RHEL-3-Manual/ref-guide/ch-nfs.html

The stateless UDP connection under normal conditions minimizes network traffic, as the NFS server sends the client a cookie after the client is authorized to access the shared volume. This cookie is a random value stored on the server’s side and is passed along with RPC requests from the client. The NFS server can be restarted without affecting the clients and the cookie remains intact. However, because UDP is stateless, if the server goes down unexpectedly, UDP clients continue to saturate the network with requests for the server. For this reason, TCP is the preferred protocol when connecting to an NFSv3 server.

藍色字的部分提出了一個可能的問題. 因為我們很多個人一直在做實驗, 重開機,  client 一直在反覆 mount server, 而且都是用前幾次的 cookie. 當 server 被不正常地關機之後, 它就不再認得以前的 cookie, 因此雙方就無法連上了.

NFS 其實是透過 RPC (remote procedure call) 去聯絡 client 和 server, 但 RPC 需要 portmap 來管制. 查看 portmap 有沒有 work 是用這個指令:

rpcinfo -P

理論上會看到 NFS 用了 2049 這個 port, protocol 基本上有 UDP, 如果是 NFSv3, 還會有 TCP.

查看 portmap 有沒有在動, 用

/sbin/service portmap status

它如果說正在 running 那就對了.

接著將 NFS 打開, 重新打開, 或是看到沒開才開, 可以分別下不同的參數:

/sbin/service nfs start

/sbin/service nfs restart

/sbin/service nfs condrestart

如果只要載入, 不需要跑

/sbin/service nfs reload

關掉 NFS

/sbin/service nfs stop

以上應該都是 root 權限才能做的事.

2008/6/17 補充

此次修改 etc/exports 之後, 再啟動 nfs service, 意外地被抱怨.

[root@audio-server etc]# cd /sbin/
[root@audio-server sbin]# ./service nfs condrestart
Shutting down NFS mountd:                                 [  OK  ]
Shutting down NFS daemon:                                [  OK  ]
Shutting down NFS quotas:                                  [  OK  ]
Shutting down NFS services:                                [  OK  ]
Starting NFS services:  exportfs: /etc/exports:7: syntax error: bad option list
[FAILED]
Starting NFS quotas:                                       [  OK  ]
Starting NFS daemon:                                     [  OK  ]
Starting NFS mountd:                                      [  OK  ]

結果只是 rw, 多了一個空格, *(rw, insecure,sync,no_root_squash), 這樣就會錯了!

 

Lasik 雷射手術記事 – 機台研究

對於手術本身我已經研究得差不多之後, 我就開始研究機台. 現在的手術成功與否. 1/3 在醫師, 1/3 在機台, 1/3 在個人的體質與保養. 所以我必須要研究機台.

1. 目前佔有率高達 59% 的是 VISX 的機台, 它由第一代出到現在第四代. 第一代是大光斑. 雷射以同心圓的方式逐次地打. 它的治療速度飛快, 但是沒有眼球定位功能, 眼睛一轉就會打歪. 另外淚液可能因為堆積在角膜中間的凹槽, 吸收掉雷射的能量, 雷射打不掉角膜, 造成一個中心小島. 這個島會讓原本想做出的凹透鏡中間留下一個凸出物. 此時就算近視做到 0 度, 還是會看不見東西. 第四代當然就沒有這個問題了, 有 3D 眼球定位, 中央小島問題也會被有經驗的醫師直接打掉. 另外就是他的前導波技術有通過 FDA 認證, 理論上可以消除不規則散光.

2. B&L 博士倫 217z. 我本來以為博士倫是賣眼藥水的小公司. 想不到它也有雷射儀器. 它用的技術是飛點雷射, 所以不像 VISX 是打同心圓, 效果似乎也不錯. 新竹的國泰, 馬階都是用這一台.

3. NIDEK. 這台是日本的機器. 它的技術叫隙裂飛點, 類似飛點, 但是光點不是圓形的. 攻擊者說這是為了避專利想出的怪招. 但是也有對手認同它效果不錯, 只是太舊. 我看到廣告說它最能消除炫光的後遺症. 所以我一直蠻喜歡這台的. 後來看到大學眼科有這台, 也決定了我選擇大學眼科. 但是到手術的前一天, 我才發現它的 EC-5000 是有通過 FDA, OPD SCAN ARK-10000 前導波儀器也有通過 FDA. 不過兩者合在一起的 NAVEX 就還沒通過, 我才知道我還是得當白老鼠. 難怪它要用一張 1.44 MB 的磁片把資料手動 COPY 到 EC-5000 (CX?) 去讀.

4. 還有好多種, 不過佔有率低, 所以我就忽略了. 其中有一型有能量過強, 容易引起角膜混濁的缺點.

[註] 本篇大約寫於 2005 年 1 月, 所以資訊老舊, 請留意.

DDRI 與DDRII 比較

(1)DDR2 比 DDR1 快一倍, 一個 clock 抓 4 筆資料, 這個應該顯而易見.

(2)ODT (on die termination) 大家可以想像, 一個模組上會有多顆晶粒. 若其中一顆 die 已經正確讀寫資料, 排在後面的 die 就不用聽牌了. 此時把此 die 的電阻調小, 電流就不會流到別處, 這樣可以減少干擾.

(3) OCD (off chip driver) 因為電流還是有先來後到, 所以後面的 SDRAM IO buffer 需要適當地增強趨動能力.

以上是 DDR2 module 的簡單特性.

Vista PC 使用 Bluetooth 連上網路

因為每次想要用 CHT9100 當 PC 的 modem, 可是老是要設定一些東西, 步驟好像也很麻煩.

不過即使不能做甚麼簡化, 也不會希望忘記最慢的那種做法, 還是記錄下來得好.

假設是在 Vista 的環境底下, 大概會有下面的步驟:

1. 在控制台選擇 “網路和共用中心".

2. 在左邊選擇 “設定連線或網路".

3. 這時候會出來一個標題叫做 “選擇連線選項" 的視窗, 在這裡面找一個選項 “連線到 Bluetooth 個人區域網路 (PAN)".

4. 按下一步, 然後會出另一個視窗. 這時候會看到外部的網路 source, 例如出現一個手機.

5. 按下右下角的 “連線", 這樣就 OK 了.