(請不要刪! 這是論文要用的reference!)

一開始的切入點是簡單的 "Hello World" 程式,觀察其編譯的方式,探討 GCC 這個 compiler driver 的行為,進而擴展到 binutils 與 libc。不同於教科書的理論呈現方式,我們探討實務上面對的議題,比方說,GCC 設計初期就考慮到多個前端與後端,以及繁複的優化機制,光是 IR (中間表示式) 就歷經多次變革。在 gcc4 之後,再次大幅強化,而議程中則適時給予簡要的案例探討。另外,組譯器也並非我們預想一般單純,實務上還得充分考慮到 relocation 與位址處理的機制,最後才是連結器 / 動態連結器的引入,我們實地觀察了 x86 架構上,GNU/Linux 的執行時期行為。

























根據學長的連結來解釋一下連結內容
第一個連結是來自Google 所舉辦的計畫 Summer of Code
主要是讓世界的學生參與撰寫開放原始碼軟體的project,從2005年開始舉辦.
目的是讓參予者能從中接觸到業界軟體的開發方法與就業機會相關領域的學術活動,並且寫越多的免費原始碼,就能越造福全人類.
此篇的project是'Qin' notation web generator:古琴減字線上產生器
作者致力於此研究原因有兩點
1.中國字較複雜需2bytes組成,不像英文只是26字母的排列組合簡易,中國字需花較多的時間創建font set.
2.在網路上瀏覽網頁,如果其字元並不符合用戶端電腦的font set,那就無法顯示.
因此作者想要做一個能在線上組合的古琴編碼網頁,讓人輸入所需的圖樣代碼後,
能在網頁上顯示相對應的減字譜.
主要使用的文法如下:
顯示全圖
並依每個指法自行畫出減字,又分為左右手兩類,左手有87個,右手有47個減字.
程式輸入範例:
san_c gou_a yi_a @ =;
er_b;
san_a;
ti_a_b san_a @;
ming_b shi_b_b | tiao_a liu_d @ =;
da_d jiu_c | si_d = liu_d =;
po_a da_d qi_a liu_d = | qi_a = san_c liu_d = | =;
jiu_d lun_b = qi_a =;
tao_a_qi_c;
tao_a_qi_c;
shi_b_a qi_a | tiao_a si_d @ =;
cuo_d da_d qi_a | tuo_a_b liu_d @ = @ zhong_a qi_a | gou_a yi_a @ = @;
shao_c_xi_b;
由於每個san_c,gou_a等等都是圖的檔名,所以要使用一定要配合圖片跟代碼一起看.


程式方面:
網頁上的Demo連結已無效,但有提供檔案下載,
好像只能在Linux環境下執行,但我執行時還是有出錯,可能是因為沒有下載圖檔的關係.
執行環境需求:Metapost, Perl, Convert
Metapost是個語言可讓人用數學描述畫圖,語法來自Metafont.
Metapost-wiki : http://zh.wikipedia.org/wiki/MetaPost
網路上還有附上解說的網頁投影片:http://web.pdx.edu/~candy/qin/tug05/open.html
** ** ** ** ** ** **
第二個連結內容是中國音樂學(季刊) 2008年第2期,應該是大陸那邊的雜誌.
標題是:古琴減字譜的編碼與編輯方法
內容前段介紹古琴歷史,中間主要介紹老師所研究的減字譜編碼方式,
後面提到他們所希望建構出軟體所具有的功能:
包含
1. 文件操作:新建,打開,保存,列印,關閉等
2. 文件編輯:剪下,複製,貼上,查找,取代,全選,調整字體或字型等.
3. 減字分類:將減字按照"散音","按音","泛音","其他減字"分成四大類,
每一大類下又將它們按照不同的彈奏方法分成各個小類.
4. 選擇減字:通過選擇某類減字,能顯示該類所有的減字,並按照需求再次進行選擇,
並可對選擇的減字實現文件編輯功能,即複製貼上等.
----------------2009.7.23----------------------
我把我的那一串的內容貼過來, 原來的就讓它沉下去吧! 我順便把維城學長的回應記錄在這裡:
無事google了一下,發現兩個有趣的相關的連結:
1. Project Title: Chinese music instrument: 'Qin' notation web generator, http://web.pdx.edu/~candy/qin/index.html
使用Metapost系統設計。
2. mac.xmu.edu.cn/Chinese/document/attachment.asp?id=39
這個比較無言一點,算是另類介紹我們實驗室的成果吧...
請你參考一下, 再跟我說這是什麼, 尤其是第一個link.
你目前的這個程式畫面跟我以前看到瑋倫所完成的不太一樣, 我記得左邊是打中文輸入後的結果, 右邊是減字譜. 我們當時似乎是有幫忙標一下簡譜的.
很好! 謝謝你這麼快的就有回應.
----------------2009.7.22----------------------
首先就先來簡介一下古琴減字譜軟體的功能。
1。軟體主要介面
顯示全圖
2。輸入介面,目前只支援中文輸入
顯示全圖
3。輸入後,預設輸出Parser Tree為Infix
顯示全圖
4。另外還有Posfix顯示
顯示全圖
5。英文顯示,不過目前好像有錯誤
顯示全圖
6。輸入法目前只支援中文,英文功能未定
顯示全圖
7。關於
顯示全圖
----------------------------------------------------------
2009,7/14
這是一個未完成的研究, 我們在未來一到兩年要把它完成. 最早是瑋倫學姊的古琴減字譜軟體的完成, 這是一個國科會數位典藏計劃的成果, 事實上受到許多人的重視, 不過跟多數的國科會計劃以及因為學生畢業的關係, 這個成果那時沒能延續下去. 多年來一直有人問, 連中研院院士都來問.
當時未能延續下去的一大原因是雖然古琴減字譜的輸入法很好, 可是聲音的合成一直沒能突破, 直到最近, 小明學長對起頭音的分析, 文森學長的pitch/Partial Tracking有了一些成果, 看來應該是東山再起的時候了. 在此我向眾多關心的朋友說聲道歉.
以下是相關的link:
Centcent's Pitch and Partial Tracking
等小明過幾天把減字譜軟體頁面的圖準備好, 我再來更新.
由於古琴聲音與演奏的特性, 文森學長的pitch/Partial Tracking事實上需要一定程度的修改, 或者正確一點的說是Customization, 也就是量身訂做.
同樣的, 我來起這一串, 接著就由仕偉來接續. 第一個工作當然是把減字譜軟體回復, 這一部分比較簡單. 但是聲音的部分就困難一點. 整個軟體要怎麼做, 我會跟相關的人討論. 而要做的事情如下:
1. 琴音的分析, 也就是pitch/Partial Tracking, 這一部分會比較簡單, 因為我可以把音一個個分開來彈.
2. 分析結果的修正, 這一部分恐怕暫時需要人工來做, 不過SW工具還是需要的, 這部分可以跟authoring tools那邊合在一起, 所以這部分建議做成一個外掛. 我們再來討論要怎麼分工.
3. 根據輸入的減字將每個音合成出來, 這部分要動用additive synthesis以及起頭音合成, 我還不知道小明對提琴的起頭音那部份的成果是否可以直接用過來, 不過值覺是可以的.
4. 根據使用者對演奏articulation上的需求(多半指的是滑音, 少數是其他技法), 重新在合成.
5. 將每一個合成的音照使用者指定的時間排好.
至於其他的事就等這些做好再說!好吧! Let's go!
對了, 請以後將這串同時update到: 古琴減字譜數位化. 感謝!
日期 | 報告成員 |
3/7 | 翊臺、易聰 |
3/14 | 威佐、玉琳 |
3/21 | 大鈞、依諴 |
3/28 | 君宇、偉翔 |
4/4 | 兒童節 |
4/11 | 翊臺、易聰 |
4/18 | 威佐、玉琳 |
4/25 | 大鈞、依諴 |
5/2 | 君宇、偉翔 |
5/9 | 翊臺、易聰 |
5/16 | 威佐、玉琳 |
5/23 | 大鈞、依諴 |
5/30 | 君宇、偉翔 |
6/6 | 端午節 |
6/13 | 翊臺、易聰 |
6/20 | 威佐、玉琳 |
6/27 | 大鈞、依諴 |
7/4 | 君宇、偉翔 |

int open(const char *pathname, int flags)
ssize_t read(int fd, void *buf, size_t count);
ssize_t write(int fd, const void *buf, size_t count);











