顯示具有 已發表文章 標籤的文章。 顯示所有文章
顯示具有 已發表文章 標籤的文章。 顯示所有文章

2018年12月20日 星期四

以知識表徵方法建構台語聲調群剖析器

Computational Linguistics and Chinese Language Processing Vol. 22, No. 2, December 2017, pp. 73-86 73
The Association for Computational Linguistics and Chinese Language Processing

以知識表徵方法建構台語聲調群剖析器 
 A Knowledge Representation Method to Implement A Taiwanese Tone Group Parser 

張佑竹 Yu-Chu Chang 

摘要 
聲調群剖析器是台閩語語音輸出系統的主要元件之一。本文提出聲調管轄假說, 主張先將句內語詞定調,亦能決定台閩語聲調群分界的觀點,並以聲調群剖析 器實作加以驗證。除了敘述如何應用預設調型、預設詞類和模式三種標記符號, 將語言知識和經驗轉換為知識庫,並說明經由推論引擎與知識庫的連結,完成 語詞定調的運作過程。目前內部測試平均變調正確率為 98.5%。外部測試平均 變調正確率為 94%。本研究的實驗數據也顯示一個重要的線索:符號系統標記 比規則推論對變調正確性有相對較高的貢獻率。

關鍵詞:台灣話,變調,聲調群剖析器,知識表徵,模擬

Abstract 
A tone group parser could be one of the most important components of the Taiwanese text-to-speech system. In this paper, we offered the hypothesis of tonal government to emphasis the idea that if the allotone selection can be made for each word in a sentence then the tone groups will be separated within the sentence and supported our viewpoint with the implementation of a Taiwanese tone group parser. In addition to the description of using the symbol system to convert language expertise and heuristic knowledge into a knowledge base to cope with a frame-based corpus and a tone sandhi processor, the procedure of connecting the inference engine and the knowledge base to make allotone selection was also discussed. In the current version of the tone group parser, the average accuracy of inside test is 98.5%. The average accuracy of outside test is 94%. The experiment data of the study also reveals an important clue: the marking of the symbol system makes a higher contribution rate to the tone sandhi accuracy than the rule inference.

Keywords: Taiwanese, Tone Sandhi, Tone Group Parser, Knowledge Representation, Simulation

全文下載

2017年6月8日 星期四

南竿,一九七三

南竿,一九七三

張東瀛 

2009-07-16 完稿, 2010-06-23上網




啟航

無灞橋煙水,也無十里長亭。夜晚的基隆港,星空映照船影,冷豔中帶著淒涼。悄悄地,登陸艇開始移動,越過東方皇后號,就要離開碼頭。不久,岸上的燈光終於消逝。雖說男兒志在四方,冒著九級風浪出海,心境卻瀟灑不起來。忽然間,一個巨浪打來,船身晃了兩下,坦克艙中的人和背包,如同煎鍋裡的香腸,不停地翻滾著。不知過了多久,終於聽見有人大喊「看到陸地了」。從搖擺的甲板遠望,馬祖列嶼像在潮中下碇的風帆,不停地起伏上昇。下午一時三十分搶灘。我要報到的地點在鐵板,還有一段路要走。車子在山道上拐來拐去,遠方傳來砲聲隆隆。到達連部,天色已暗。吃過飯,在燭光下才發現,餐廳原來是蘆葦搭蓋的草寮。


港口素描

儲水澳西南方有一座廢碉堡,看來是五零機槍陣地。三向開窗,從射口可以遠眺海面。太陽偶爾露個臉,一下子又躲起來。若是春雨綿綿,羊腸小徑準是泥濘滿佈。從露儲場可以俯視港口和西尾,放眼北望,第三根通訊桿盡頭,就是北竿和高登。三、四月間,春霧正濃,馬祖港宛如罩上白紗,只聽到氣笛聲嗚嗚乍響,霧薄時候,諸島就在虛無縹緲間了。

媽祖廟前,有幾個人在編竹筏。粗大的麻竹先用草繩捆綁,再塞上木楔,便緊靠一起。有一次我從小徑下山,看到一艘漁船正在海裡衝浪。金黃色陽光,從灰黯的雲隙灑落,風很急,浪很高,雷電交加,小舟卻不屈不撓。年青力壯的負責打漁,老人和婦女忙著煮魚、曬魚。丁香魚在陽光下閃閃發亮,孩子們聚精會神把玩彈珠。像他們那樣的年紀,我也常在地上流連,曾幾何時,看到玻璃珠子,卻有陌生的感覺。


戰備演習

潮水沖擊岩石,浪花飛濺。梅石澳口,不時傳來稀稀落落的槍聲。還在睡夢中的鳥雀,突然從樹叢飛出。一九七三年九月二十七日凌晨五時三十一分,金池二號演習的第二天,我們已經在壕溝裡蹲了一夜。天氣有點涼,太陽仍在地平線下,只有幾道紅霞,偶爾從濃密的雲層穿出。

排陣地在六八高地前緣,左方是第一班,右方是第二班,兩挺機槍火網交叉,剛好封鎖澳口。第三班在高地背面,傳令不時跑上跑下,一下子毒氣來了,一下子心戰喊話。幾度喧嘩過後,周遭又恢復靜寂。秋桂山一帶,看來十分安祥。天主堂旁邊有幾頭乳牛,悠閒地吃草,我卻擔心,那兩箱手榴彈全是真的,不曉得會不會有人好奇打開。驀地,一片血紅映入眼簾;石蒜花正盛開,讓人怵目驚心。從望遠鏡裡,隱約還可見到蘆花在微風中輕搖,朝露點點滴滴。

幸運草原本下垂的葉子,不知何時展開了。海風陣陣吹來,天空沒有一絲雲彩。好不容易捱到傍晚,一眉新月在落日餘暉中閃爍著。敵軍已經奉命休息,弟兄們也取出便當大口吃著。傳令兵把一張「請把飯多裝一點」的字條放進空飯盒。他不知道,過了今晚,演習就要結束了。


戰術行軍

午夜時分,沒有月亮。全副武裝的戰士,由儲水澳魚貫而出。途經秋桂山,風不太大,只是有點刺骨。部隊過了珠螺,霧氣從海面掩至,星光逐漸消失。戰備道微微可循,小徑已被暗夜吞沒,兩公尺外一片漆黑。走過一段下坡碎石山路,幾個弟兄東倒西歪,所幸只是有驚無險。

步兵碉堡幾乎全在海邊。耳際傳來怒濤拍岸,猶勝萬馬奔騰。值班的哨兵,在寒風中經常凍得發抖。這些充員戰士,眼看著牆上蠟炬,不知何時返台,難免跟著淚痕斑斑。沿著海岸繞上一圈,最快也要四個小時。回到駐地,濃霧瀰漫山谷,兩碗熱粥下肚,寒意盡除。不久,遠處傳來幾聲雞啼,天尚未破曉,井邊的轆轤已經轉個不停。


浮生半日

天氣相當晴朗,坐在碉堡裡,不時聽到鳥鳴。桃花初綻,春日已近。樹林裡的斑鳩突然展翅,似乎發現有人偷窺。隔壁步兵的公雞,喔喔叫了幾聲。通往海灘的小路,被無情的雷區阻隔,不知危險的牽牛花,卻放肆地爬滿四周。

池邊的芒草,長得約有一人高。從壩頂流下的山泉,經過層層土石,到達下游彎曲處,已經變得清澈透明。山谷背風面,林木相當茂盛。松果早已掉光,殘存的楓葉與藍天白雲相映,分外悅目。澳口的海水,平靜無波。桃花正在吐蕊,迎風漫步,有一種酸酸麻麻的感覺。陽光照在臉上,很溫暖,原來是三春暉。老枝奮力抽出嫩葉,小蟲忙著翻開新土,當相思樹綴滿黃花,蟬聲響起,我也要買棹歸航。


長亭更短亭

細雨打在玻璃板上,冷風夾著水氣吹入車窗。我拉高衣領,突然發現山隴和清水在雨霧裡顯得格外青翠。遠處漁帆片片,山路蜿蜒曲折。峰巒路樹、滿佈偽裝的碉堡和石砌小樓構成一幅美麗的圖畫。車過八角亭,微雨初霽,不覺想起李白的「菩薩蠻」。兩年的軍旅生活,即將在南竿的碧空下結束。這裡,無曉角悲鳴,無薤露垂淚,卻有戎馬的倥傯,和喚不回的青春歲月。遠離市囂,面對千山萬水,一朝回首,方知所見,仍是十里紅塵。

又是五月黃梅天。聽!碉堡外狂濤怒吼,風過蘆葦,絲絲作響。歸期已屆,再會吧!南竿。


後記

「南竿,一九七三」,是我的服役側寫。歷經多年,走馬燈般的回憶,沉澱出這篇短文。彼岸花正紅,腦海中一再浮沉的影像卻是暮春時節,儲水澳的野百合與鐵板的轆轤。當年因緣際會,如今物換星移。謹以此文紀念1973-1974戍守戰地的馬祖同胞和弟兄們。




 
This website is sponsored by VIKON Corp.
Copyright July 1996. All rights reserved.

Last update : 2010-06-23
有什麼建議嗎 ? 來信請寄:

  vikontony@gmail.com

2013年8月20日 星期二

歷史的責任 - 緬懷杜聰明博士

歷史的責任 - 緬懷杜聰明博士

張東瀛 

杜聰明醫學博士120歲冥誕紀念專刊 2013 年 8 月 p.106-108



第一次聽到杜聰明博士的事蹟是1962年,當時我正在台南市中讀書。有一位就讀台南一中的鄰居考上高雄醫學院藥學系;他興高采烈地告訴我,說他也是杜聰明博士的學生了。當時我不明白這句話的含義,也不知道杜聰明是誰。高中畢業後我考取台北工專,和醫界無緣。當時杜博士已經退休,離開高醫。我雖有就讀醫學院的同學,卻很少聽到他們提及杜博士的大名。後來讀到杜博士的著作已是數十年後的事。

一九九五年我開始做電腦多媒体,想要把 1895-1995 這一百年間,台灣的人事地物記錄下來,為歷史做個見證。從資料蒐集、考證、文字編輯、圖像輸入、音效製作和影音攝錄等工作,逐步進行。那時候網路不如現在普及,能夠獲得的資料相當有限。台灣經過長期戒嚴,很多人物和事件都被扭曲。例如我的名字「東瀛」就經常被用來指涉「日本」。其實「東瀛」本是台灣的別名。我查證過不少古籍,也發現台灣的廟宇,從北到南,不論樑柱題字或古匾都有不少的「東瀛」。在杜博士的漢詩裡看到他用「東瀛」代稱台灣,便推定這個被誤植的名詞和「閩南語」一樣,應該是國府遷台以後才在台灣流行的用語。

我的長輩朋友當中,有兩位和杜博士相熟。一位是杜博士的長女-淑純女士,另一位是杜博士在台北帝大及台大醫學院的高足-陳俊雄醫師。和淑純女士談話時,每能感受杜博士對女兒的期許,他的開明以及對台灣醫學教育、藥理和蛇毒研究的貢獻。杜女士不僅是杜博士的女兒,祕書,也是他最談得來,能信任的知己。近年來她致力於杜聰明博士相關文獻的整理與出版,一方面是基於對父親的懷念,另一方面也希望經由杜博士的著作,論述,旅遊札記和日誌,讓年輕一輩對台灣的歷史有更深層的認識。

陳俊雄醫師是我的好朋友。台大醫學院畢業後,先在高雄的醫院當醫師。三十歲到台南醫院服務三十年,當副院長時退休。後來在台南市開醫院。醫院的診間有一塊杜聰明博士用毛筆寫的匾額。這是杜博士在陳醫師留學日本,取得醫學博士學位那一年送他的紀念物。陳醫師在日本研究當時最先進的內視鏡醫學。在台灣做過一萬多個胃鏡臨床病例。這塊匾額在他的書桌右上方掛了四十年。陳醫師說杜博士是一個「人格者」,是不畏權勢,不卑不亢,卻能堅守正義的人物。他指的就是杜博士曾經堅決反對台大醫學院與國防醫學院合併,因而得罪當道,1954年離開醫學院,終身不再就任公職。

關於杜博士的生平,坊間已有多本著述; 從天下雜誌的「一代醫人杜聰明」,黃元興的「臺北杜聰明」到國史館的「杜聰明與我-杜淑純女士訪談錄」以及近年來杜聰明基金會陸續出版的書籍,讓我對這位醫學界的前輩,除了尊敬與感念之外,更多了一分反省與自勵。我常想,像杜聰明博士這樣有學識、有擔當的學者為何不能見容於國府? 杜博士在1937年出任台北帝國大學醫學部教授職,是台北帝大僅有的一位台灣人教授。與杜聰明 (1893-1986,日本京都帝大醫學博士) 大約同一時代的知識菁英,如林茂生 (1887-1947,美國哥倫比亞大學哲學博士)、胡適 (1891-1962,美國哥倫比亞大學哲學博士)、林語堂 (1895-1976,德國萊比錫大學語言學博士)、吳國禎 (1903-1984,美國普林斯頓大學政治學博士) 應該都是台灣現代史上最具影響力的人物。對於人物的臧否,歷史學者和專家自有定見,在此無意置喙。我所不解的是為甚麼數十年來在台灣的歷史、教育體系和教科書裡讀不到杜聰明與林茂生的事蹟? 為甚麼在號稱民主自由的台灣,自治史上獨缺「吳國禎事件」? 是國民黨的高壓統治讓台灣人畏首畏尾? 還是台灣人愚痴魯鈍,忍令青史成灰?

解嚴後言論尺度寬放,不僅未能擦亮史實,反而更因意識形態的激烈衝突和政經形勢日趨複雜,迫使「糊化」過程加速,而「包裝歷史」的風潮,也從幕後走向台前。在蒐集資料的過程中我看得出這種趨勢和相關事件的因果關係,而杜博士的歷史定位,也讓我對台灣現代史有更深的期待。

生於日政時期的杜聰明,做為第一位獲得日本帝國大學醫學博士的台灣人,與在國民政府接收台灣後,歷經二二八屠殺事件及白色恐怖時期,倖存的知識分子,如何看待當時的政權與社會? 他們在戰後對台灣的前途有何見解? 這些都是我比較關心而想瞭解的問題。杜淑純女士望九高齡,猶孜孜矻矻,不倦於斯,她的用心,實在令人感佩。杜博士任職台大醫學院首任院長時,篳路藍縷,開創格局,有守有為,不忮不求。他的智慧與風骨,在亂世成為台灣醫界的中流砥柱。哲人日已遠,典型在夙昔。祈望杜博士的日誌和諸多作品早日復刻出版,讓我們得以效法這位受人景仰的前輩,也讓新世代台灣人瞭解在這個歷史的關鍵時刻,應該何去何從。





This website is sponsored by VIKON Corp.
Copyright July 1996. All rights reserved.
Last update : 2013-08-20
有什麼建議嗎 ? 來信請寄:   vikontony@gmail.com

2011年10月20日 星期四

使用者圖形介面程式之設計

使用者圖形介面程式之設計
張東瀛 
 
原載 自動化科技 1996 年 3 月 p.13-17


壹﹑前言

二十世紀九十年代是一個令人振奮的時代. 因為個人電腦已經深入工業社會, 學校和一般家庭. 使用電腦的人終於明白,電腦確實可以協助人們把工作做得更 快,更好,更省力氣. 然而回顧三十年來電腦科技的發展過程,不難發現,電腦雖然 普及,使用效率卻不如預期. 軟硬体快速更新,不但縮短設備使用年限,又讓使用 者付出更多學習時間. 即使新一代的電腦功能更強,更具親和力,它畢竟不像電視 機那麼容易操作. 對一般人而言,想讓電腦成為好幫手,仍須經歷一段艱苦的學習 歷程.

七十年代,只有專業人員才懂得使用電腦. 大部分程式都有專屬機器和用途. 軟体幾乎是針對特定程序設計. 因此電腦從業人員必須接受一系列專業訓練;諸如 基本電腦原理,程式語言,演算法或系統分析等. 換句話說,使用電腦的人幾乎都是 程式設計師. 到了八十年代,個人電腦開始流行,一般人可以自行操作電腦. 雖然 機器相當簡陋,軟体也不太多,套裝程式的開發仍在起步階段,投入個人電腦工業 的人力和物力卻相當驚人,因而刺激軟硬体工業的蓬勃發展.

八十年代末期,媒体儲存技術突飛猛進,套裝應用軟体的開發,猶如雨後春筍. 此一現象對傳統的電腦教育和學習方法,當有深遠影響. 學院教育有了顯著改變, 市場導向成為主流,一般使用者也逐漸擺脫「想用電腦,先上基本電腦概論,再學程 式設計」的夢魘. 文書處理,資料庫,電腦網路加上多媒体,只要學會開機,執行程 式,便能自己練習. 一旦熟習各項指令操作,何妨開班授徒,稍有心得,亦可出書上 市. 學習個人電腦,一時蔚為風潮.

九十年代,人機介面成了個人電腦軟体爭霸戰的重頭戲. 不論蘋果或 IBM 相 容 PC 莫不朝著人性化使用者圖形介面的目標邁進. 早先麥金塔的堀起和今日 WINDOWS 風光地分庭抗禮,即是一例. 電腦知識普及,硬体功能增強,軟体親和性高 ,使得電腦不再是少數人專用的工具. 在可以預見的未來,不僅是新新人類,恐怕連 銀髮族都將是電腦族的成員.

貳、DOS 與 WINDOWS

用慣麥金塔的人,冷眼旁觀 WINDOWS 作業環境的發展,難免會有類似「鄰家 小孩學步」的感覺. 平心而論, WINDOWS 和 DOS 的糾葛,雖是微軟試圖開發新一 代作業系統的絆腳石,從另一個角度觀察,十幾年來 DOS 累積的資源卻是 WINDOWS 緩步攻堅的支柱. 從 WINDOWS 95 隱藏 DOS 可知微軟充分了解此一觀點.

WINDOWS 仍有缺失,DOS 卻非一無可取. 撇開已發展的軟体資源不談,DOS 的 批次檔,仍是許多電腦族難以割捨的利器. 就應用程式的管理而言, WINDOWS 比 DOS 容易操作是事實. 即使很多人知道, DOS 的批次檔功能可以設計文字選單來 執行特定程式. 然而文字選單畢竟比較單調,總不若滑鼠點選圖像來得多彩多姿, 更何況應用軟体一多,文字選單便有捉襟見肘之虞. 只是 WINDOWS 內雖有 PIF 檔 可執行 DOS 程式,感覺上卻有點拖泥帶水. 魚與熊掌若要兼得,不知如何是好?

本文將敘述以批次檔,結合圖形介面和音效,並利用滑鼠操控方式設計一個涵 蓋 WINDOWS 和 DOS 應用軟体的使用者圖形介面.

參﹑程式設計之目標,特色,設備需求及工具
    設計目標: 提供一個簡潔明白,易於操作的軟体人機介面

        特色: 整合中英文字,圖形,音效分別管理 WINDOWS 及DOS 應用軟体

    設備需求: 80486 以上,IBM 相容 PC
              4 MB 主記憶体
              SVGA (1 MB 記憶) 圖形界面卡,彩色顯示器
              硬碟,滑鼠

    作業系統: MS-DOS 5.0 以上版本

    選項配備: 聲霸卡 2.0 或 PRO (可加音效)
              倚天中文碟版 V 3.0 或 V 3.5 16x16 字形檔

    軟体工具: BASIC,C,PASCAL 或其他高階語言均可
              Mouse 驅動相關程式庫
              圖形檔解碼器或程式庫
              聲霸卡程式發展工具 SBSIM
              繪圖程式 Dr. Halo IV 或其他類似軟体
              一般文書編輯器




肆﹑程式設計概要

    1. 設定變數及陣列,存放應用程式標題說明文字字串,滑鼠點選範圍座標值,
       WINDOWS 應用程式執行檔或 DOS 應用程式批次檔檔名

    2. 圖形檔解碼及顯示副程式
           由於多數高階語言只提供 640x480 解析度圖形,因此必須藉助
       PCX 或 GIF 圖形解碼程式或程式庫來設計高解析圖形顯示副程式,以
       便執行 1024x768x256 色圖形顯示功能. 此外,若須使用數張圖形介面
       還要加上圖形換頁功能

    3. 滑鼠座標偵測,捕捉及顯示副程示
           當滑鼠移動時必須在螢幕顯示 X,Y 座標值,若滑鼠移至圖像位置或
       驅動指令預設範圍,則偵測是否按鍵點選,以便執行指定的應用程式

    4. 應用程式標題顯示副程式
           每一應用程式除了用圖像代表以外,也可加上中英文說明. 此副程式
       可從 EXPROG?.WIN 檔讀取程式說明,再依照中英文 ASCII 碼轉換成16x16
       字形,當滑鼠移至圖像位置即於螢幕下方顯示相關應用程式標題說明

    5. 應用程式執行副程式
           當滑鼠點選某一圖像時,系統即呼叫此副程式執行相關 WINDOWS 應用
       軟体或執行 DOS 應用程式的批次檔,並將現在的磁碟目錄名稱存入變數,
       等到應用程式執行完畢,再返回原來的目錄. 為了確保應用程式得以順利
       執行,必須將介面程式轉存於延伸記憶体,以便釋放最大傳統記憶供應用程
       式使用. 如果應用程式無法執行,也能返回介面程式.

    6. 音效播放及中斷副程式
           應用聲霸卡程式發展工具 SBSIM (隨卡附贈軟体),提供 CMF,VOC,
       MID 三種音效檔播放及中斷背景音樂的功能. VOC 檔並可選擇從磁碟讀取
       或從延伸記憶体讀取音效資料的方式.


伍﹑圖形介面製作及操作說明

    程式設計好了以後,就可進行圖形介面檔案製作.

    一、介面圖形檔製作

        首先用繪圖軟体製作一張集合常用軟体圖像(icon)的圖片,然後以 PCX
    (或 GIF) 格式存入 EXPROG1.PCX, 並以圖像面積作為滑鼠點選範圍.通常把
    軟体圖像依照 Windows 和 DOS 兩類分別存放,並將各軟体圖像的邊限座標
    記錄備用.

        圖檔大小和樣式可依個人品味自行設計. 建議包含下列元件:
            WINDOWS 方框
            DOS 方框
            上下頁選擇方框
            結束方框

請參考圖(一) EXPROG1.PCX 說明



.



    二、視窗文字檔製作

        視窗文字檔提供程式所需相關變數資料. 建構視窗檔可用一般文書編輯
    器進行編輯,再以 EXPROG1.WIN EXPROG2.WIN .... 命名.
        每列文字包含"程式標題",滑鼠點選範圍(軟体圖像)的邊限座標 X1,Y1,
    X2,Y2 及"程式執行檔" (DOS 應用程式則用BAT檔),標題和程式執行檔必須
    用 " 括起來. 例如

    "Dr. Halo IV 繪圖程式",581,181,608,210,"DH.BAT"
    "PSP 影像處理器",190,266,223,296,"win e:\Psp\psp.exe"
    ....... 可視應用軟体多寡自行添加
 
        標題可設定為 100 個字元(50 個中文字)以內,每個視窗檔最多可存入
    99 個應用程式資料. 批次檔 DH.BAT 必須存放於經由 PATH 定義的子目錄內
    (例如 D:\TITES). WINDOWS 應用程式執行檔可從 WINDOWS 的檔案選單中的
    內容選項查出.

        最後將 EXPROG1.PCX 和 EXPROG1.WIN 存放於 D:\TITES 子目錄.
    如有必要可依序建立 EXPROG2.GIF EXPROG2.WIN, EXPROG3.GIF EXPROG3.WIN
    ... 備用.

    三、執行
        程式一執行,會顯示圖形介面. 因此可在 AUTOEXEC.BAT 設定讓電腦開機
    後就進入介面程式. 再以滑鼠左鍵點選所需的程式圖像便可直接執行指定的
    應用程式.
        應用程式執行完畢後,系統會回到圖形介面等候下一個指示. 點選螢幕
    Windows 區域或 DOS 區域左上角方框,可結束介面程式,返回作業系統.

        執行外部程式過程若有呼叫常駐程式佔用記憶体時,則在應用程式執行
    完畢後應先釋放常駐程式所佔用的記憶体(建 BAT 檔時應特別注意),否則會
    造成介面程式遭覆疊而不能回復的現象.


陸﹑聲霸卡 SBSIM 安裝及設定

若要讓介面程式有登場音效,來一段自己喜歡的音樂,或用語音指示使用者
如何操作電腦,可利用音效檔添加介面效果.

    音效檔需命名為 EXPROG1.VOC (或 CMF,MID 視種類而定), EXPROG2.VOC ..
音效播放,除了必須安裝聲霸卡以外,尚需執行聲霸卡的程式發展工具 SBSIM.
SBSIM 是一個常駐程式,它提供某些音效驅動程式的基本聲音輸出功能.

    安裝 SBSIM 所需檔案如下: (可自聲霸卡所附軟体取得)

        SBFMDRV.COM
        SBMIDI.EXE
        SBSIM.COM
        CTVDSK.DRV
        SBSIM.CFG

    一﹑SBSIM 功能設定
            由於 SBSIM 佔用不少記憶体,因此最好修改 SBSIM.CFG 的內容
        以便配合應用程式不同的記憶体需求.

        舉例說明兩種 SBSIM.CFG 設定方式

        (1) SBSIM.MEM 檔 (用文書編輯器編好後和 SBSIM 檔案存同一目錄)
            ; 可播放 VOC 及 MIDI 檔
            ; 只能從延伸記憶体讀取音效資料,使用最少的記憶
            ;[FM] (若用 CMF 檔,則將 ; 去除)
            ;BufferSize=32 (若用 CMF 檔,則將 ; 去除)

            [DskVoice]
            DMABufferSize=8
            BufferSize=24

            [Midi]
            BufferSize=32
            MidiMap=2               ; 0:General  1:Base  2:Extend

        (2) SBSIM.DSK 檔 (用文書編輯器編好後和 SBSIM 檔案存同一目錄)
            ; 可播放 VOC 及 MIDI 檔
            ; 可從磁碟或延伸記憶体讀取音效資料,佔用較多記憶体

            ;[FM] (若用 CMF 檔,則將 ; 去除)
            ;BufferSize=32 (若用 CMF 檔,則將 ; 去除)

            [DskVoice]
            DMABufferSize=8
            BufferSize=24

            [MemVoice]
            DMABufferSize=8
            ExtendedMemory=on
            SBSIMhandles=10

            [Midi]
            BufferSize=32
            MidiMap=2               ; 0:General  1:Base  2:Extend

    二﹑SBSIM 安裝及去除

            為了靈活應用 SBSIM 各項功能,可以依應用程式的記憶体需求選擇
        適當的批次檔來安裝 SBSIM

        (1) 可從磁碟或延伸記憶体讀取音效資料的 SBD.bat
            @echo off
            C:  (假設聲霸卡檔案放在 C:\SBPROI)
            cd\sbproi
            rem lh sbfmdrv  (若用 CMF 檔,則將 rem 去除)
            c:\sbproi\sbmidi /E  (執行 MIDI 播放常駐程式)
            copy c:\sbproi\sbsim.dsk c:\sbproi\sbsim.cfg
            sbsim

        (2) 只能從延伸記憶体讀取音效資料的 SBM.bat
            @echo off
            c:  (假設聲霸卡檔案放在 C:\SBPROI)
            cd\sbproi
            rem lh sbfmdrv  (若用 CMF 檔,則將 rem 去除)
            c:\sbproi\sbmidi /E  (執行 MIDI 播放常駐程式)
            copy c:\sbproi\sbsim.mem c:\sbproi\sbsim.cfg
            sbsim

        (3) 去除 SBSIM,釋放 SBSIM 所佔用的記憶的 SBU.bat
            @echo off
            c:
            cd\sbproi
            sbsim /U    (注意此處,後執行的程式記憶先釋放)
            sbmidi /U   (注意此處,先執行的程式記憶後釋放)
            d:

            應用程式若有安裝 SBSIM 音效,必需在執行應用程式的批次檔內呼叫          SBU.bat, 當應用程式執行完畢,便可釋放 SBSIM 所佔用的記憶.


柒﹑製作 EXPROG1.WIN 所需應用程式批次檔範例

    一﹑執行 PE2 文書編輯器的例子 PE2.BAT

        @echo off
        call Et3.bat  (呼叫倚天中文系統)
        d:            (假設 PE2 存放於 D:\pct)
        cd\pct        (進入存放 PE2 的子目錄)
        pe2.exe       (執行 PE2 應用程式)
        call Q.bat    (呼叫釋放倚天中文系統所佔記憶的批次檔)

        Q.bat 內容如下:
        @echo off
        D:\ET3\ETCTL/c: IQ

    二﹑執行 TITES 多媒体管理系統的例子 VKMDB.BAT

        @echo off
        call SBD.bat  (呼叫 SBSIM 設定批次檔)
        d:
        cd\timdb
        vikon         (執行 TITES 多媒体管理程式)
        call sbu.bat  (呼叫釋放常駐程式的批次檔)


捌﹑結語

一枝畫筆,幾樣顏料可以在帆布上塗出美麗的色彩; 許多無價的藝術品往往 用最簡單的工具創作出來. 面對日新月異的電腦科技,我們似乎也該坐下來,喘 口氣,思考一下如何把手邊的工作做好,而不應汲汲於將有限的資源用來追逐功能 更強,速度更快的硬体,或是馬不停蹄地拷貝最新的軟体.

建立應用程式圖形介面的目的在於提供使用者一個方便執行應用程式的工 具. 換句話說,由具有電腦使用經驗者應用此一人機介面,協助初學者規劃應用 程式執行環境,不但可以簡化執行程序,也能達到有效管理電腦的目的.

本文所敘述的程式,曾用於 TITES 多媒体雙語教學系統 (自動化科技 110 期, 一九九三年五月 p.95-p.106) 的外部應用程式介面. 有興趣的讀者,不妨 參考本文敘述的方法,自行設計能夠展現個人風格的介面程式.

2011年4月18日 星期一

相關論文目錄

相關論文

張東瀛



現代科技一日千里,資訊更新的速度更是讓人目不暇給。一般人接受的資訊越廣, 對知識的需求也越深,學習方法必然有所改變,「知識加工」勢在必行。教學系統 的設計可說是藝術﹑教育與科技的結合,在電腦日益普及而傳統教育成本逐年提高 的現代化社會,應用個人電腦作為輔助教學工具,不僅是當代潮流,也是教育工作 者必須面對的事實。 Alan Turing 曾說:「即令識見不遠, 亦知所當行。」 (We can see only a short distance ahead, but we can see plenty there that needs to be done.) 我們希望為知識導航創造一個實驗環境。學習者經由系統協助,可望發揮潛能,提 高學習效率。藉著多媒体系統的開發,結合有心人的努力,人類的智慧和文明當更 能傳諸久遠。

TITES 多媒体系統、Vikon 語音輸出編譯器與 Vikon 自然語言認知系統的設計,歷經數十個寒暑,爰將歷年撰寫的相關論文,提供有志研究人工 智慧與多媒体系統的讀者參考。敬祈諸位讀者先進指教。


1. 自然語言研究與自動翻譯系統 自動化科技 1985 年 9 月 p.73-82
2. BASIC 語言與資料庫管理系統 自動化科技 1987 年 4 月 p.79-90
3. 智慧的面紗 自動化科技 1987 年 7 月 p.97-102
4. 語意網路與框架結構 自動化科技 1987 年 12 月 p.211-221
5. BITNET 國際學術網路 自動化科技 1987 年 12 月 p.133-147 IBM 資訊世界 1988 vol.1 p. 8-13 IBM 資訊世界 1988 vol.2 p.12-16
6. ARPANET 高等科技網路 自動化科技 1988 年 4 月 p.186-197 (國科會科技論文索引 編號: 7707IA0018)
7. 科技野花 自動化科技 1989 年 1 月 p.32-36
8. 電腦化教學專家系統 自動化科技 1989 年 3 月 p.159-166 (國科會科技論文索引 編號: JA 7807-1475)
9. 普羅米修斯與潘朵拉-核能科技的沉思 自立早報 1990-02-05 (上) 自立早報 1990-02-06 (下)
10. 專家系統化與實驗計劃法 自動化科技 1990 年 5 月 p.180-187 (國科會科技論文索引 編號: JA 7907-1335)
11. 多媒体電腦系統 自動化科技 1991 年 10 月 p.111-116 (國科會科技論文索引 編號: JA 8101-1273)
12. A Multimedia-based Bilingual Instructional System Using An Expert System Shell (以專家系統發展工具建構多媒体雙語教學系統) CHAPTER I : INTRODUCTION CHAPTER II : REVIEW OF RELATED LITERATURE CHAPTER III: METHODOLOGY CHAPTER IV : SYSTEM ANATOMY CHAPTER V : CONCLUSIONS AND RECOMMENDATIONS University Microfilms International 1992 No. 13-50454
13. 以 BASIC 語言建構多媒体雙語教學系統 自動化科技 1993 年 5 月 p.95-106
14. 電腦多媒体在商業廣告之應用 HOPENET 光碟月刊 1994 年 10 月 p.158-161
15. TITES 多媒体管理系統 HOPENET 光碟月刊 1995 年 2 月 p.151-155
16. 少運崎嶇老景宜 - 我的電腦學習歷程 自動化科技 1995 年 11 月 p.65-72
17. 使用者圖形介面程式之設計 自動化科技 1996 年 3 月 p.13-17
18. 加密與密碼防禦 自動化科技 1996 年 6 月 p.70-76
19. 密碼設計與檢核原理剖析 自動化科技 1996 年 12 月 p.62-67(上) 自動化科技 1997 年 1 月 p.54-59(下)
20. 電腦多媒体專輯製作紀實 微電腦傳真(PC Magazine 中文版) 1998 年 7 月 p.282-286
21. 台語語音筆記本 2000 年 11 月 初稿 2009 年 9 月 更新稿

2011年4月3日 星期日

密碼設計與檢核原理剖析

密碼設計與檢核原理剖析
  張東瀛 



原載  
自動化科技  1996 年 12 月  p.62-67(上)
自動化科技  1997 年  1 月  p.54-59(下)



壹、前言

人類的社會,從組織型態看來,類似樹狀階層(hierarchical)結構。通常大群体中 有小群体,小群体內又有小組合。一般人喜歡過群体生活,又希望保有相當的私 密性。這種特性在城市居民的生活中特別顯著。基於區隔或保密的理由,多數人鍾 愛透天厝,獨門獨戶,屋外又可建造圍牆,萬不得已,才住公寓。重門深鎖,外掛鐵 窗,都是為了阻絕非法闖入或限制他人進出的防護措施。

個人電腦讓現代人具備第六個感知器,資訊傳播透過網路發展而無遠弗屆,活動 範圍迅速擴大,其規模遠非傳統城市格局所能比擬。人類的知性生活因電腦而豐 富,各行各業對電腦的依賴性也越來越高,因此電腦資訊的安全與維護便成為重 要而嚴肅的課題。

一般人大都有使用自動櫃員機的經驗。提款卡插入後,機器會要求你輸入密碼,用 以辨識身份。這種利用密碼檢核以過濾非法使用者的措施,常被用來作為系統安全 防護的第一道關卡。類似的保護方式也可在 BBS 站,軟体安裝或使用時看到。

電腦系統內部,也有層層關卡,最常見的便是機密等級或使用權限的保護措施。 假設你意外闖入某個電腦系統,發現一大堆看不懂的檔案,不必驚訝,因為這些檔 案可能因為安全理由而上鎖,也就是經過檔案加密的手續。除非你持有密碼可將檔 案還原或解密,否則仍是入寶山空手回的局面。

不論密碼檢核或檔案加密,都是專門技術,某些特殊的演算法更非三言兩語可以解 釋清楚。密碼學即是研究此道的入門課程。密碼設定有許多種,常見的有單碼 和複碼(以密碼機製造出來),檔案加密的方法更是五花八門,令人嘆為觀止。本文 僅針對基本的固定式密碼檢核及傳統檔案加密方法提出說明及程式設計實例。所 附程式及演算法已用於商用軟体多年,並受國際著作權公約保護,僅供讀者參考。


貳、密碼檢核程式

   REM             ******************************************
   REM             *     CHarades.BAS Version 2.0           *
   REM             *     01-22-1986                         *
   REM             *     By Tony Chang                      *
   REM             *     06-22-1996                         *
   REM             *     Writing in Quick BASIC 4.5         *
   REM             *     Tony Knowledge Engineering Lab     *
   REM             ******************************************
   以上為版權宣告及程式設計相關資訊

   'EXIT Reminder  暫回DOS作業系統的檢知器。程式內因設有暫回DOS的功能
   因此利用&H4E位址來偵測是否已執行本程式。使用者按Esc時,將&H4E內函值設
   定為5,表示電腦已執行本程式
   COLOR 15, 1: DEF SEG = &H30: MS% = PEEK(&H4E): DEF SEG
   IF MS% = 5 THEN
      CLS : BEEP: PRINT
      PRINT "CHarades 2.0 already installed, type EXIT to return": END
   END IF
   程式開始執行時先檢查&H4E是否等於5,是的話,則提醒使用者打EXIT回本程式
   若否,則繼續下一步,定義變數
   A1$ = CHR$(68): A3$ = CHR$(97): A4$ = CHR$(109): A5$ = CHR$(101)
   A2$ = CHR$(114)
   這些變數用來定義密碼所需的字母,如果直接使用字串定義,很容易用PCTools
   等工具程式看出,所以先用字母的ASCII值來定義變數,再加以組合成密碼

   此一變數為音樂響鈴,可用PLAY指令發聲
   FATE1$ = "MB T180 O2 P2 P8 L8 GGG L2 E-"

   利用剛才定義的變數設定密碼PK1$,至於PK2$可作為備用鑰匙或第二個密碼,
   必要時也可再增加幾個KEY CODE,甚至建立密碼庫存放這些密碼
   I = 1: KEY OFF: CLS : LOCATE , , 0, 14
   PK1$ = A1$ + A2$ + A5$ + A3$ + A4$ + A5$ + A2$
   PK2$ = PK1$  '本例只用一個密碼

   從第line 14到line 18為密碼檢核常式,I值設定讓使用者可輸入三次,超過
   三次未輸入正確密碼則結束程式。非法使用者有時會先找出密碼為幾位數,再進
   行測試。此處使用DO ... LOOP 的目的即是讓非法使用者無法查覺密碼位數,以
   增加篩檢困難度。
14 PRINT : PRINT : PRINT : ' PLAY FATE1$
   IF I <= 3 THEN
      I$ = LTRIM$(STR$(I))
      ANS$ = "": LOCATE 8, 10, 1: PRINT "Password"
      DO: SANS$ = INPUT$(1): ANS$ = ANS$ + SANS$
      LOOP UNTIL ASC(SANS$) = 13
      I = I + 1: PRINT : ANS$ = LEFT$(ANS$, 7)
          IF I > 3 THEN
             GOTO 16
          ELSE
             GOTO 18
          END IF
   END IF
   CLS : LOCATE 10, 12: PRINT "Incorrect password, permission denied."
   LOCATE 22, 7
   PRINT "* * * By Tony Chang, Tainan, Taiwan, August 18, 1986 * * *"
   PRINT : END
16 IF NOT (ANS$ = PK1$ OR ANS$ = PK2$) THEN GOTO 14
18 IF NOT (ANS$ = PK1$ OR ANS$ = PK2$) THEN
      LOCATE 10, 10: PRINT "Incorrect password, try again please."
      SOUND 700, 1: GOTO 14

   以上的密碼檢核常式,原先是以MBASIC寫成,後來改用QBASIC編譯成OBJECT
   CODE 就可在不同的程式呼叫。


參、檔案加密與解密

檔案加密有很多方式,比較常見的是改變檔案內函值,也就是重新編碼。不論是 ASCII文字檔或是Binary檔(如*.EXE,*.COM,圖形檔或音效檔)都是由0-255等 兩百五十六個ASCII碼組合而成,因此只要將這些ASCII碼按照一定的模式重新 組合,就和原來的檔案大不相同,達到保護的目的。

編碼的方式有兩種,一種是規則式,例如將原碼加上或減去某值,甚至利用特定公 式計算後變碼,也有依照一定程序將原碼重新排列。這種方式因為有一定的規則 常會留下蜘絲馬跡,讓解碼者有機可趁,並非是很好的方法。另一種是不規則式, 或是隨機式加密法。通常由兩個檔案組合而成,一個是要加密的來源檔,另一個則 是用來當作密碼本的簽名檔。這兩個檔案可以是文字檔也可以是二進位檔。由於 簽名檔可以千變萬化,檔案大小從數十BYTE到數十KBYTE不等,因此被破解的機率 比較小。

以下分別以程式說明這兩種加密方式


肆、規則式檔案加密法

50 CLS
   A6$ = CHR$(110): A12$ = CHR$(111): A15$ = CHR$(121): A16$ = CHR$(84)
   LOCATE 1, 1:
   PRINT "CHarades 1.0 Copyright " + A16$ + A12$ + A6$ + A15$ + " Lab 1992"
   IF A16$ <> "T" OR A6$ <> "n" OR A12$ <> "o" OR A15$ <> "y" THEN 50
   以上是防止版權宣告遭他人篡改的措施

   其次是設計以方向鍵操作的功能選單,使用者可以選擇「加密」「解密」「結束」
   等功能,選項以紅底黃字顯示,項目少時,用方向鍵比較便捷,選單多時才用滑鼠操作
   CLEAR : DIM M$(4): ECG$ = "MF L16O2ECG>CEG>CL32O2CDEFGAB>CDEFGAB>C"
   M$(1) = " 1: Charades "
   M$(2) = " 2: Reduction "
   M$(3) = " 3: Exit to DOS "
   FOR Y = 1 TO 3: LOCATE 2 * Y + 6, 30: PRINT M$(Y): NEXT Y
   LOCATE , , 0
   Y = 1: MVE = NO: X = 1: Q$ = ""
   WHILE Q$ <> CHR$(13)
   LOCATE 2 * Y + 6, 30: COLOR 14, 4: PRINT M$(Y): COLOR 15, 1
   Q$ = INKEY$: WHILE Q$ = "": Q$ = INKEY$: WEND
   IF LEN(Q$) = 2 AND ASC(RIGHT$(Q$, 1)) = 72 THEN
      MVE = YES: X = Y - 1:
          IF X = 0 THEN
             X = 3
          END IF
   END IF
   IF LEN(Q$) = 2 AND ASC(RIGHT$(Q$, 1)) = 80 THEN
      MVE = YES: X = Y + 1:
          IF X = 4 THEN
             X = 1
          END IF
   END IF
   'Call DOS shell
   這一段是利用SHELL指令設計暫回DOS功能,有時候忘記檔案放在那個目錄,或是臨時想
   到DOS作業,便可按Esc跳出。&H4E用來存放程式辨識值
   IF ASC(RIGHT$(Q$, 1)) = 27 THEN
      CLS : DEF SEG = &H30: H4E% = PEEK(&H4E): POKE &H4E, 5: SHELL
      DEF SEG = &H30: POKE &H4E, H4E%: DEF SEG : GOTO 50
   END IF
   IF Q$ >= "1" AND Q$ <= "3" THEN X = VAL(Q$): MVE = YES
   IF MVE = YES THEN LOCATE 2 * Y + 6, 30: PRINT M$(Y): Y = X: MVE = NO
   WEND
   A$ = STRING$(1, " ")'定字串長度
   IF Y = 1 THEN 110
   IF Y = 2 THEN 370
   IF Y = 3 THEN PLAY ECG$: CLS
   END

   這一段是加密常式,先輸入要進行加密和加密後的檔名
110 CLS : BEEP
    LOCATE 7, 20: PRINT "ASCII (Binary) file -> Charade file"
    LOCATE 9, 20: INPUT "Source file name "; SFN1$: IF SFN1$ = "" THEN 110
    LOCATE 11, 20: INPUT "Charade file name "; CFN1$: IF CFN1$ = "" THEN 110

    再用 SUB 600 讓使用者選擇 1-99999 五位數作密碼,CD%是密碼值除以256後的餘數
    GOSUB 600

    打開檔案,將ASCII碼逐一讀入,經過編碼運算後存入新檔
    OPEN SFN1$ FOR BINARY AS #1
    OPEN CFN1$ FOR BINARY AS #2
    L = LOF(1)
    FOR I = 1 TO L
    GET #1, I, A$
    H% = ASC(A$)
    AC% = H% + CD%: IF AC% > 255 THEN AC% = AC% - 256
    將ASCII值和密碼餘數值相加,若大於255則減去256
    IF AC% >= 249 THEN 260 '超過249則商大於10,無法存個位數
    A% = INT((AC%) / 25) '計算商
    C% = AC% - A% * 25 '計算餘數
    IF C% = 7 OR C% = 18 THEN
    LOCATE 15, 30: PRINT "Proceeding   : "; I '顯示進行加密的進度
    END IF
    AC% = C% * 10 + A% '以餘數當十位數,以商當個位數,計算新數值
260 PUT #2, I, AC% '將演算結果存進加密檔
    NEXT I
    LOCATE 15, 30
    BEEP: LOCATE 20, 20: INPUT ; "Hit RETURN to continue.", ANS2$: GOTO 50

    這一段是解密常式,將加密演算法反向操作,把ASCII數值還原,再存入解密檔
370 CLS : BEEP: LOCATE 7, 20: PRINT "Charade file -> ASCII (Binary) file"
    LOCATE 9, 20: INPUT "Charade file name "; CFN2$: IF CFN2$ = "" THEN 370
    LOCATE 11, 20: INPUT "Target file name "; TFN2$: IF TFN2$ = "" THEN 370
    GOSUB 600
    OPEN CFN2$ FOR BINARY AS #1
    OPEN TFN2$ FOR BINARY AS #2
    L = LOF(1) - 1
    FOR I = 1 TO L
    GET #1, I, A$
    AC% = ASC(A$)
    IF AC% >= 249 THEN 500
    C% = INT(AC% / 10): D% = AC% - C% * 10 'C% 為十位數, D%為個位數
    AC% = D% * 25 + C% 'D%為原來的商,C%為原來的餘數
    IF D% = 2 OR D% = 7 THEN LOCATE 15, 30: PRINT "Proceeding   : "; I
500 H% = AC% - CD%: IF H% < 0 THEN H% = H% + 256
    B$ = CHR$(H%)
    PUT #2, I, B$
    NEXT I
    LOCATE 15, 30: PRINT "Proceeding   : "; I 顯示進行解密的進度
    BEEP: LOCATE 20, 20: INPUT ; "Hit RETURN to continue.", ANS2$: GOTO 50
    END

    SUB 600 用以計算密碼的餘數值,由於ASCII值為0-255,故除以256再取餘數值,
    密碼設計為五位數只是障眼法,目的是取一個隨機的ASCII值來運算
600 BEEP: LOCATE 13, 20: PRINT "Code Number (XXXXX) : ": CD$ = INPUT$(5)
    CD& = VAL(CD$): IF CD& > 99999 OR CD& < 1 THEN PLAY ECG$: GOTO 600
    CD% = CD& - (INT(CD& / 256)) * 256
    RETURN

    這種加密方式由於一次處理一個BYTE,速度較慢,而且密碼為定值,被解開的機率較大。


伍、隨機式檔案加密法

隨機檔案加密法是利用兩個不同檔案,將其對應位址ASCII碼相加後,應用簡單的演算 法取得新值成為加密檔。第一個檔案為資料來源檔,是要加密的檔案,第二個檔案為簽 名檔,是當作密碼鑰匙用的檔案。由於簽名檔可以是任何形式的檔案,因此要解開密碼 的機率相當低。

範例程式以長字串方式讀入ASCII碼,再存入陣列,得以加快加密速度,由於需用動態 定長字串陣列,因此需要較多記憶体來執行。字串陣列大小設定為20K BYTE。陣列太小 時若要將大檔案加密,耗時甚久,陣列設定太大,會造成Out of Stack。

50 CLS : A6$ = CHR$(110): A12$ = CHR$(111): A15$ = CHR$(121): A16$ = CHR$(84)
   LOCATE 1, 1
   PRINT "CHarades 2.0 Copyright " + A16$ + A12$ + A6$ + A15$ + " Lab 1992"
   IF A16$ <> "T" OR A6$ <> "n" OR A12$ <> "o" OR A15$ <> "y" THEN 50
   CLEAR : DIM M$(4): ECG$ = "MF L16O2ECG>CEG>CL32O2CDEFGAB>CDEFGAB>C"
   M$(1) = " 1: Charades "
   M$(2) = " 2: Reduction "
   M$(3) = " 3: Exit to DOS "
   FOR Y = 1 TO 3: LOCATE 2 * Y + 6, 30: PRINT M$(Y): NEXT Y
   LOCATE , , 0
   Y = 1: MVE = NO: X = 1: Q$ = ""
   WHILE Q$ <> CHR$(13)
   LOCATE 2 * Y + 6, 30: COLOR 14, 4: PRINT M$(Y): COLOR 15, 1
   Q$ = INKEY$: WHILE Q$ = "": Q$ = INKEY$: WEND
   IF LEN(Q$) = 2 AND ASC(RIGHT$(Q$, 1)) = 72 THEN
      MVE = YES: X = Y - 1:
          IF X = 0 THEN
             X = 3
          END IF
   END IF
   IF LEN(Q$) = 2 AND ASC(RIGHT$(Q$, 1)) = 80 THEN
      MVE = YES: X = Y + 1:
          IF X = 4 THEN
             X = 1
          END IF
   END IF
   'Call DOS shell
   IF ASC(RIGHT$(Q$, 1)) = 27 THEN
      CLS : DEF SEG = &H30: H4E% = PEEK(&H4E): POKE &H4E, 5: SHELL
      DEF SEG = &H30: POKE &H4E,
   END IF
   IF Q$ >= "1" AND Q$ <= "3" THEN X = VAL(Q$): MVE = YES
   IF Q$ >= "1" AND Q$ <= "3" THEN X = VAL(Q$): MVE = YES
   IF Q$ >= "1" AND Q$ <= "3" THEN X = VAL(Q$): MVE = YES
   IF MVE = YES THEN LOCATE 2 * Y + 6, 30: PRINT M$(Y): Y = X: MVE = NO
   WEND
   IF Y = 1 THEN 110
   IF Y = 2 THEN 370
   IF Y = 3 THEN PLAY ECG$: CLS : END

   以上程式說明,請參考規則式加密法部份

加密常式: 輸入相關檔名,打開檔案,視檔案相對長度決定一次讀入字串和陣列大小
110 CLS
    LOCATE 7, 20: PRINT "Input file name for Charades Process"
    LOCATE 9, 20: INPUT "Source file: ", SFN1$: IF SFN1$ = "" THEN 110
    LOCATE 11, 20: INPUT "Signature file: ", CFN1$: IF CFN1$ = "" THEN 110
    LOCATE 13, 20: INPUT "Charades file: ", TFN1$: IF TFN1$ = "" THEN 110
    OPEN SFN1$ FOR BINARY AS #1
    OPEN CFN1$ FOR BINARY AS #2
    OPEN TFN1$ FOR BINARY AS #3
    L1 = LOF(1)
    L2 = LOF(2)

    若檔名輸入有誤,則重新輸入
    IF L1=0 OR L2=0 THEN
       BEEP: LOCATE 20,20
       INPUT ; "File Error! Hit RETURN to continue.", ANS2$
       GOTO 110
    END IF

    IF L1 > L2 THEN IL = L2 ELSE IL = L1
    以來源檔及簽名檔中較小的檔案長度作為字串陣列設定值IL
    IF IL > 20480 THEN IL = 20480   'IL最大值為20K BYTE
    設定動態定長字串陣列
    '$DYNAMIC
    DIM RD$(2)
    定義字串變數長度
    RD$(1) = SPACE$(IL)
    RD$(2) = SPACE$(IL)
    若來源檔大於一次處理長度則分段進行加密,否則一次完成
    IF L1 > IL THEN GOSUB RECHA ELSE GOSUB NONRECHA
    ERASE RD$  '將動態陣列移除
    CLOSE : BEEP:
    LOCATE 20, 20: INPUT ; "Hit RETURN to continue.", ANS2$: GOTO 50

一次完成加密常式
NONRECHA:
    GET #1, , RD$(1)
    GET #2, , RD$(2)
    FOR I = 1 TO IL
    DSOR$ = MID$(RD$(1), I, 1)
    DCHA$ = MID$(RD$(2), I, 1)
    SOR% = ASC(DSOR$)
    CHA% = ASC(DCHA$)
    TAG% = SOR% + CHA%: IF TAG% > 255 THEN TAG% = TAG% - 256
    必要時可在此處加上其他演算法變碼
    DSOR$ = CHR$(TAG%)
    PUT #3, , DSOR$
    NEXT I
    RETURN

分次完成加密常式
RECHA:
    LAST = 0
    JT = INT(L1 / IL) + 1
    FOR J = 1 TO JT
    GET #1, , RD$(1)
    GET #2, 1, RD$(2)
    FOR I = 1 TO IL
    DSOR$ = MID$(RD$(1), I, 1)
    DCHA$ = MID$(RD$(2), I, 1)
    SOR% = ASC(DSOR$)
    CHA% = ASC(DCHA$)
    TAG% = SOR% + CHA%: IF TAG% > 255 THEN TAG% = TAG% - 256
    必要時可在此處加上其他演算法變碼
    LAST = IL * (J - 1) + I
    DSOR$ = CHR$(TAG%)
    PUT #3, LAST, DSOR$
    IF LAST = L1 THEN EXIT FOR
    NEXT I
    LOCATE 15, 30: PRINT "Proceeding   : "; LAST
    NEXT J
    RETURN

解密常式: 輸入相關檔名,打開檔案,視檔案相對長度決定一次讀入字串和陣列大小
370 CLS
    LOCATE 7, 20: PRINT "Input file name for Reduction Process"
    LOCATE 9, 20: INPUT "Charades file: ", SFN1$: IF SFN1$ = "" THEN 370
    LOCATE 11, 20: INPUT "Signature file: ", CFN1$: IF CFN1$ = "" THEN 370
    LOCATE 13, 20: INPUT "Reduction file: ", TFN1$: IF TFN1$ = "" THEN 370
    OPEN SFN1$ FOR BINARY AS #1
    OPEN CFN1$ FOR BINARY AS #2
    OPEN TFN1$ FOR BINARY AS #3
    L1 = LOF(1)
    L2 = LOF(2)
    若檔名輸入有誤,則重新輸入
    IF L1=0 OR L2=0 THEN
       BEEP: LOCATE 20,20
       INPUT ; "File Error! Hit RETURN to continue.", ANS2$
       GOTO 370
    END IF
    IF L1 > L2 THEN IL = L2 ELSE IL = L1
    IF IL > 20480 THEN IL = 20480
    DIM RD$(2)
    RD$(1) = SPACE$(IL)
    RD$(2) = SPACE$(IL)
    IF L1 > IL THEN GOSUB REDUC ELSE GOSUB NONREDUC
    CLOSE : BEEP:
    LOCATE 20, 20: INPUT ; "Hit RETURN to continue.", ANS2$: GOTO 50

一次完成解密常式
NONREDUC:
    GET #1, , RD$(1)
    GET #2, , RD$(2)
    FOR I = 1 TO IL
    DSOR$ = MID$(RD$(1), I, 1)
    DCHA$ = MID$(RD$(2), I, 1)
    SOR% = ASC(DSOR$)
    CHA% = ASC(DCHA$)
    TAG% = SOR% - CHA%: IF TAG% < 0 THEN TAG% = TAG% + 256
    DSOR$ = CHR$(TAG%)
    PUT #3, , DSOR$
    NEXT I
    RETURN

分次完成解密常式
REDUC:
    LAST = 0
    JT = INT(L1 / IL) + 1
    FOR J = 1 TO JT
    GET #1, , RD$(1)
    GET #2, 1, RD$(2)
    FOR I = 1 TO IL
    DSOR$ = MID$(RD$(1), I, 1)
    DCHA$ = MID$(RD$(2), I, 1)
    SOR% = ASC(DSOR$)
    CHA% = ASC(DCHA$)
    TAG% = SOR% - CHA%: IF TAG% < 0 THEN TAG% = TAG% + 256
    LAST = IL * (J - 1) + I
    DSOR$ = CHR$(TAG%)
    PUT #3, LAST, DSOR$
    IF LAST = L1 THEN EXIT FOR
    NEXT I
    LOCATE 15, 30: PRINT "Proceeding   : "; LAST
    NEXT J
    RETURN


陸、結語

以簽名檔作為隨機加密的密碼檔,也可用來作為檔案製作認證文件,如果通訊雙方 各用兩個共軛簽名檔重覆加密,更可確認雙方身分。例如收訊者和送訊者先交換簽名檔 送訊者再以自己和對方的簽名檔進行二次加密後,經由網路送給對方,受訊者收到檔案 再用這兩個簽名檔進行二次解密,便可將檔案還原。由於簽名檔可針對不同檔案隨時更 改內容,即使第三者截獲加密檔也很難解密。本文提到的隨機加密程式,經過編譯後處理 20K BYTE 檔案僅需數秒,實用性頗高。

簽名檔可用一般文字檔或二進位檔,最好使用字元比較有變化的檔案作簽名檔。色彩單 調的圖形檔或比較鬆散的檔案(可得高壓縮率的未壓縮檔),通常不適合作為簽名檔。一 般而言,使用經過壓縮的檔案進行加密或當作簽名檔,都可得到較好的加密效果。

普羅米修斯與潘朵拉-核能科技的沉思

普羅米修斯與潘朵拉-核能科技的沉思

張東瀛

原載  
自立早報 1990-02-05 (上)
自立早報 1990-02-06 (下)



很久以前,世界上只有男人沒有女人。普羅米修斯對人呵護備至;他不只教人築厝,從天上偷盜火種嘉惠於人,並施用巧計,使人分得祭品中的上肉,而讓諸神啃食肥油和骨頭。諸神不甘受愚,於是設計報復,將年輕貌美的潘朵拉送給男人作伴。潘朵拉下凡時,諸神以禮相贈,其中有個寶箱,裝滿災厄,特別交待,不可開啟。

男人為美色所迷,遂不顧普羅米修斯的警告,將潘朵拉迎進小屋,共效于飛之樂。平時男人出外狩獵,潘朵拉閒來無事,以猜測箱中寶物自娛。有一天她終於忍不住誘惑,掀開箱蓋一探究竟,於是猜忌、悲傷、疾病等災禍蜂湧而出。潘朵拉一時情急,放下箱蓋,可惜為時已晚,只有「希望」被留下來。

提出這段神話,無意冒犯女性讀者。只是用以闡釋西方世界對於能源科技的看法; 普羅米修斯盜取天火,使人獲得生氣與活力,因而觸犯天神,被鐵鏈囚於高加索山,鷲鷹天天啄其肝臟,但是新肉隨即生成,由於生命永續,終日受鷹啄之苦。潘朵拉的故事則說明人類對知識的好奇,有時不是福祉而是災禍。核能科技,便是典型事例。



萬一爐內失水或爐心冷卻功能失效

核能發電與火力發電的差別在於前者以核子反應器取代傳統鍋爐,並用原子核分裂產生的熱能代替石油或燃煤產生的熱能。目前世界各國,除了蘇聯和法國建造滋生式反應器以外,絕大多數採用輕水式反應器,也就是利用普通水作為緩和劑,將核子分裂後放出的快中子速度減低,轉變成慢中子,並利用普通水為冷卻劑以維持核燃料在一定溫度下反應。輕水式反應器分為兩型,第一型為輕水式沸水反應器,壓力較低,水在反應器內沸騰化汽,如金山的核一,國聖的核二。第二型為輕水式壓水反應器,爐內壓力甚高,水不汽化,如南灣的核三。一般電廠中比較少見的還有兩類:一種是氣冷式反應器,用二氧化碳或氦做為冷卻劑,石墨為緩和劑。另一種則是採用重氫與氧的化合物,俗稱重水,做為冷卻劑兼緩和劑的重水式反應器。

反應器是核能電廠的心臟,也是核燃料進行分裂的主要場所。由於核燃料具有高度的輻射危險,為了防止輻射線侵入周圍環境,燃料必須加上層層保護。以輕水式核能電廠為例,二氧化鈾製成的燃料丸先用陶瓷體加以拘束,再裝入鋯合金護套。護套外圍有8-10吋的合金鋼板焊接而成的反應器本體及管路系統。第四重為7-10呎的混凝土屏蔽牆,最外層則是將整座反應器包封在內的容器外?。

靜態燃料在多重防護下,輻射釋出的可能性不大,但是運轉中的反應器一旦爐內失水,或爐心冷卻功能失效,放射性分裂物所產生的大量衰變熱無法移除,爐心熔解,這時一場核子災變便無可避免。


核能電廠與核子彈一起聯想,只因核能電廠的爐餘剛好可用來製造核子彈

輻射線造成的災害,不論對人體或生存環境早有定論。除了核子武器以外,反應器是大量輻射的主要來源。能源短缺,迫使台灣早在六十年代末期便著手規劃核能電廠。中美斷交後,我方採購軍備,日益困難,雖然應否製造核武,眾說紛紜,然而擁有核武製造技術卻逐漸形成共識。

核能電廠與核子彈,不論本質和技術層次都不盡相同。這兩件事被一起聯想,只因核能電廠的爐餘,剛好可用來製造核子彈。核子彈的殺傷力有目共睹,製造原理,卻不困難。大學物理系學生,只要在圖書館花點心思便可理解。嚴格說來,製造技術已不是最高機密,核子俱樂部成員有限,主因還是原料取得困難。在台灣,若要製造核子武器,除了透過核能廢料,別無他途。國際間經由核燃料再加工和鈽的再循繯技術,擁有核武的例子屢見不鮮。滋生式反應器能將不適合做燃料的的鈾238轉變為鈽239,因而加速核武擴散,則是不爭的事實。

核三廠和佳山計劃大約在同一時期先後動工,很少人加以注意,即使部份媒體有意炒作張憲義事件,台灣民眾對於應否擁有核武並不特別關心。至少核子武器不像核能電廠一再受到反核人士垂青。如果現在來做民意調查,結果可能是反對建造核能電廠,贊成擁有核子武力。一般說來,發展軍事用途的核武阻力很小,做為和平用途的電廠反而備受爭議,舉世皆然。這種奇特現象,雖不致曲解為人類好戰心理作祟,卻值得觀察與了解。


反核絕非——宣導、睦鄰等方式可解決

反核勢力有一股聲浪,指責台電壟斷核能知識,濫用專家暴力,甚至意圖欺瞞社會大眾。這種論調,不但使台電有口難言,有時更會誤導民眾,造成管制核能科技的印象。 就知識層面而言,現代通訊技術發達,任何有心想了解核能科技的人,不僅可自教育或研究機構習得相關知識,更可透過各種資訊網路向世界各地的核能專家討教或交換研究心得。

就技術層面而言,核能電廠是個複雜龐大的工業組合,它的結構支離特性,即使美國核子工業也很難確實掌握,何況法規不斷修改,科技日新月異,在在需要加以配合。通常核子反應器建造者(如西屋公司)負責反應器和其它核子系統及元件。數個工程建造商(如奇異,ITT)負責其餘架構。營建商(如中華工程,唐榮和本地其他工程包商)進行現場施工。其間的合作與協調,則端賴台電和工程設計顧問公司(如核一的伊白斯公司,核二,核三的貝泰公司)運籌帷幄。

由於核能電廠個別差異頗大,實在無法量產,即使營建數廠也不一定能沿用已往的經驗。台電雖是業主,督造三個電廠下來,充其量只是獲得若干施工和運轉經驗,根本談不上規劃設計和製造技術。即使台電有心進行技術轉移,在國人不能容錯的心態下,也很難有所突破。從核三廠出水明渠備受各界爭議,便可窺見端倪。硬說台電壟斷核能科技,未免言過其實。

執政當局近年來致力溝通民意的努力,並未得到預期效果。民眾疑慮猶存,顯示反核抗爭絕非核能宣導,電廠睦鄰等方式所能解決。反核運動的主要人口,不外電廠附近居民,熱心環保人士,異議份子和部分反對黨成員。某些報導指出,環保抗爭運動經常出現若干熟悉面孔,反核運動業已淪為政爭工具或政治談判籌碼。此一說法固然凸顯反核運動中的政治因素,卻忽略它之所以存在的理由。

同樣的反核運動,觀諸美,日各國,顯得更有理性而較少政治色彩。從另一個角度觀察,不難理解本土民眾對當前政治環境的不滿與無奈,進而以非政治訴求做為抗爭焦點的心理。移情作用與情緒上的反彈有其特殊意義存在,絕非「泛政治化」一詞所能解釋。這種逼迫者兼具被逼迫者的角色功能,莎士比亞在威尼斯商人中便有精湛的描繪。在此並非假藉威尼斯商人影射反核人士的抗爭結果,但是反核情緒如果持續高漲,到最後,付出代價的將是全體國民。


國人對核能的恐懼心理,有不少部分來自電廠的施工品質

就能源的選擇性而言,水力發電是「看天田」。天然氣價昂量少,絕非合理能源。煤炭很難完全燃燒,酸雨和燃煤的後遺症要花費極高的代價來控制。燃油存量有限,產生的二氧化碳對氣候造成嚴重影響。太陽能和海洋溫差發電仍在實驗階段,經驗、競爭性有待觀察。相形之下,核能發電的燃料成本低,技術成熟,對環境的影響亦較火力發電為少。經濟部長陳履安曾說「放棄核能發電將是一項不切實際的想法」,他對能源政策的考量,可能是官方說法中最接近現實的觀點,可惜聽得進去的立委和民眾似乎並不多。這種現象不能責怪民眾無知,只能說核能事故頻傳,使人喪失信心。

賓州三浬島事件,一般認為是核能工業由盛而衰的轉捩點,蘇俄車諾比電廠只是雪上加霜。其實美國核能工業早在一九七九年事故發生以前就開始衰退。喪失吸引力的原因,表相是建廠成本太高,骨裡卻是反應器的安全性受到質疑。輕水式反應器過份依賴外在的強制冷卻系統與工廠操作員的防護,而操作員與電機元件卻無法百分之百信賴。設計者只好以多種或重疊的支援系統來維護安全需求。這些非核系統如果不能發揮預期功能,理論上便會造成爐心的損害,所以不得不以嚴格的法規來約束,如此一來不但建廠成本大幅提高,電廠架構也越趨複雜。不幸的是,花錢仍不得消災,反應器熔毀事件接踵而至,也難怪電廠附近居民談核色變,誓死抵制。國人對核能的恐懼心理,除了設計上的顧慮以外,還有一樣大家寧可懷疑,卻不願公開談論的話題,那就是電廠的施工品質。

基於安全理由,以核能電廠及核燃料再處理廠為對象,一九七五年修訂的聯邦法規第十篇第五十款附錄B便明訂十八條準則,要求業主(如台電)負責品質保證方案的建立與執行,其中對於安全功能有影響的作業,例如設計、採購、製造、裝卸、運輸、儲存、清洗、組立、安裝、檢查、試驗、運轉、維護、修理、燃料填放與設備修改等均屬受限範圍。至於申請建廠許可所需的初期安全分析報告(PSAR)和完工後申請運轉執照的終期安全分析報告(FSAR)都必須詳述相關品質保證方案。換句話說,核能電廠是以「制度」來保證品質,一般製造業採用的統計品管在核能工業根本無法適用。情況如此,從業人員的素質與操守便成了品質良窳的關鍵所在。

核能電廠從設計到施工,大約七到十年。這段漫長的歲月裡,建廠人員面臨的不只是技術更新和法規適應性的問題。經手上千億元預算,最大的挑戰,恐怕還是來自紅色的誘惑和黑色的壓力。基於核能的敏感特性,建廠過程如果發生弊端,外界很難知悉。但是完工後如果動輒停機或是意外頻傳,難免讓人懷疑工程品質有了問題。其它因素如購煤疑案至今仍未澄清,要民眾坦然接受由台電前總經理朱書麟背書的核能品質保證,未免過於樂觀。


如果只能以限電來緩和能源短缺,電力事業不妨開放民營

專家指出核子反應器目前最大的困境並非不夠安全。任何不安全因素都可藉著變更設計和系統改善來加以克服。許多技術評估指出反應器對公眾健康和安全危害遠比想像為少。造成困境的原因乃是因為這些評估的理論基礎不夠嚴謹而且正確性也值得懷疑。

核子反應器目前正朝著規模縮小,設計簡化,意外事故發生時容易控制等方向加以改進。新一代反應器在概念上特別強調它的強制安全特性,這樣做的目的有幾個好處,第一、如果冷卻系統失效,核心因分裂產生的熱能會經由自然對流或熱輻射逸散。這種強制冷卻系統足以避免爐心損壞。第二、核能與非核能系統不再相互糾纏,有助於降低成本。第三、強制安全設計使安全評估變得單純而且比較正確。

核能工業的未來,寄望於降低成本和科技突破。重要的關鍵則在如何拆除現有的藩籬。以公權力壓制群眾抗爭並非善策。改善當前政治環境,落實民主憲政,絕對有助於疏解反核情緒。

電力在台灣是獨占事業,成本壓力微乎其微。在這種得天獨厚的條件下,台電所能做的當不只是以更坦誠,更開放的態度面對公眾而已。如果只能以限電來緩和能源短缺,電力事業不妨開放民營。


如果人類和潘朵拉一樣好奇?

六零年代和七零年代的登月計劃確屬當代創舉。目睹這項過程的人,當能體會從太空中回首地球的一剎那帶給人類的震憾絕不遜於阿姆斯壯在荒涼的月表踏出那一大步。看到微小,藍白相間,美麗卻顯得無助的地球在太空中飄浮,很少人不受感動。地球只是宇宙滄海中的一粟,這樣的認知,促使人類特別珍惜這塊土地。十八年來對自己賴以生存的環境充滿無限關愛。從當初夢想征服宇宙,到如今致力生態保護,這種過程的轉變,頗富意義。

諾貝爾經濟學獎得主,人工智慧研究者,赫伯‧賽門(Herbert A. Simon)認為科技是人類的知識,就像普羅米修斯從眾神盜取的火種,基本上是人所必需的。如果人類和潘朵拉一樣,忍受不了好奇心的誘惑,箱子打開,蓋不回去,災難和罪惡全跑出來,即使還有希望,後果仍舊不堪設想。當我們開發新的科技,不應把它視為征服自然或宇宙的武器而急著去應用。換句話說,即使知道某些東西的製造方法,最好還是稍安勿躁,至少應先了解該不該製造,能否收放自如。

核能科技使人類瀕於兩難,魚與熊掌能否兼得?核四用地一旦收回,無異宣告核能已死,放棄核能動力,對國人和後代子孫而言,是否明智之舉?普羅米修斯和潘朵拉的神話,或可帶給我們若干啟示。

2010年7月20日 星期二

Tsiaⁿ--Gue̍h ê Si-Kue * 一月のスイカ A Watermelon in January * 正月的西瓜

Tsiaⁿ--Gue̍h ê Si-Kue * 一月のスイカ
A Watermelon in January * 正月的西瓜


田村志津枝 (英、日文)原著
張東瀛 (台、中文)翻譯





Tsiaⁿ--gue̍h ê si-kue

Ta̍k-ji̍t lóng li̍p-khì tsàu-kha kuí-nā-páiⁿ. Guá m̄-sī hit-tsióng ài tī tsàu-kha bong kui-poo ê lâng, sī huat-kak tio̍h tsiú-tī tsàu-kha ê sî-kan tsiah-tsuē liáu-āu suah tshuah-tsi̍t-tiô. Siá-kó siá gah thiám, á-sī tshin-tshiūⁿ siūⁿ tio̍h siáⁿ-huè koh siūⁿ-bē-tshut--lâi ê sî, káⁿ-ná lóng-ē tī bô-ì-tiong tiàm tshù-lāi kiâⁿ-lâi-kiâⁿ-khì, tsū án-ne, kha tō hāⁿ li̍p-khì tsàu-kha.

Tsim-tsiok siūⁿ--khí-lâi, tû-pâng iā ē-sái kóng sī tshù-lāi tsū-jiân ê tiûⁿ-sóo. Hia ū-tsuí, ū-hué. The̍h-tshài kah hî ê sî, hóng-hut a̍h ē-tàng phīⁿ tio̍h tsháu-tē tshân-hn̂g hâm hái-piⁿ ê khì-bī. Nā tī tsàu-kha teh siau-iâu ê sî, hut-jiân-kan mā-ē siūⁿ tio̍h tsi̍t-kuá liāu-sióng-bē-kàu ê tāi-tsì.

Tsit-kuí-ji̍t-á, ka-pi iōng liáu--ah, guá tō phàu-tê lâi lim. hiâⁿ-kún-tsuí, thǹg tê-kóo-au-á, tsim-tsiok tê-hio̍h beh khǹg juā-tsē ê sî-tsūn, iā m̄ tsai-iáⁿ ná-ē hut-jiân siūⁿ tio̍h guán guā-má. In-uī in-tshù lī guán tsia ū--tsi̍t-tē-ah, ē-tàng kìⁿ-bīn tsò-hué ê sî-kan ē-sái kóng sī tsiok-tsió.

He ing-kai sī guá kok-hāu-á saⁿ nî ê sú-ká. Guá hâm guán a-tsí khì tuà-tī Khòo-bè ê guā-má in-tau. Guá sī hit-tsióng tsiok-nah-nng iû-koh ē hîn-tshia ê lâng, tō-sī án-ne lūn-tsin-kóng guá tuì lī-khui pē-bó tshut-guā lú-hîng mā bô-juā huaⁿ-hí.

Guán tuā-tsí ta̍k-li̍t to hâm piáu-tsí in khì ke-á, khì hái-piⁿ tshit-thô. Jua̍h--lâng ê-tàu tshù-lāi tiām-tsiuh-tsiuh, ta̍k-ji̍t lóng tshun guá hâm guán guā-má nn̄g-ê-lâng. Tān-sī guá khuàⁿ tio̍h guán guā-má tō phī-phī-tshuah.

Guā-má in-tau tī tsiàn-tsing ê sî-tsūn hōo khong-si̍p lòng-phái--khì, Tuā-hàn hāu-seⁿ iā tsiàn-sí, suah bô tńg--lâi. Hit-tsām ê tshù iáu-sī lîm-sî tah ê kang-liâu. Sui-jiân sī án-ne, guán guā-kong siōng ì-ài ê hue-tsháu, tshiū-ba̍k tī po̍k-kik liáu-āu suah tshin-tshiūⁿ kî-tsik án-ne ua̍h--lo̍h-lâi. Sóo-í guā-má ê tshù tī guá khuàⁿ--khí-lâi káⁿ-ná sī tshiū-nâ lāi-té iōng môo-huat piàn--tshut-lâi ê sè-king tshù-á.

Guā-má tiāⁿ-tiāⁿ kiâⁿ kuè tshiū-nâ khì āu-piah-tiâⁿ, I tī hia tsìng tsi̍t-kuá tshài, tshī tsiok-tsuē ke. Guá bih tī sió-ji̍p-mn̂g āu-piah thau-thau-á khuàⁿ guán guā-má tuî tshiū-á-kha tshut-hiān, I tshiú--nih the̍h tsi̍t-kha nâ-á, lāi-té ū té-gah ná-suaⁿ ê pe̍h-ke-nn̄g, tsin-tsiàⁿ ū-iáⁿ ē hōo-lâng lia̍h-tsún sī tsi̍t-ē ē-hiáu piàn-môo-huat ê a-pô. Thâu-khak-tíng tì tsi̍t-tíng tuā tsháu-bō-á, pe̍h-thâu-moo koh giàng-giàng, khàm-teh bīn-nih, hōo guá lú-siūⁿ lú-kiaⁿ, lú-su-liām guán lāu-pē-lāu-bú.

Guán guā-má tāi-khài niā-tsún guá nah-nng koh pì-sù ê khuán. Tiāⁿ-tiāⁿ kiò guá the̍h ke-nn̄g hōo tshù-piⁿ-thâu-bué, ū-tang-sî-á mā-ē khǹg tsi̍t-kuá hn̂g--nih tsìng ê kiô-á, sè-tiâu tshì-kue-á, á-sī hue-tsháu.

Ū-tsi̍t-ji̍t, guā-má tshuā guá khì bé-mi̍h-kiāⁿ. Kiâⁿ-kàu ke-á-piⁿ ê saⁿ-kak-thang, guā-má tō thîng-kha, the̍h-tsîⁿ hōo--guá, kiò guá khì tshài-keh-á hia bé si-kue. Guá khiā tī tiàm-thâu-tsîng, khuàⁿ tio̍h lāi-té tsiok-tsuē-lâng, suah m̄-káⁿ li̍p-khì. Tú-teh tùn-teⁿ ê sî-tsūn, guā-má kā guá giú-uá i ê hōo-suàⁿ ē-kha, án-ne kā guá kóng:

" Lí tshut-sì ê sî-tsūn, A-má ū khì tàu-saⁿ-kāng neh! Lí pîng-an seⁿ--lo̍h-lâi liáu-āu, guán teh tsia̍h ê si-kue, ū-kàu hó-tsia̍h. "

Kám-sī in-uī tsit-kù-uē ê kóo-lē, hōo guá ū ióng-khì kiâⁿ li̍p-khì bé tio̍h si-kue. Guá í-king bē kì--tit. Tān-sī guā-má tsit-kù-uē khak-si̍t hōo guá kám-kak tsin huaⁿ-hí. In-uī tong-sî guā-má tsē-tsûn koh tsē-hué-tshia lâi khuàⁿ--guá, tī-teh ū ji̍t-kong tsiò--ji̍p-lâi ê pâng-king--nih, tsi̍t-bīn thiaⁿ tio̍h guá teh tuā-siaⁿ khàu, tsi̍t-bīn teh tsia̍h si-kue, kan-na siūⁿ tio̍h án-ne, guá kui-sing-khu tō kám-kak tsiok-un-luán.

Beh tńg-khì tshù--nih ê hué-tshia-lāi, kā a-tsí kóng tsi̍t-kiāⁿ tāi-tsì ê sî, a-tsí bô-tiuⁿ-tî suah kā guá kóng
"He sī teh kóng guá tshut-sì ê tāi-tsì, sī a-má kì-m̄-tio̍h lah!"
Guá kiaⁿ-tsi̍t-ē suah bē-kóng-uē, a-tsí suà--lo̍h-khì koh tuì guá kóng
"Koh-tsài kóng, lí tshut-sì ê sî-tsūn sī it--gue̍h; tsún kóng tī Tâi-lâm, ā-bô si-kue thang-tsia̍h!"

Tshut-sì tī Tâi-lâm, kòo-hiong ê tāi-tsì, guá tsi̍t-tiám-á lóng siūⁿ bē khí--lâi. Sóo-í bô-huat-tōo, guá kan-nā ē-tàng tiām-tiām. Tshuì ha̍p--khí-lâi ê sî, guá mā tsiong tsiah-ê-uē khǹg-tàm sim-kuaⁿ-lāi. Sīm-tsì tsiong-kî-bué, guá mā m̄-bat kā guán pē-bó kóng tsit-hāng tāi-tsì.

Guán guā-má tsū hit-tsām í-āu, in-uī khîⁿ-ke ê tuā-sim-pū kuè-sin, suah ài ka-kī tshiâⁿ-iúⁿ nn̄g-ê-sun tuā-hàn. Piáu-tsí in nā-teh kóng tio̍h guā-má lóng-ē the̍h-khí guā-má tsiok giâm ê tāi-tsì.

Tâi-lâm tsiaⁿ--gue̍h kám ū si-kue thang tsia̍h? Kàu tsit-má, guá mā m̄-tsai tàu-té sī-ū iá-sī bô. M̄-kú tī guá ê sim-lāi, tsit-má iáu-koh ē-tàng tsin tshing-tshó khuàⁿ tio̍h guán guā-má bî-bî-á tshiò, huaⁿ-hí teh tsia̍h si-kue ê bīn-iông.





一月のスイカ

一日のうち何回となく台所に立つ。台所仕事が好きなわけではないくせに、気がつくと台所にいることが多い。どうやら原稿を書きあぐねたとき、あるいは何かを思い出そうとして思い出せないとき、無意識のうちに家の中をうろうろしたあげく台所に足を踏み入れるらしい。

思えば台所は、家の中の自然とも言えなくはない。水があり、火がある。野菜や魚を手に取れば、はるかな田園や海辺の息吹が身辺にただよう気がすることもある。だから知らぬまに、眠っている感覚を刺激されるのではないだろうか。台所で無心になったとき、思わぬ事柄がふいに脳裡をよぎることがある。

つい最近のことだ。コーヒーをきらしたので緑茶をいれることにした。湯を沸かし、急須や茶碗をあたため、茶葉の量を加減しているうちに、なぜかふと母方の祖母のことを思い出した。遠く離れて暮らしたせいで、会った回数も一緒に過ごした時間も数えるほどだというのに。

あれは確か小学校三年の夏休みのことだ。姉と一緒に神戸に住む祖母の家に行った。私は引っ込み思案のうえに乗り物酔いするたちだったから、本当は親元を離れての旅などちっとも嬉しくはなかった。

姉は来る日も来る日も、従姉たちと海へ街へと出かけていく。日盛りの午後のひっそりとした家の中で、私はたいてい祖母と二人きりだった。けれども実をいうと私は内心、祖母を薄気味悪く思っていた。

祖母の家は戦争中に空襲で焼け、しかも長男が戦死して帰らぬ人となったため、そのころもまだ急造のバラックのままだった。ところが祖父が好きだった数々の庭木や生垣だけは、見事に焼け残ったのだという。だから祖母の家は私の目に、まるで森の奥の魔法使いの小屋のようにうつった。

森を抜けた裏庭で、祖母は野菜を作り、たくさんの鶏を飼っていた。白い卵を山盛りにした籠を下げて木陰から現れる祖母を、私は障子の陰から盗み見て、本当に魔法使いのおばあさんみたいだなどと考えた。つば広の麦蕎帽子や乱れた白髪が、よけいに私の想像をかきたてる。私は父母が恋しくてたまらなかった。

祖母はたぶん、意気地なしの私を不甲斐なく思ったのだろう。近所の家に卵を届けるお使いをさせるようになった。ときには畑のナスやキュウリや草花も添えられた。

ある日祖母は、私を買い物につれだした。商店街の角で立ち止ると私にお金を渡し、あの八百屋でスイカを買っておいでと言った。店先のにぎわいぶりに私が尻込みしていると、祖母は日傘のなかに私を抱き寄せてこう言った。

「あんたが生まれるとき、おばあちゃんはお手伝いに行ったのよ。あんたが無事に生まれてから食べたスイカの、おいしかったこと」

その言葉に励まされて無事にスイカが買えたのかどうか、何もおぼえていない。ただ祖母のこの話が私を無性に喜ばせたのは確かだ。おばあちゃんは、船に乗って、汽車に乗って、私のところへ来てくれたのだ。元気な赤ちゃんの泣き声を聞きながら、明るい日の射し込む部屋でスイカを食べたのだ。想像しただけで心も体も暖まるような気がした。

帰りの汽車の中でこのはなしをすると、姉はぴしゃりと決めつけた。
「それは、わたしが生まれたときのことよ。おばあちゃんは勘違いしているのよ」
驚いて口ごもる私に、姉はさらに言いつのった。
「だって、あんたが生まれたのは一月でしょ。いくら台南でも、スイカがあるはずがないじゃない」

生まれ故郷の台南のことは何ひとつおぼえていない。だからわたしは仕方なく口をつぐんだ。つぐむと同時に私は、この話を心の奥底にしまい込み、蓋をしてしまった。それきり父母にもこの話はしないままだった。

祖母はその後、支えあって生きてきた長男の妻にも先立たれ、二人の孫を自分の手で成人させた。従姉たちは祖母を偲ぶときには必ず、祖母の厳格さを話題にする。

台南で一月にスイカが食べられるか。いまだにちゃんと確かめたことはない。けれど私の心には、輝くような笑みを浮かべてスイカを食べる祖母の図が、いまもそのままよみがえる。





A Watermelon in January

I stand in my kitchen many times a day. Although I am not a person who likes to work in a kitchen, from time to time I find myself staying there. It is highly probable that when I am tired with writing, or when I try to remember something important, I walk around unconsciously here and there in my house, and at last step into the kitchen.

It seems to me that a kitchen is nature in a house. There we have fire and water. When I grab a vegetable or a fish, I feel a breath of the countryside or the seashore far away. When I feel free in my kitchen, something comes to my mind unexpectedly.

Recently, I had run out of coffee beans, so I tried to make a cup of green tea for myself. I boiled water, warmed a teapot and cup, then spooned up carefully apropriate amount of tea leaves. Then I don't know why I suddenly remembered my grandmother on my mother's side. Nevertheless we lived far from each other, I met her few times, and spent little time together.

I dare say it was during summer vacation when I was in third grade in primary school. I and my elder sister went to see my grandmother who lived in Kobe. I was shy and retired, besides I tended to get car sick. So honestly I was not happy about leaving home and traveling.

My sister went out with our cousins day by day to a town or to the sea. So in the afternoon, heat of the day, I usually stayed at home with my grandmother. In my heart I was scared of my grandmother.

Her house was burnt by air raid during the war, and besides her eldest son was killed in battle, never came back. So it was still just a quickly-built barrack. However the hedges and the trees which my grandfather cherished remained unburned, they said. Therefore my grandmother's house seemed to me a witch's hut in a deep forest.

Grandma went through the forest to the backyard, planted vegetables and kept a lot of hens. She appeared from the forest with a big basket full of white eggs. I peeped her from a slide door and thought she really looked like a witch. Her big straw hat and white hair fallen over her face roused my fear. I missed my parents very much.

Grandma perhaps felt sorry for my cowardness, let me go to neighborhood to deliver eggs, sometimes with eggplants or cucumbers or flowers from her garden together.

One day she took me to shop. At the corner of a shopping street, she stopped and gave me money. She said to me to buy a watermelon from a grocery. The shop was so crowded that I dared not enter, she pressed me under her parasol and said.

"When you were born, I went to you to help. After you came out safely, we ate a watermelon. It was such a delicious one!"

I don't remember if her words encouraged me to buy a watermelon or not. I just remember that her words made me very happy. At that time grandma rode in a ship, then in a train, came all the way to see me. In a room full of bright sunshine, she ate a watermelon hearing a cheerful baby's cry. Just by imagining it, I felt so pleased from the bottom of my heart.

On my way home in a train I talked to my sister about that. She made a rash judgement.
"That's when I was born. Grandma made a mistake."
I was too surprised to speak back. She continued.
"Because you were born in January. Even in Tainan there was no watermelon in January"

As I don't remember anything about my birthplace Tainan, I decided to shut my mouth. And at the same time I buried grandma's words in the deepest place in my heart, and covered them. I never talked this story even to my parents.

After that my grandmother lost her son's wife with whom she had helped each other. Grandma raised two grandchildren by herself. Whenever they recall grandma, they talk about her strictness.

Is it possible to eat a watermelon in January in Tainan? I haven't made sure yet. However the image of grandma eating a watermelon with a big smile still comes up in my mind.



正月的西瓜

每天總要進出廚房好幾次。雖然我不是愛呆在廚房的人,只是常常驚覺到花在廚房的時間還真不少。寫稿累了,或是想破頭的時候,不知不覺中總會在家裡來回踱步,然後一腳跨進廚房。

細想之下,廚房也可說是家中自然的場所。有水、有火。取出蔬菜或魚,彷彿可以聞到遠方鄉村和海邊的氣息。在廚房裡感到自在時,意想不到的事,竟油然而生。

最近咖啡沒了,只好沖一杯綠茶來喝。煮開水,燙茶壺和杯子,揣度要放多少茶葉的時候,突然想起外婆。因為彼此距離遙遠,見面的機會或相聚的時間並不多。

應該是國小三年級的暑假,我和姐姐到神戶的外婆家。我是那種很害羞又會暈車的人,因此,對我而言,離家遠行並不是一件快樂的事。

姐姐每天都和堂姐們上街或到海邊玩耍。大熱天下午,通常只有我和外婆在屋子裡,只是我心裡非常怕她。

戰爭時,外婆的家遭到空襲,燒毀殆盡。長男也戰死沙場,一去不回。因此,那間房子還是簡陋的工寮。雖然如此,外公最喜愛的花草樹木卻在戰火中倖存。所以,外婆的家在我眼中宛如森林深處的魔法小屋。

外婆穿越樹林走到後面的院子。她在那裡種一些蔬菜,養許多雞。我躲在拉門背後偷偷看她從樹蔭下出現,手裡提著裝滿白色雞蛋的籃子。她頭戴大草帽,滿頭白髮參差不齊,散落在臉上,像極了會施魔法的巫婆。我越看越怕,不禁想念起爸爸媽媽。

外婆大概認為我太懦弱吧!老是叫我拿雞蛋給附近的鄰居,有時也會放一些園裡種的茄子、小黃瓜,或是花草什麼的。

有一天,外婆帶我去買東西。走到商店街三角窗就停下腳步,拿錢給我,要我去蔬果店買西瓜。店裡人很多,我猶豫著不敢進去,外婆把我拉到她的陽傘下,對我說:

「你出生的時候,奶奶有去幫忙哦!你平安地生下來以後,我們吃的西瓜,好好吃哦!」

我不記得是否因為她的話讓我鼓起勇氣買到西瓜。但是外婆這些話確實讓我感到高興。因為當時的外婆要乘船、坐火車才能來看我。在充滿陽光的房間裡,一邊吃西瓜,一邊聽我大聲哭喊。一想到這樣的情景,渾身上下都覺得溫暖起來。

在回家的火車上,和姐姐說這件事時,姐姐毫不猶豫地告訴我:
「那是我出生時的事情,奶奶弄錯了!」
我聽了嚇一跳,當場說不出話來,姐姐接著說:
「何況你是一月份出生,就算在台南,也不會有西瓜呀!」

對於出生地台南故鄉的事,我一無所知,所以只能沉默以對。同時也把外婆說的話放在心裡最深處,埋藏起來。即使到後來,我對父母也隻字未提。

在那之後,因擔負家計的長媳先她而去,外婆只好獨自扶養兩個孫兒。堂姐們談到外婆時,總會提到外婆的嚴厲。

台南,一月份的時候,可以吃到西瓜嗎?直到現在,我也說不準。但是外婆面帶微笑,享用西瓜的畫面,在我內心依然清晰可見。

2000年12月20日 星期三

落葉

落葉

 

葉落不隨流水去, 化作春泥還護花

「被遺忘的年代 - 誰來追尋幌馬車之歌」 原載 1990-01-11 自立早報
1994-07-07 改編為多媒体


本計劃應用 VIKON 多媒体管理系統進行編輯及播放,內容包括:


                  第  一  篇 馬戲團歌手(一)
                  第  二  篇 馬戲團歌手(二)
                  第  三  篇 大溪隱者(一)
                  第  四  篇 大溪隱者(二) 
                  第  五  篇 萊茵河女妖與夜來香(一)
                  第  六  篇 萊茵河女妖與夜來香(二)
                  第  七  篇 萊茵河女妖與夜來香(三)
                  第  八  篇 萊茵河女妖與夜來香(四)
                  第  九  篇 留白的歲月(一)
                  第  十  篇 留白的歲月(二)
                  第 十一 篇 禁忌的遊戲(一)
                  第 十二 篇 禁忌的遊戲(二)
                  第 十三 篇 誰來追尋幌馬車之歌(一)
                  第 十四 篇 誰來追尋幌馬車之歌(二)                           



馬戲團歌手(一)




第一次聽到「幌馬車之歌」應該是 1958 年
那年父親把積蓄數年,預備訂製西裝的預算,大約二千塊台幣
換來一部附有唱盤的真空管收音機

是個深秋的夜晚,家人正在聆聽唱片
門口忽然傳來一陣歌聲與音樂相和
我好奇推窗外望,只見一位中年婦女,靠在牆邊低聲唱歌
猛然發現有人探頭,有點不好意思

母親知道她在市場賣肉,於是請她進來
歐巴桑說,她從我家經過,經常聽到熟悉的音樂
所以忍不住,唱了出來

原來她曾是馬戲團的首席歌手,台灣光復後,戲團解散,她也嫁為人婦
丈夫是個肉販,所以她在市場看攤



馬戲團歌手(二)





母親和她聊完一些瑣事,我趁機央她唱歌
此後她偶而會到我家
有時沉醉音樂聲中,默然無語
興致來時便高歌一曲

記得她有一項絕活
可以模彷男聲,唱出宮本武藏的「花之小次郎」
至於「幌馬車之歌」「沙鴦之歌」,「 MARIA MARIA」「紅屋之娘」
這類歌曲,唱起來一點也不含糊

當年的我,正值青春期
頗能體會那種寄情音樂,渾然忘我的浪漫氣氛

不久,電唱機日漸普遍
歐巴桑來家裡的次數銳減
這段音樂之旅,便告中止



大溪隱者(一)




數年後我負笈台北
曾在桃園鄉下,看到一架手搖留聲機

這種機器,只能播放 78 轉唱片
轉盤靠發條上緊,不需供給電源
唱針就像鋼釘,用手工在刀石上磨尖後,固定於圓形唱頭
唱盤轉動,舒伯特的小夜曲便從喇叭輕瀉而出

留聲機主人,守著一片小店
出售日用雜物,閒時聽歌自娛

櫃台左邊有個木櫥,置放唱片
從精緻的商標可以看出,哥倫比亞和有隻蹲狗的勝利牌,佔大部份
唱片中除了古典音樂以外,還有西班牙探戈,日本古樂和流行歌曲
看來數量頗豐



大溪隱者(二)




吳先生大約六十來歲
談到唱片,如數家珍
濃厚的書卷氣外,感覺上隱約帶著一絲落莫
據我推測應是舊制中學畢業,說不定還上過大學

我正奇怪,這樣的人怎會擺攤營生
只是當時天色已晚,又是萍水相逢,不敢妄加探詢

話別後未再聯絡
但是老人的音樂素養和談吐風采,卻讓我印象深刻

三,四年前,舊地重遊,亟思再訪故人
奈何人事已非,終不復尋



萊茵河女妖與夜來香(一)




「悲情城市」有一節文青和寬美聆賞羅蕾萊(The Loreley)的片段,相當感人

記憶中的父執輩親友,大都喜歡唱歌
他們不只唱流行歌,也唱民謠和所謂的世界名曲

戰前市區水準較高的小學畢業生
對古典音樂的認知
恐怕會使今天的大學生汗顏[註一]

[註一] 

小學音樂鑑賞教材中,歌劇戲曲,古典音樂佔大部份
中學三年,聲樂曲和器樂曲範圍更廣
參見「中小學校音樂科總合指導書」計九冊
日本全音樂譜社出版 1960-1962
百餘位當代日本音樂教育工作者聯合著述
多數執筆者初次任教年代最早為 1928,稍晚的也在 1940 年前後
從時間上推算,這些人正好是當年在台從事中小學教育者的同輩人物



萊茵河女妖與夜來香(二)




十多年前,我在某機構任職
有位會彈鋼琴的同事和女友閒聊
順口說台灣人不懂欣賞音樂,只配聽歌仔戲
那時血氣方剛,免不了反唇相譏

其實,歌仔戲也沒有什麼不好
只是小時候常聽母親吟唱世界名歌
從西洋文學中也略知萊茵河女妖的典故
於是祭出這首「名曲」
雖沒讓他灰頭土臉,也算替台灣人出一口氣

1983 年夏天,為了搜集日據時代台灣人的生活背景資料
我開始進行一些田野調查工作
從資料上研判,戰前日本推行「皇民化運動」
雖然有意貶低台語歌曲,仍未禁絕或醜化本土音樂
光復初期,台灣人照樣能說能唱優美典雅的台語和民謠

(背景音樂: 歌仔戲 - 白虎堂(穆桂英) 陳玉安詞  陳秋霖曲)
(永吉  雪梅  阿嬰  秀鑾  主唱  日東唱片發行)



萊茵河女妖與夜來香(三)





早期的台灣音樂創作者如陳達儒,鄧雨賢
陳秋霖,陳君玉,陳玉安等人的作品
都曾灌製唱片,廣泛發行[註二]
若干台灣名謠甚至被改編成日本歌曲 [註三]

[註二] 白虎堂(穆桂英): 陳玉安詞  陳秋霖曲  日東唱片
       鳳嬌嘆: 陳達儒詞  文藝部編曲  勝利唱片
       戀愛風: 陳君玉詞  王福(彩)譜  勝利唱片
       夜來香: 陳達儒詞  陳秋霖  曲  勝利唱片

[註三] 栗原白也曾將鄧雨賢的作品「 雨夜花」「月夜愁」
       配上日文歌詞,由日本哥倫比亞唱片灌製發行
       台灣光復後,原由周添旺作詞
       鄧雨賢作曲的月夜愁
       經老牌歌星文夏另行灌唱 78 轉唱片
       由亞洲公司發行,曾經風靡一時

(背景音樂: 夜來香  陳達儒 作詞  陳秋霖 作曲)



萊茵河女妖與夜來香(四)


骨董唱片堆裡陸續發現的證據
充分說明了殖民統治時期的台灣人
不僅唱世界名歌,聽歌仔戲,還創作為數不少的「台灣歌仔」

如果音樂確是一種文化
那麼它所反映的時代背景,其內涵之豐富當超乎我們想像之外
這些鄉土音樂在戰爭餘燼裡被留存下來,想當年必有一段風光歲月

然而曾幾何時,台語卻像猶太人胸前的黃牌
台灣歌謠也成了低俗不雅的象徵
知識份子輕視排斥,中產階級不屑一顧
只有那販夫走卒,擔蔥賣菜之餘,咿咿喔喔唱將起來
本土歌謠的沒落,正是臺灣人命運的觀照

(背景音樂: 月夜愁  周添旺 作詞  鄧雨賢 作曲  文夏 演唱)



留白的歲月(一)




以日文做為文字語言的台灣人,如何看待世事?
他們的情感是細緻,還是粗糙?
戰後四十年間,他們的生命力和當代社會脈動有何關連?
這些問題實在值得觀察與了解

同一時期,閱讀「請問芳名」,「人間的條件」
這類作品的日本人和台灣人心境有何差別?

比起同輩的台灣人
戰後被遣送回國的日本讀者可能幸運多了

我曾訪談數位 1920 年代出生的老婦人
從塵封已久的記憶裡,娓娓道出童年舊事
她們依稀記得,秋末遠足
沿途歌聲盈耳,落葉滿地
年代雖遠,色彩依舊十分鮮明



留白的歲月(二)

 
 
 

時光的消逝
並未讓她們遺忘當年物質生活的艱苦
也沒有淡化她們對良師的尊敬與眷戀

濃烈的師生之情,從滿佈魚尾的眼角和牽動皺紋的嘴邊散播出來
那種精神上的豐碩與滿足,讓人羨慕

但是她們很少,甚至不願提及戰後種種
彷彿生活只是負擔,肩上重軛仍未去除
看著她們,大溪老人的映象,再度浮現腦海

我驀然驚覺
母親許久不再唱歌
不禁自問
難道她們的歡笑,僅止於無憂的童年
或是不公不義的世界,迫令她們謹言慎行?



禁忌的遊戲(一)

 
 
 

自立副刊,去年(1989)十二月十五日
田村志津枝在「追尋幌馬車之歌」文中提到
「絕大多數的日本人,對於電影(悲情城市)
所出現的九二八以及做為電影背景的
二二八事件毫無所知」值得我們深思

無知與認同之間,原本毋需太多橋樑
「悲情城市」引起的歷史爭議和田村的迷惑
其實正是做為台灣人知識份子最大的悲哀!

解嚴以前,有關二二八事變的調查研究
大都偏重因果分析,甚少觸及文化層面的探究
從表面觀察,可能是當年的傳播媒體,不若今日普及,資訊取得不易
實際上則是當局刻意壓制與淡化所致

解嚴後言論尺度有限制地寬放
不僅未能擦亮史實,反而更因意識形態的激烈衝突
和政經形勢日趨複雜,迫使「糊化」過程加速
而「包裝歷史」的風潮,也從幕後走向台前

(背景音樂: 春花望露  江中清作詞  作曲)



禁忌的遊戲(二)




這種現象並不限於,政經,文化,藝術
即使連作風嚴謹的學術界,亦不能免

台大校長孫震接受天下雜誌訪談時曾說:
「當年中央政府帶著二百萬人來台灣
  剛好填補日本人撤退後台灣的空虛
  這二百萬人大多水準很高...」

飽受戰火蹂躪的台灣人菁英
在二二八事變及五零年代政治肅清運動中,幾被捕殺殆盡
這些空檔「剛好」為大陸人士填補,是事實
然而二百萬人中,因戰亂失學或粗識文字的士兵佔大多數
和孫校長年紀相仿的少年學生也為數不少
說「大多水準很高」,實在令人難解

年輕一輩要關心的不該侷限於二二八事變本身
實應注意四十年思想禁錮,對本土民性和社會的衝擊
田村的研究若能著眼於此,當可重現台灣人被棄置的一面

(圖片資料來源: 天下雜誌 No.81 P.69 七十七年二月)



誰來追尋幌馬車之歌(一)





戰後初期,倖存的台籍知識份子
有的低報學歷,有的遠走他鄉

這些人閉口不提二二八
兒女遠行之際,諄諄告誡
不可談論政治,不可參加台獨
不要忘記咱們早在三百年前,背負神祇渡海來台

他們一生做牛做馬,默默工作
胼手胝足的成果,被說成「奇蹟」
坎坷的心路歷程,卻無人聞問

當歷史的見證者,逐漸凋零之際
讓一部像「悲情城市」這樣的電影
來重新包裝他們,是否公平?




誰來追尋幌馬車之歌(二)




「他們望不遠,他們看不深
但是誰能阻住,他們向海凝神?」

Neither out far Nor in Deep  -- 佛洛斯特 R. Frost --

果陀何在? 什麼時候,台灣人才能爭脫夢魘,不再讓歲月留白?
This website is sponsored by VIKON Corp.
Copyright July 1996. All rights reserved.

Last update : 1999-11-01
有什麼建議嗎 ? 來信請寄:

  vikontony@gmail.com 

1999年10月20日 星期三

電腦多媒体專輯製作紀實

電腦多媒体專輯製作紀實

張東瀛 

原載 1998-7 微電腦傳真 p.282-286

 
 






壹、 前言 一九九二年春天,我把論文(A multimedia-based bilingual instructional system using an expert system shell 參考資料 4)中,與多媒体資料庫相關的部分改寫成多媒体編輯系統,用來整理歷年蒐集的台灣文化紀錄。 隨著硬体技術的發展,在 DOS處理圖形及音效開始有令人滿意的結果。 兩年前將影像部分以 MPEG-1格式在 Pentium-133 機台播放,畫質雖未盡理想,仍可接受。 後來又寫一個簡單的多媒体播放程式,將編輯好的文字和圖形合併,以圖形方式顯示,音效和影像外掛。如此一來,不論從DOS 或WINDOWS 95 都可瀏覽多媒体資料庫。
數年前,我對電腦多媒体已有所憧憬和期許(參考資料 3,5,6)。 雖然如此,個人整理資料,緩不濟急,不論深度和廣度都有所不足。 再者,相關資料之引用, 牽涉繁複的著作權問題,使得電腦多媒体開發製作,不論成本和難度都相當高。 幾年下來,我的認知是,凡事要靠機緣,不可操之過急。
去年夏天,在第三屆世界臺灣語文營巧遇林榮德教授。 林教授是我在台南市中求學時的音樂老師,致力兒童音樂教育多年,音樂和油畫創作曾在紐約林肯中心演出展示, 是個蜚聲國際的藝術工作者。隨後,林老師表示,希望把歷年作品做有系統的整理, 製成多媒体光碟。我想到有個現成的多媒体編輯管理系統,便答應下來。 作過可行性評估,把手邊的個案結束,決定用多媒体資料庫的方式來處理林教授的作品。 以知識工程技術,開發本土文化資源,一直是努力的目標之一。「林榮德音樂藝術專輯」, 終於讓我圓了這個夢想。
本文記述這個專輯的開發過程,文末隨附相關論文,謹供有興趣的讀者參考。



貳、軟硬体設備
從前硬体價位相對偏高,一九八二年間,一部單面單密度軟碟機要價台幣壹萬元,相當於大學畢業生一個月的薪水,當時開發軟体必需考慮硬体的普遍性。近年來電腦價格大幅滑落,更新周期更短,軟体設計不能以入門機種作為訴求。 在臺灣,多數個人電腦使用者選擇 IBM 相容PC。 因此軟体設計和測試都在IBM 相容PC進行。硬体規格如下:

主機板: 華碩P55T2P4
CPU: INTEL PENTIUM 133
RAM: 32MB
硬碟機: 2.4G/SEAGATE (5400RPM)
軟碟機: 1.44MB
CD-ROM: 24倍速
VGA 顯示卡: 32-bit PCI Local Bus Graphic Adapter
            ATI-264CT Graphics Accelerator
            最高解析度 1280x1024x256, 2MB Memory on board
音效卡: Creative Labs VibRA 16C PnP Audio Chip
        16/8 bit PCM 5 K Hz to 44.1 K Hz
顯示器: 15吋彩色顯示器
        點間距: 0.28mm
        掃瞄頻率: 水平30~64(KHz), 垂直47~120(Hz)
鍵盤: WIN95專用104鍵
滑鼠: Microsoft 相容
MPEG-1 影像轉換(擷取)卡: MPEGator (Snazzi, Vitec RT10)
Scanner: TWAINSCAN 9600 EP
Video Camera: Sony Hi8 CCD-TR81
放音設備: 一般家用音響
雷射印表機: Epson EPL-5200
以上設備在一九九七年以前添購(影像轉換卡擇一即可),約需台幣十五萬圓 軟体部分,多媒体編輯、播放系統和部分工具,大部份自行開發。一方面不需軟体授權,再者擁有原始碼,功能修改、添加都很方便。 由於預算有限,在不用未授權軟体的原則下,需用其它軟体時,儘量採用低價的共享 (Shareware)或免費的公用(Public Domain)程式。軟体表列如下:
DOS 6.2 及WINDIWS 95 作業系統------------電腦隨附軟体
ABC 資料管理程式-------------------------自行研發(參考資料 1)
TITES 多媒体編輯管理系統-----------------自行研發(參考資料 7)
TITES 多媒体播放系統---------------------自行研發
中文字型轉換程式-------------------------自行研發
Lotus Word Pro---------------------------電腦隨附軟体
倚天碟版中文 V3.0------------------------倚天公司出版
Dr. Halo IV 繪圖程式---------------------Media Cybernetics
Paint Shop Pro 繪圖程式------------------shareware
GoldWave 3.24 音效處理程式---------------shareware
Cool Edit 音效處理程式-------------------shareware
WinDAC32 CD音樂轉換 MP3工具--------------shareware
Sound Impression ------------------------音效卡隨附軟体



參、專輯製作計劃綱要
上述軟体和硬体大部份是個人工作室原有的設備。 決定接受案主託付的工作後,先到林榮德音樂教育中心洽商製作計畫。林老師的作品大致可分為文學、繪畫、音樂三部分。音樂中心有幼稚園、節奏樂團、音樂教室。歷年來曾舉辦不少國內 和國際性音樂教學演奏活動。 此外林老師令堂,林李榭榴女士遺留兩百多幅水墨(圖 1),也是極為珍貴的台灣文化資產。
經過一番思考,草擬一份專輯製作計劃綱要,請林教授過目,當晚做一番討論後定案。這份綱要便成了多媒体專輯的主要架構。
目         錄

A       序    言
B       音樂藝術文教基金會
C       林榮德年表
D       還給孩子一個春天 - 林榮德的教育理念
E       文學作品
F       紅瓦厝 - 林榮德畫集
G       古拙之美 - 林李榭榴的繪畫世界
H       音樂教室
I       音樂夏令營
J       節奏樂團
K       音樂著作
L       兒童音樂世界
M       台灣文化和世界和平之夜


資料庫按照主題分別建立,主要考慮未來需要更新時比較方便。 各資料庫完成 後再合併,另成一個總資料庫,專供自動展示使用。 圖形目錄(圖 2)是超媒体 (Hypermedia)結構的樞紐所在。應用網際網路常用的手形滑鼠指標,引導使用者 進入資料庫。資料錄包含文字、圖片和同步音效(背景音樂),影片部分以外掛方式處理。 原則上有文字敘述的資料錄搭配音效,無文字說明的圖片資料在自動 執行時則以時間控制換頁。 操作方式採用簡單的圖形界面(圖3),讓四歲以上的幼童不需特別訓練即可使用。今年春天,在臺南佳里高工做專題演講時,我曾以此為例,說明多媒体操作界面的設計,應以簡單實用為原則。一般而言,太過 複雜的操作方式,往往讓使用者退避三舍,說明書還沒看完就打退堂鼓了。

肆、文字處理
語言是人類用來溝通的重要工具,在錄音和錄影設備還沒發明以前的世界,文字 除了橫向溝通以外,還有縱向的記錄功能。電腦處理文字,通常依照三個步驟: 從鍵盤或其它輸入設備輸入,以文字交換碼(ASCII)處理,再從螢幕顯示字形。 英文由字母組成,一個 8-bit 的二進位系統就可將英文字母,符號和數字一網打盡。漢文由數萬個不同的象形字組成,顯示漢字需用 16-bit 系統,既佔記憶, 又需更多處理時間。輸入一個漢字平均要4~5個按鍵,漢字輸入和處理一直是開 發華文軟体的瓶頸。 漢字字形顯示也不如英文暢快。倚天中文的16x15字型用了好幾年,主要還是顯示速度的問題。比較美觀的24x24字型在80486 電腦問世以後才有機會亮相。
TITES 多媒体編輯系統處理文字的方法是,將文書編輯器和資料庫的觀念結合。 當年為了使用24x24字型,必需寫一個字形轉換程式,將倚天中文列印用的字型檔轉換成可供SVGA顯示的圖形,多媒体編輯系統才有比較好看的漢字字形可用。
在文字編輯過程中使用倚天中文16x15字型。資料錄建好後,合併圖片顯示則換成24x24字型。 瀏覽資料錄不用外掛中文系統,因此可用SVGA 1280x1024x256 高解析畫面。 TITES 多媒体編輯系統有一個類似照相機的圖像擷取功能,瀏覽資料庫時會把編輯好的圖文畫面存檔,供多媒体播放程式使用。 如此一來,文字和圖片可以同步於瞬間顯示,又能在編輯時隨時修改文字內容,真是又快又方便。 當時(一九九三年初)為了程式化這個構想,寫碼測試三天三夜,完工後快樂了好幾天。
編輯文字資料時,由於軟体是自己寫的,用來駕輕就熟。 已有現成文字檔的資料,可用資料轉換功能直接存入資料庫, 否則只好從鍵盤輸入。比較花費時間的倒是改編和重寫的工作。例如,林教授的教育理念,散見歷年來出版的書籍, 文章和講稿。若不經過精簡和整理,無法以資料錄方式呈現出來。我用不少時間閱讀林教授的著作,再改寫成十二篇短文,挑選合適的照片與音效,才完成這個主題。



伍、圖形處理
TITES 多媒体播放系統採用1024x768x256 PCX 圖形。 VGA 顯示卡問世以後, 電腦圖形邁入新的紀元。豐富的天然色彩(true color),高解析度畫面,以及功能齊全的繪圖軟体,使得從前必須應用暗房技巧和專業分色的圖形處理作業,都可在電腦進行。目前入門機種的電腦,皆能顯示1024x768x256圖片。 至於圖形格式則各有千秋,比較常見的有PCX,GIF,JPG等。選擇PCX作為圖檔格式的原因是: 第一,PCX為不失真壓縮格式。第二,沒有版權問題。網路通用的GIF壓縮格式雖較普遍,目前仍受專利保護,必需付費才能使用。至於JPG 則為失真壓縮,雖然体積小,解壓時間也長,換頁時有點拖泥帶水。一般而言,256色已能滿足肉眼的視覺要求。
圖片的主要來源有兩類,一是照片和印刷品,可用圖形掃瞄器(scanner)掃瞄後取得圖檔。通常用200~300 dpi取像,再縮小至所需尺寸。除非原稿特別小或作專業輸出,才會用400dpi以上取像。以300dpi為例, 掃瞄3"x5"照片需要 4 Mb 記憶体,若是A4 size,很快就會耗盡記憶資源。另類來源則是從錄影帶擷取。 一九八零年,AKAI VC-X1U第一代攝影機淨重2.4公斤。錄影時還要背一台7公斤的分離式錄影機。 最近幾年,手提攝錄影機不論体積,重量和功能都大有改善。錄影帶經影像擷取卡取得的靜態畫面是連貫的,每秒30張,很容易挑出令人滿意的照片。存入剪貼簿後,再用Paint Shop Pro 轉成PCX 圖檔,就OK 了。 有外賓來訪,或舉辦活動時,利用攝錄影機可以同時取得動態影像和照片,可謂一舉兩得。
圖片若要切割,整合或作局部修改,必需仰賴繪圖軟体。 大部分作業可在 Dr. Halo IV 完成。 EGA 時代, Dr. Halo III曾經流行一時。 六、七年前購買Dr. Halo IV 只要50美元,用到現在仍覺物超所值。 很多人喜歡玩高價軟体,一套還沒學會,又去追尋更新更貴的軟体。個人覺得,使用軟体應先衡量工作性質,選用合適的設備,完成工作才是正確的態度。


陸、音效處理
林教授主修聲樂和鋼琴教育,留德期間與兒童音樂宗師 Carl Orff 相熟,並和音樂律動專家 Gunild Keetman 女士合編奧而福樂器演奏曲集「古仔燈」。 回國後從事兒童樂教幾達三十年。這段期間,除了出版他所蒐集,改編的台灣民謠和 童謠音樂CD,發行以演奏「古仔燈」曲集為主的錄音帶「林榮德兒童音樂世界」, 節奏樂團每年巡迴演出,舉辦夏令營邀請國內外知名音樂家演奏,更遠赴紐約, 在林肯中心演出台灣交響詩和兒童環保音樂劇。這些作品都經由音樂中心的錄音室處理保存。
專輯所需的背景音樂來源有三: 錄音帶,音樂CD和錄影帶。 音樂CD以WinDAC 轉成WAV格式檔。錄音帶則以錄音機放音,透過音效卡用Sound Impression存 WAV檔。至於錄影帶有兩種處理方式: 第一種直接以錄影機輸出聲訊,再用Sound Impression存 WAV 檔。第二種方式比較麻煩。必需以影像編輯的方式處理,將聲訊分離存成MP2格式,再用WinAmp轉成WAV檔。方法容後敘述。
和圖形檔相比,數位音樂通常佔用更大的檔案空間。以音樂CD為例,取樣頻率 44K Hz,立体聲音效每分鐘約需9 MB。為了有效節省檔案空間,犧牲音質,在所難免。幾經考慮,決定選擇16-bit,11K Hz,mono 作為音效格式。口語旁白甚至只用8-bit格式。整体說來音質不是很好,不過還可接受就是。
由於背景音樂頗多,剪輯工作勢在必行。通常只取一段旋律,後端再作淡出處理。音樂來源不同,有時還得做順音,盡量讓預設音量維持在同一水準。雜訊太多時, 必需過濾。所幸這些工作,包括WAV格式轉換都可在 GoldWave 或 Cool Edit 進行,節省不少時間。
音效處理其實並不困難。 思考文章內容,尋找適當的音樂配合,往往花費更多時間,不過一切辛苦都是值得的。 有幾個夜裡,我獨自測試(聆聽)這張專輯, 從這些歌謠的旋律裡,彷彿看到台灣人在生活; 多變的性格,浪漫風采以及被壓抑的夢想。 這張專輯收錄近百首樂曲,加上幾乎整卷「童言童語」錄音,以電腦多媒体方式呈現,相信會讓讀者有一番不同的感受。


柒、影像處理
動態影像大概是多媒体中最吸引人的部份。 其實,回顧電腦發展的過程,從文書處理程式,8-bit音效卡,mono graphic card (Hercules)進展到今天的多媒体整合,傳統媒体包括文字,圖形,音效和影像,除了從類比轉成數位外,在質的方面並未有所提昇。一九八九年,電腦多媒体的浪潮,從美國西岸湧向世界各地。 兩年後,在大家的期盼下,蘋果公司的麥金塔上出現一隻搖首擺尾的蛇, 那是以每秒15框播出的動態影像。蛇的動作緩慢,比較容易掩飾捉襟見肘的窘相。不久,IBM PC 也急起直追,推出各種格式的動畫和影像。 事隔十年,無可諱言地,即使連尚未普及的MPEG-2在電腦上也無法和傳統的身歷聲電影相比。 那麼,為何仍有那麼多人力和資源不斷投入個人電腦的動態影像呢? 因為它大幅提高個人參與影像製作的能力。只要你有創意,電腦多媒体絕對可以提供你足夠的想像空間。 就在數年以前,一套BetaCam攝影剪輯設備,要上百萬台幣。 以今日的電腦科技,二十萬就可擁有從攝影,剪輯,配音,特效到製片一系列功能的設備。你能不心動嗎?
一般Hi8 畫質已經相當不錯, BetaCam當然更好。 電腦影像的品質主要還是取決於影像擷取卡。 即時MPEG-1壓縮卡可做影音同步轉換,影片播完,同時存檔。 MPEGator轉換卡年前相當風行,效果也不錯。可惜不能做非線性剪輯。 VITEC Multimedia 的RT10 卻有後來居上之勢,隨附的 VIDEO Clip MPEG-1 剪輯系統除了可做非線性剪輯,淡入淡出,字幕添加等特效以外,又能將視訊和聲訊分解結合,影音可分開剪輯,配音後再合併。
前文提到從錄影帶取出音效檔正是採用這種方式。 舉例說明如次: 有一次,我到台南近郊拍攝即將消失的鹽田風光,由於估算錯誤,頂著大太陽熬 了兩個多小時才逮到日落鹽田的景色,眼看著落日映著晚霞,電池卻沒了。勉強攝得幾段鏡頭,打道回府後,發現有幾個鏡頭因電力不足產生色變失框等現像。 轉換成MPEG 檔後,將聲訊和視訊分開存檔。聲訊部分取出一小段(MP2格式)經 由WinAmp 轉成WAV 檔另作他用。 視訊部分,將有問題或不需要的畫面剪除, 再複製若干鏡頭補足。 原來的聲訊沒有什麼內容,改用林教授編曲的台灣民謠 「日頭落山一片紅」取而代之。這首以木笛吹奏的民謠旋律極為優美,計算好長度後,調整部分視訊與之匹配,終於結合成新的影像檔。
一般作影像轉換時通常都選擇Video CD相容規格, 即
視訊部分
                picture rate: 每秒 29.97 框
                picture size: 352x240 (點)
                bitrate:  1.152 Mbits/s
聲訊部分(MP2)
                sampling frequency: 44.1K Hz
                mode:     立体聲
                bitrate:  224Kbits/s
林教授早期的錄影都是BetaCam,委托影像工作室拍攝、剪輯、配音並打上中文 字幕。一支30分鐘的影帶,動輒數十萬圓。後來改用Hi8製作影帶,成本降低不少。由於動態影像所耗檔案空間相當龐大,專輯只存放大約二十分鐘的短片。


捌、時間及成本分析
專輯所用素材和資料大部分由林教授提供,我負責系統設計和編輯。主程式是現成的,只作少數修改。除了幾次錄影以外,大部份時間投入編輯作業。自一九九 七年十月開始到今年五月測試完成,總計一百四十八個工作天。
前置作業(製作計畫,進度編排與管制,攝影,程式測試) --- 22.0 天-- 14.9%
資料編輯(文書處理,資料庫建立與更新,文稿撰寫及整理) - 36.5 天-- 24.6%
圖形處裡(圖形掃瞄,格式轉換,圖形編輯) --------------- 40.5 天-- 27.4%
音效處理(音效輸入,轉換,編輯,測試) ----------------- 18.0 天-- 12.2%
影像處理(影像擷取,編輯,配音,測試) ----------------- 21.5 天-- 14.5%
後製作業(校對及測試) ---------------------------------  9.5 天--  6.4%

依個人經驗,製作多媒体所需時間和成本因案而異。以本案而言,直接人工成本約 五十萬圓,與原先估計相近。至於投入素材製作的成本,保守估計,非千萬台幣不 能竟其功。


玖、未來展望
電腦多媒体的應用,真是無限寬廣。即使目前進展未臻理想,將來卻可預期。 DVD 技術與設備的普及,會讓多媒体製作,突破傳統媒体的窠臼與限制,邁入新的里程。 想想看,用將近 VCD三十倍容量的光碟(DVD-18 雙面約17GB),可以作出怎樣的東西來? 24bit,96K Hz Dolby 5.1音效,比 LD更好的 MPEG-2 影像, 更順暢,更逼真的虛擬實境(Virtual Reality)? 是的,這些都是事實,然而更重要的是,電腦多媒体將會加速推動數位革命的腳步,帶來二十一世紀新的文藝復興運動。


拾、結語

這張多媒体CD是為了紀念今年七月洛杉磯臺灣音樂藝術節 -「世紀台灣之音在美國」而製作的。 它累積二十多年來林教授和許多人心力的結晶,我把他們的大名列在相關作品的前面,以示尊敬和感謝。林教授和我誠摯的希望,將這張 CD 獻給所有愛惜台灣這塊土地的朋友。希望藉助電腦科技,結合音樂、藝術力量, 作為向世界展示臺灣精緻文化和環境保護理念的拋磚。也在此呼籲更多從事電腦科技的年輕朋友,與藝術文化界結合,為國家,為鄉土開拓新局。


參考資料

1. BASIC 語言與資料庫管理系統, 自動化科技  1987 年 4 月  p.79-902.

2. 電腦化教學專家系統, 自動化科技  1989 年 3 月  p.159-166
   (國科會科技論文索引 編號: JA 7807-1475)

3. 多媒体電腦系統, 自動化科技  1991 年 10 月 p.111-116
   (國科會科技論文索引 編號: JA 8101-1273)

4. A Multimedia-based Bilingual Instructional System Using An Expert
   System Shell (以專家系統發展工具建構電腦多媒体雙語教學系統)
   University Microfilms International 1992   No. 13-50454

5. 以 BASIC 語言建構多媒体雙語教學系統, 自動化科技  1993 年 5 月 p.95-106

6. 電腦多媒体在商業廣告之應用, HOPENET 光碟月刊  1994 年 10 月 p.158-161

7. TITES 多媒体管理系統, HOPENET 光碟月刊  1995 年 2 月  p.151-155

加密與密碼防禦

加密與密碼防禦

張東瀛 

原載 自動化科技 1996 年 6 月 p.70-76



壹、台灣閩南方言韻書

三十多年前,台南武廟舉辦元宵燈猜,有個謎面「嫦娥奔月」,射鳥名一。我適逢 其盛,從鳥書查得「竊丹」頗合題義,一時不知「竊」字台語如何發音,只好用 「ㄎㄨㄟ」矇混過去。主持人看我小小年紀,也不計較,先擊三通鼓,再送獎品, 私下告訴我「竊」字的正確讀法。我是台灣人,大庭廣眾之下連一隻鳥名都說不 好,覺得很不光彩。

民國五十七年,負笈台北,班上同學都講國語,台灣話只在鄉間郊遊問路時才得派 上用場。後來到馬祖服役,機械排裡的充員兵,一大半是「黑手」出身,修車就講 台語,那時方知台語也有各種腔調。民國七十三年,我到成大修習語言學,很自然 地把母語當成研究對象,也開始有語音電腦化的構想。

今年四月,為了查考若干台語字彙,特地拜訪台南蓍宿林老先生,沒想到他卻用台 語文音,默誦口訣,繼而搬出一部韻書翻查字義,整個過程簡直就是數百年前先民 「因音識字」的翻版。這種以韻母為經,聲母為緯的語音編碼,使農工商賈能用音 求字,按卷而稽,可說是相當科學的方法。

現有文獻指出,明清之際,福建流傳數種通俗韻書,與台灣方言有關者為閩北「戚 林八音」,泉州方言「彙音妙悟」以及漳州方言「雅俗通十五音」。其中以「彙集 雅俗通十五音」在台灣流行最廣。使用韻母「君堅金規嘉,干公乖經觀,沽嬌稽恭 高,皆巾姜甘瓜,江兼交迦檜,監○膠居○,更褌茄梔薑,驚官鋼伽閒,姑姆光閂 糜,○箴爻扛牛」五十字,聲母「柳邊求去地,頗他曾入時,英門語出喜」。此十 五字源自「韻略易通」(西元1442年)的早梅詩。「東風吹早梅,向暖一枝開,冰 雪無人見,春從天上來,柳邊求去地,頗他曾入時,英門語出喜,打掌與君知」 十五音即以此命名。此詩前四句詠梅,接著三句取為聲母,最後一句「打掌與君知」 則有一段和密碼學相關的典故。

原來十六世紀,明將戚繼光奉派率軍平寇,閩軍子弟曾以韻書當作密碼本,擊掌傳 遞軍令。當時的通俗韻書比較簡陋,只供商販走卒翻閱,士大夫階級往往不屑一顧 。清代中葉逐漸理出規模,方成雅俗共賞的韻書。目前所知最早的「彙集雅俗通十 五音」當屬嘉慶戊寅(1818)謝秀嵐所編版本,全書收錄字彙約一萬四千,現藏倫敦 大英博物館。

至於十五音如何搖身一變,成為密碼本? 台灣漳泉語音有八聲,實際只用七聲,例 如「君滾棍骨群滾郡滑」,二聲與六聲同,這七聲與聲母韻母搭配,扣除若干空音 (有音無字)或同音,大約可得三千多音,加上同音異義字,這部韻書可說是由聲序 ,韻母,聲母,和同音字序等四維陣列構成。目錄先排韻母五十字,其次依序列印 一至八卷韻母八音字母,最後才是切音十五字和呼十五音法。換句話說,五十個韻 母各有八聲,組合後自成一節,再依十五音順序列出同音異義字。只要有聲序,韻 母,聲母,字序,從拍掌次數換算,很快便能查出字彙。這種結構和目前中文電腦 的注音輸入法類似,卻比注音法早了數百年。由於十五音以自然發音方式排列,默 誦口訣幾次,便能朗朗上口,歷數十年不忘,因此在民間廣為流傳。

貳、文字的加密與解密

類似以韻書作密碼本,傳遞訊息的方式,二次大戰時曾被廣汎使用,交戰雙方隨時 換用不同的密碼。這種加密方式雖非全無破綻,卻頗難破解。然而密碼本若被對方 取得,安全系統便告瓦解。冷戰期間,情報成了灘頭戲,諜影重重迫使美蘇在密碼 學投注大量的人力物力。近幾年,電腦適時加入戰場,全球資訊網蓬勃發展更使各 國保防安全系統面臨巨大挑戰。電腦犯罪案件時有所聞,國防網路因「怪客」入侵 ,亂開天窗屢見不鮮。資料安全成了社會關注的焦點。

我國憲法明文規定人民有秘密通訊的自由,西方世界更認為書信文件的保密是人民 的基本權利,國家和政府不得以任何理由加以限制。然而法律有時而窮,「水門事 件」讓一般升斗小民体會到,要想秘密通訊,只能自力救濟,尋求各種防護方法。

一般電腦文件,不論 ASCII 檔案或二進位檔案,若要加密,通常必需將檔案內容 重新編碼,解密時再還原成原來的模樣。這種加密方式,雖然不需密碼本,仍然要 有一組KEY CODE 才能解密。早期使用KEY CODE 加密的文件檔案通常限制在 64k Bytes 以內,KEY CODE 採用固定式。這種方法設計簡單,破解也容易,只能防堵 門外漢。有經驗的密碼程式設計師對這類傳統防護方式,簡直視若無睹。我在一九 八七年曾經設計一個名為 Charades 的加密程式,當時是為了在 BITNET 國際學術 網路傳遞中文檔,順便作了加密防護。雖然檔案大小不受限制,KEY CODE 仍用固 定式,加密和解密時必須使用同一個密碼。用E-mail 傳中文檔前我通常先壓縮一 次,再加密,如果要透過 ftp 傳送二進檔,則再壓縮一次。由於和受件人共用一 個密碼,為了每次傳檔可以使用不同的密碼,後來還把 KEY CODE 加在檔案的特定 位置,讓對方先行檢視密碼內容再進行解碼。學過密碼學的人,當可輕易破解這種 加密方法。

參、加密演算法

前面提到的固定式加密法,因為加密和解密使用同一密碼,流通效率並不高。公鑰 密碼(Public Key Cryptology)則使用一對不同的密碼, public key 由公眾使用 secret key 自己保存,送信者用 public key 加密,受信者用 secret key 解密 後便可達到秘密通信的目的。如果朋友間透過網路交換信件,並分別持有自己的 secret key 及對方的 public key,經過雙重加密解密,大大提高保密效果。這種 公鑰密碼法加上電子簽名後來更發展出稱為 RSA 的加密演算法,並且取得美國專 利。

RSA 加密演算法比較繁複,加密過程相當緩慢,不過要破解它可得花費相當大的工 夫與時間。一九九四年有人用數百台電腦相連,日以繼夜算了幾個星期才將密碼解 開,但是 RSA 加密法只要把 Public key 加長,解碼所需時間會成等比級數增加, 就實用性而言,這種方法當是目前已公開的最佳演算法。和 GIF 所用的演算法一樣 ,RSA 加密演算法雖然擁有註冊專利,在網路上卻十分流行。只要無涉商業行為, RSA 專利所有權人並不干涉禁止。一般人大都以為 RSA 演算法已成公共財,直到應 用 RSA 演算法的 PGP 加密系統,流通到美國以外地區,引發軒然大波,繼而導致 美國人民文字著作自由權與海關出口禁制條例的對抗,才曉得原來網路上「你用我 也用」的軟体,並非全是 freeware。

肆、PGP 加密系統

在美國,特別是經常遊走網路的職業程式設計師,有許多人堅持,軟体不應以如此高 價出售。他們不是嘴巴嚷嚷而已,不少人以身作則寫出一大堆比美商用軟体的 Freeware,免費提供公眾使用。這些人大都有不錯的待遇,生活無慮,可能看不慣大 老板獨享暴利,因而出來路見不平。

Philip Zimmermann 是居住於 Colorado 的資深程式設計師,專精網路和密碼系統設 計。他用 RSA 加密演算法和一些傳統加密方式,寫了一個 PGP (Pretty Good Privacy) 加密系統,放在網路裡,提供大家免費使用。由於效果奇佳,又附上原始 程式碼,因此廣受大眾歡迎。基於好東西與好朋友分享的網路理念,這套軟体很快就 傳遍世界各地,Philip Zimmermann 也大大出名。沒想到樹大招風,上網不久便接到 代理 RSA 專利演算法的 Public Key Partner 公司的侵權通知,自認倒霉的 Philip Zimmermann 只好透過 ViaCrypt 公司和 Public Key Partner 商議取得 RSA 專利使用權,不過此事並未就此平息。一九九三年,美國加州聖荷西助理檢察長辦公 室已經針對 PGP 加密系統的出口是否違反武器輸出管制法案(Arms Export Control Act)展開調查,以便決定是否成立大陪審團,起訴 Philip Zimmermann。

一九九四年十一月九日,Philip Zimmermann 從歐洲旅行演講回來,一進 Dulles 國 際機場即遭受私人行李搜查,並在無律師陪同的情況下讓海關盤問半個小時,隨後並 被告知 PGP 案調查期間,只要他進出海關,都將被搜查和訊問。Philip Zimmermann 的律師 Kenneth C. Bass, III 後來向海關及檢察長遞送律師函指稱美 國海關這種行為已經嚴重侵害美國憲法賦予公民的返鄉權。特別是 PGP 案已在司法 調查的情況下,海關以相同罪名盤問當事人已經違反律師不在場不得偵訊的法律。

Philip Zimmermann 在事件發生後成立一個後援基金會,希望能夠解決 PGP 加密系 統引起的法律爭議和財務問題。此一事件早在網路上激起熱烈討論,許多網友紛紛解 囊相助,並為文聲援。美國聯邦法律明文規定電腦加密軟体禁止出口,不過 Philip Zimmermann 聲稱他只是完成軟体,並未散播,銷售或以此圖利。防止外人到美國取 得電腦加密軟体的責任不應由他一人承擔。此案由於牽涉人民著作自由權的行使以 及網路管理相關法律是否得以擴張解釋,司法判決成了眾所屬目的焦點。不過 RSA 演算法和 PGP 加密系統卻因此出盡風頭。

經過三年漫長的等待,本案終於在今年元月 Philip Zimmermann 獲得不起訴處分後 宣告落幕。 PGP 程式自第二版以後,也移往歐洲大陸發表,有興趣的讀者可經由 WWW 網路 http://nic.funet.f1/pub/unix/security/crypt 取得相關檔案。

伍、語音加密

一九九三年四月十六日,白宮發表一份聲明指稱柯林頓總統將在聯邦政府部門進行 一項加強電訊保密防護計劃並鼓勵工業界參與。此一計劃包括開發一項新產品以確 保網路及無線通訊安全。近幾年來相當成熟的加密技術用來防護電子金融轉帳,電 子郵件和網路通訊。然而加密技術雖然可以避免商業機密遭到非法竊取和維護私人 秘密通訊自由,卻也同樣掩蓋恐怖份子,販毒者和其他非法犯罪行為。

白宮聲稱政府部門已經發展一種稱為 Clipper Chip 的微晶片,此一晶片可以裝在 一般電話,提供價格低廉,功能強大的安全系統以確保語音通訊和資料傳輸的私密 性,同時可讓聯邦,州及地方司法單位進行犯罪監聽作業,用以「保護美國人」。

這種微晶片設備乃是利用一對密碼,分別存放在檢察總長建立的密碼庫,只有取得 監聽許可的政府官員方可取得密碼進行解密。數名非官方機構的專家將被邀參與這 項作業並對公眾提出報告。由於語音加密設備仍屬輸出管制項目,因此輸出此項產 品必需個案申請許可方得出口。若干美國海外分公司已使用此設備來防止商業機密 遭到竊聽。

白宮的聲明發表不久,各大報即出現數種不同的聲音,有的贊成,有的反對。紐約 時報刊載有人認為政府意圖在個人和營利事業機構逐漸重視隱私權的同時,以國家 安全為理由取得合法竊聽的權利。有人認為這個計劃是為了解決資訊時代長久以來 陷入「保護合法與取締非法如何兼顧」的兩難。前國防部官員,現在擔任某資訊安 全設備製造公司總裁的 Stephen D. Bryen 則說「政府想要製造一頭怪獸,人們不 會冒險使用這種政府可以隨時竊聽的設備。」

有人甚至指出 Clipper Chips 根本就是國安局(National Security Agency)設計 ,委托國防工業承包商 Mycotronx 和加州矽谷半導体製造商 VLSI 科技公司製造 的。主要在替 FBI 等政府單位大開方便之門。不少專家認為,現代電腦科技和軟 体已有足夠的能力將語音訊號加密,即使國安局的大電腦也不見得能破解,何況 Clipper Chips 能否具備足夠的能耐去抵檔惡客的侵擾,仍有待評估。

儘管如此,白宮方面仍然決定先從和聯邦政府有來往的大公司如 AT&T,IBM 下手 ,要求他們在產品加裝此項加密設備。同時以此作為評估美國電腦是否准予輸出的 依據。柯林頓也下令要求國家安全會議針對此一計劃和聯邦保密政策進行檢討。

數位語音網路電話在 Internet 已經進行實驗,隨著軟硬体的改良,通話品質大幅 提高。不久的將來,國際網路連線通話就會造成嚴重的資訊塞車問題,一旦網路銀 行加入連線,語音加密或解密也將成為熱門科技。

陸、結語

設計防毒軟体的人也能製造電腦病毒,同樣的,設計安全系統的人也有能力入侵或 破壞電腦系統。再好的防護系統,碰上不肖惡客,照樣束手。程式設計師有時為了 維修方便,習慣上會在系統留下缺口,例如加密程式中設計一隻萬用鑰匙以備不時 之需。系統完成卻忘了回補或故意保留,安全便造成漏洞。如果蓄意暗中破壞,或 是擺顆定時炸彈,任它銅牆鐵壁,照樣一推便倒。

經驗告訴我們,任何人類所造的防護系統,都不可能十全,頂多只能延長破解時限 ,所幸密碼可以隨時更改,設計一個讓惡客窮追不捨卻無法輕易上手的系統,當是 明智之舉。

美國是資訊的先進大國,面對層出不窮的電腦犯罪案件,如何在維護人民的通訊自 由和保障國家社會安全的前提下制定國家保密政策,維持經濟成長,加速資訊現代 化,的確是已開發國家的共同目標與難題。

看看別人,再想想自己。聽說電信局因為市區通話成本過高,計劃再調高市話費, 企圖以價制量,以免使用電腦網路的人過多,造成虧損,真是一石數鳥的上上決策 。上網的人少,根本沒有塞車問題,建立國家資訊高速公路的計劃可以緩辦。使用 電腦的人減少,電腦犯罪率自然下降,刑事警察局也不用擔心找不到人偵辦電腦犯 罪案件。打電話的人少了,總統府當然不必像白宮一樣,為了鼓勵老百姓加裝語音 加密系統而傷透腦筋。新任交通部長如果批准此案,保證大功一件。

柒、後記

林路尾先生年幼時從鄰居長輩韓石頭先生學習十五音,並在台南「漱竹居」購得十 五音韻書一部八冊,至今保存完好。此部韻書正是嘉義版「彙集雅俗通十五音」第 一冊卷首扉頁猶有「增註硃字十五音」字樣,卷末印有「昭和十年三月四日印刷, 昭和十年三月十四日發行」「台南州嘉義市西門 三丁目九番地發行人許嘉樂」 「台南州嘉義市西門 一丁目一零九番地印刷所源祥オフセヮト印刷所印刷人吳源 祥」。每冊約四十餘葉(張),大部分以紅黑雙色套印。日政時代一般文化用紙水準 還算不錯,戰爭開始,物資匱乏,紙質逐年變差。從當時的出版品大致可以看出這 種變化。這部標記昭和十年(1935)出版的「彙集雅俗通十五音」,部分紙張品相較 差,有可能由不同時期殘存的版本拼湊而成。

林先生現年九十,耳聰目明,說起話來中氣十足。早歲服務於文化協會台南支部, 為日據時期台灣民主運動先驅蔡培火姻弟。曾經擔任日資川中鐵工場主任技師及工 場監督,戰後協助聯勤及台糖多項工程設計及監造工作,功在桑梓。如今年事雖高 ,仍不忘為本土文化盡一己之力。他看我一再翻閱這部韻書,乃欲以此相贈。我私 下推估,這部嘉義版「彙集雅俗通十五音」可能是台灣本地印刷的最早版本,其年 代在一甲子以上,歷經戰火猶存,彌足珍貴。林老先生厚愛,未敢遽受,謹以此文 誌之。

﹝網頁版補註﹞

「東風吹早梅,向暖一枝開,冰雪無人見,春從天上來,柳邊求去地,頗 他曾入時,英門語出喜,打掌與君知」原文參見許極燉著﹝台灣語概論-凡例 P.1﹞。

﹝韻略易通﹞作者蘭廷秀的早梅詩為「東風破早梅,向暖一枝開,冰雪無人見 ,春從天上來。」是用來展示其所記音系全部二十個聲母的聲母詩。

福州韻書﹝八音字義便覽﹞相傳為戚繼光麾下學者陳第所著。康熙進士林碧山改編 成﹝珠玉同聲﹞,後人將此二書合印,通稱「戚林八音」。其用以切音之聲母為 「柳邊求去低,波他爭日時,鶯蒙語出喜,(打掌與君知)」。聲母的集合雖沿用早 梅詩的五言,惟已跳脫文學意函,比較類似「口訣」。

謝秀嵐所編﹝彙集雅俗通十五音﹞所用聲母為「柳邊求去地,頗他曾入時,英門語 出喜」。

「打掌與君知」典故參見董作賓 -﹝閩俗瑣聞﹞與潮州韻書「彙集雅俗通十五音(擊 木知音)」篇末的「擊木知音法」。

福建通俗韻書通行於台灣者以十五音居多,志書文獻少有記載此事。「新港文書」 (台北帝國大學文政學部紀要第二卷第一號)一文卻載有"Formosan Speller"一節 ,提及 十五音應用之殘簡 (詳見1954,台灣省通志稿人民志語言篇)。

少運崎嶇老景宜 - 我的電腦學習歷程

少運崎嶇老景宜 - 我的電腦學習歷程

張東瀛

原載 1995-11 自動化科技 139 期 p.65-72



少年十五二十時

民國六十年,我還在台北工專就讀工業工程,學校購買一台五百萬的電腦,電算中心剛開張 不久,機器還在試機中,雖然選修電腦課,卻看不到電腦。課程名為「電腦應用」,學的卻 是 FORTRAN 程式語言,教科書就是那本剛出版的 FORTRAN IV PROGRAMMING Based on the IBM System 1130。這本書第一章有四張照片,分別是 IBM 1131 中央處理機,1442 讀 卡機,1132 印表機和 IBM 26 打孔機。每一台大約是辦公桌一般大小,總算讓我對電腦的 長相有個概念。

上課第一天,老師(助教代課)說他和我們一樣,也是第一次讀電腦,希望大家互相研究,多 多包涵。三學分課程,做兩道習題,課本紅線劃到224頁,Subprograms 還沒學完,學期就 結束了。初次和電腦交手,成績是82分。

考完預官,等待受訓的空檔,我到台大電機系讀「電子計算機程序計劃講習班」。六十年代, 想出國讀書的人會先到電機系拿這張結業證書。因為是研究所開的課,出國後可以抵免三個 學分的電腦課程。我雖然沒有學位,也花二千四百元報名(大約一學期註冊費)。一方面覺得 電腦這個行業將來大有可為,另一方面也想趁機體會在台大讀書的滋味。沒想到,二十年後 我的留學美夢成真,發黃的結業證書仍然有效,抵掉三個電腦學分,總算值回老本。



杜鵑花城勤練功

當時課表排了七門課;電算機概論,FORTRAN,數值分析,COBOL,作業管理,程式設計 技術和作業研究。其中數值分析和作業研究為二選一。課程紮實,師資又好,加上學費昂貴, 不得不全力以赴。一星期有五天,白天上機,寫報告,夜晚上課。後來連週末和假日也賠進 去,可說是到了廢寢忘食的地步。由於天天耗在實習教室,經常被學生當作助教,同學也紛 紛要求關照,窮於應付之餘,有位女同學還罵我「鹹菜脯」出氣。

在台大學電腦的兩個月,是我一生中少數幾個美好回憶之一。直到現在我仍然保有當年的筆 記,作業報告,整箱卡片以及一本 CDC3150 操作手冊。用慣高速硬碟的年輕朋友,恐怕很 難想像六十年代計算機的輸入方式。那時候,程式必須寫在 Coding Sheets,準備足夠的 IBM 80 行卡,從一個類似診所掛號的小洞遞給中心的打卡員,隔天再取回檢查有無打錯。驗證 無誤,排隊上機,再等一天才能拿到報表。運氣好的話,一次OK,便欣喜若狂。如果不幸 程式出了差錯,只好重來。一份作業到電算中心跑個五、六趟是常有的事。

期末考試,順利通過,取得結業證書。34期同學卻有一半遭到淘汰。兩個月的密集訓練, 讓我在電腦方面打下一點基礎,對後來長達二十年的學習生涯有莫大的幫助。當年教程式設 計的老師曾說:「有這張證書,表示你已具備基本的程式設計能力,但是別太高興,這條路 不太好走哦!」當時我才21歲,也沒想到將來會設計程式。倒是教作業研究的郭德盛老師(現 任台大教務長,當時剛從美國回來)特別強調,電腦是一個快速更新的領域,一旦投入,必 須隨時追求新知與技術,稍有懈怠,很容易被淘汰。這一席話,讓我印象深刻,至今不忘。


眾裡尋它千百度

服完兵役,很快找到工作,雖然曾經想到電腦公司做事,卻無法如願。那時候,全台灣的電 腦不到二十部,工作機會幾乎沒有。同期同學周君,畢業於中原電子工程系,軟硬兼備,本 想在電腦界一展身手,後來卻到法國落戶,開起中國餐館。我告訴他,天生我才必有用,奈 何早生二十年。不過他現在日子過得很好,大概也沒有什麼遺憾。

我在退伍後十年內從事四個不同的工作;外商電子公司 Foreman,汽車零件製造廠品管和研 發主管,化纖廠品管工程師,核電廠主辦機械工程師,沒有一樣和電腦有直接關連。民國六 十五年,服務的化纖廠有一部相當先進的程序控制電腦,可惜只供聚合製程專用。品管課做 大量的統計分析和實驗設計,仍用人工計算,經常出錯。我那時想,只要有一台小電腦,至 少可把工作效率提高十倍,每天也不必在數據堆裡打滾,月底還要忙著製作圖表。無奈事與 願違,不過我還是經常把電腦教科書翻一翻,找機會和電腦操作人員聊聊,交換一些知識。

民國六十七年,我參與核三廠建廠工作。電廠由貝泰公司設計。有二年多時間,整日和工程 設計圖,技術規範書為伍。從每天接觸的文件、電報,知道美國在電廠的設計和工程管理大 量應用電腦,然而在台灣的我們,卻得用人腦來對抗電腦。這話怎麼說? 原來貝泰公司用 電腦作生產計劃和工程管理,零組件送到台灣以前,電腦清單先到。為了追蹤這些零組件和 材料,工程師經常得花幾天工夫核對,一旦資料更新,又得重作一次。工地的資訊無法和設 計公司連線同步輸入,資料的回饋和修正往往曠日費時。核電廠管制嚴密,結構複雜,工程 進度和物料管理的關係密不可分,土木機電環環相扣。這種分工精細,預算龐大的計劃非常 適合應用電腦輔助建廠作業,特別是上游已經有效電腦化,更可收事半功倍之效。可惜的是 核三廠一直到民國七十二年試運轉時,工程管理仍不能電腦化,一般主管和工程人員鮮有電 腦概念,以致錯失大好機會。事隔十年,台灣的電腦工業和教育環境今非昔比,台電工程和 管理人員的電腦素養想必大幅提升,核四廠若能順利開工,施工管理當能一新耳目。


驀然回首來時路

民國七十二年初,ORANGE II (APPLE I I的相容機器) 在台灣大行其道,許多人買來打電動 玩具,我也買一台主機在宿舍和同事研究如何破解電玩保護程式。沒想到這一試卻上了癮, 而核三廠的工作經驗也讓我感覺到電腦的威力及其影響將無所不在。

APPLE II 在電腦史上已確有一席之地。這種早期流行的 PC 使用8 BITS 的6502 CPU,記 憶體只有64K。鍵盤和主機相連,磁碟機外掛,價格與主機差不多,大約各要壹萬元。當時 大學教授月薪也不過二萬多,這樣的設備並非人人買得起。打程式時一般都用錄音帶存放, Monitor 則透過訊號轉換器和電視共用。電玩程式也用錄音帶銷售,播放時會不時傳來陣陣 嘈雜的訊號聲。這樣簡陋的設備我用了一年半,大部份用來研究電腦的軟硬體架構,其間只 替朋友寫一個程式,計算衛星訊號接收機印刷電路的寬度。由於計算公式太複雜,小計算機 經常算錯,我用 BASIC 很快就把他的問題程式化,算是第一個自己開發的應用程式。

使用 APPLE 的經驗是我學習電腦的重要里程碑。由於有一台電腦擺在眼前,寫程式時心裡 很踏實,這種感覺和從前大不相同。我把荒廢十年的電腦知識,藉著研究 APPLE 附送的三 本手冊和 Lon Poole,Martin McNiff,Steven Cook 合著的 APPLE II User's Guide 加以沉澱, 過濾,再融合,同時利用成大圖書館內的相關電腦資訊,逐步把脫節的空隙填滿。程式語言 方面,BASIC 和 FORTRAN相近,很快就運用自如。對組合語言有起碼的了解後,我設定 好將來的工作目標,下決心把台電的工作辭掉,走上電腦這條不歸路。那時正好三十四歲。 站在人生的頂峰,電腦卻像一顆晶瑩耀眼的明珠。在初昇的旭光中閃爍著,向我招手。

千山獨行終不悔

在南台灣長大的我,英語能力一向不好。台北工專強迫學生閱讀原文書的教學方式,讓我吃 足苦頭。台電六年,和英文技術文件朝夕相伴,閱讀能力大有長進。回到台南,資訊環境比 恆春好很多,至少鄰近的成大圖書館就有不少中外文期刊可供瀏覽。一般電腦雜誌如 Dr. Dobb's Journal,PC Magazine,PC week,BYTE 和 IEEE 出版品都有我需要的資訊。自己 也訂了一份比較便宜的 Personal Computing。

中學時代,就曾幻想有一台可作翻譯的機器。這種粗糙的概念,促使我搜集數十篇相關論文, 也迷上人工智慧的領域。為了研究翻譯系統,還到成大外文系讀起語言學。民國七十四年, 把這些研究結果寫成「自然語言研究與自動翻譯系統」在自動化科技發表,意外地引起不少 讀者回響。有電腦公司來電相詢,也有建中的同學表示他想轉讀文組以便將來從事語言學研 究。這件事讓我重新評估自己的寫作態度,也開始思考作者對讀者應負的責任,從此下筆益 形謹慎。

寫完「智慧的面紗」(自動化科技,一九八七年七月) 我開始了解,發展一套實用的翻譯系 統並非一蹴可幾,特別是它所需要的人力物力,都不是個人所能負擔。因此我把研究目標轉 移到專家系統發展工具和比較實用的資料管理,希望能夠建立一個電腦輔助教學系統。民國 七十六年,AT 已經普及,BASIC 也從解譯器進展到可編譯的階段。我把文書處理和資料 庫的觀念結合,寫了一個文字資料編輯和管理工具,用來整理私人資料,後來繼續改良,成 為「TITES 多媒體教學系統」的一部份。

第一次看到專家系統這個名詞是在 IEEE Expert。比較有深入的了解則在參與國科會的研究 計劃,輾轉獲知德州儀器公司出版的 Personal Consultant Plus以後,經由評估這個軟體,建 立兩個先導系統,獲得滿意的結果再著手進行教學系統的設計和實驗,前後歷時三年。由於 專家系統需要大量的記憶體,硬體資源略嫌不足,到後來修改一個 Rule 竟費時二十多分鐘。 長久注視螢幕的結果,也導致左眼視力減退。我做完文字和影像部份並建好範例,決定把這 個系統告一段落,一圓留美進修的舊夢。


三更燈火五更雞

民國七十六到七十九年間,可說是我的創作高峰期。那時候的創意和構想,宛若泉湧。每日 工作十二小時,經常三餐就在電腦面前解決。有時三更半夜想到某個 Idea,馬上縱身下床, 上機試驗,直到曙色將至,白光漸現。我知道這樣的機緣,終生難再,因此格外珍惜,出國 的計劃也一再延展。I-20 收到,申請延後入學,無法成行,再去函道歉,然後又申請他校 入學許可。

把「多媒體專家教學系統」相關資料整理完畢,準備將來作為撰寫論文之用,最後摒擋一切, 申請簽證時竟然兩度遭到美國在台協會拒絕。他們認為我的資歷豐富,年紀又大,不可能自 費到美國讀書,一定是想移民。我費盡唇舌,一再解釋,仍然無法說服他們。想到多年心願, 功虧一簣,不覺頹喪至極,只好打道回府。在南下的火車裡越想越不甘心。回南部後索性將 歷年發表的論文,程式作品和操作手冊整理就緒,再附上一篇短文,詳述計劃留學的經過, 心想這兩吋厚的文件加上一大堆磁片,老美如果識貨,說不定還有一絲希望。

第三次申請,面談官瞄附件一眼,順手翻一下,慢條斯理地說:「我還是不相信你要去讀書」, 我聽了一急就說:「寫這些程式,費了我五載光陰,此外,我三十四歲再用四年讀完一個學 位,全班第五名畢業,你想一個人的青春能有幾個十年?我若想移民,不必如此大費周章。」 然後劈哩趴拉把論文計劃述說一遍,最後老美瞪著我,蓋了章。拿到簽證,距離學校報到的 日子只剩十天。


密蘇里披荊斬蕀

揮別牽手,把唯一的兒子抱起又放下,民國八十年一月一日我背著登山背包,兩手行李,搭 乘西北航空班機直飛底特律,再轉堪薩斯。抵達學校已是夜半三點。小睡片刻,睜開雙眼, 只見皚皚白雪對映藍天朝陽。順手拿起相機,走出室外。零下五度的空氣格外清新,幾隻松 鼠在雪地裡跳躍。我瞄準鄰近的教堂,按下快門。心想,年過四十,宿願得償,雖然還有一 場硬仗要打,卻對自己充滿信心。

學校裡使用的電腦是多樣化的,大中小都有。個人電腦除 PC 外還有許多麥金塔散佈在各 系所。雷射印表機也有一千多部,因此在圖書館地下室成立一個維修中心,負責全校電腦設 備的維護工作。麥金塔由於使用圖形操作介面,頗受學生歡迎。PC 則用於行政和圖書管理, 資訊檢索。網路使用相當普遍,BITNET 和INTERNET 都已連線。然而台灣來的留學生很 少使用這項珍貴方便的資源,可能是我們的區域網路系統起步較晚。民國七十六年,教育部 電算中心引進 BITNET時,校園網路尚未普及,一般學生無緣使用。當時成大只有三、四 台終端機連線,傳輸品質也不甚理想。我利用暑假探索 BITNET 網路,再將所得發表於自 動化科技四十七期,隨後台灣 IBM來電表示希望轉載,可見當時網路資訊的封閉與不足。 反觀今日 INTERNET 在台灣大行其道,使用者在家裡即可經由數據機上線,非常便捷,實 應大力推廣。

在圖書館流連一段時間以後,最讓我印象深刻的倒不是先進的電腦設備,而是圖書館從業人 員面對自動化潮流所作的自我調適和努力,以及呈現在外的敬業態度。學校的圖書及媒體檢 索系統相當完善。透過 OCLC (Ohio Computer Library Center) 將全美各大學和世界知名圖書 館資源即時連線,構成一個國際圖書資訊網路。經由館際合作,任何網點資源唾手可得。遺 憾的是當我試圖和台灣連線時,竟然找不到可以切入的網點,不免令人感嘆!

豐富的圖書館資源使我在撰寫論文時有恃無恐,更妙的是讓我買到一本珍貴的舊版書。有一 次,我在舊貨間裡看到 Washington Irving 寫的 The Alhambra。書本很舊,卻相當完整,只 是版權頁已經不見,查不到出版日期。根據外觀研判,此書可能是十九世紀的版本。回到學 校,馬上從 OCLC 叫出書名,一一核對電腦顯示的出版記錄,從外觀尺寸,頁數,裝訂方 式確定這是一本 1852 年出版的舊書。這件事著實讓我高興好幾天。

一般而言,我的留學過程還算順利,不過開學不久卻有一段戲劇性的轉折。有一門系主任開 的課,規定每位同學必須選擇一個主題,輪流主講,其他人可提出質疑或討論,每次上課還 要繳交一份和當次主題有關的讀書報告。班上的同學,有不少是教書多年的老師,我的英文 Writing 實在無法和他們相比,接連拿了兩個C,自尊心大受打擊。初抵異域,舉目無親, 系裡只我一個台灣學生,雖不至坐困愁城,一時也無善策。後來才知道學校有個 Writing Center 專門協助學生解決寫作問題,趕緊請他們幫我 Review 一下,總算漸有起色。輪到我主講「人 工智慧及其應用」,事先準備大綱和參考資料,影印給班上同學。兩個小時下來,贏得不少 掌聲和友誼。從此系主任對我刮目相看,還自願當我的論文指導教授。系裡有電腦方面的問 題,經常找我討論,在台灣磨練出來的本事,很快就派上用場。從逆境轉到順境,電腦功不 可沒。


修論文四月竟功

除了本系開的課程,我還到英語系選修 CAI。「TITES 多媒体教學專家系統」也在英語系修 課時展示,和他們使用的軟体相比並不遜色。學校的軟体相當豐富,我總算有了砌磋的機會。 那時候光碟已經流行,多媒体方興未艾,我的足跡不出學校方圓百里,感覺自己就像一塊海 棉,拚命吸吮資訊世界的肥美汁液。暑修結束,寫了一篇「多媒体電腦系統」刊於自動化科技 91 期,除了記錄這段學習過程,也闡述自己對多媒体系統的憧憬與期待。然後靜下心來準備撰 寫論文和學位考試。

在台灣已將論文題目和程式準備妥當,相關論文也先後在自動化科技發表,並經國科會收錄 於中華民國科技期刊論文索引內。這些文章對我的學位取得大有助益。一般而言,美國的高 等學府對學生的研究自主權相當尊重。論文題目和寫作大綱經指導教授同意後,系主任好意 幫我申請助教獎學金,希望我在未來的一年完成論文寫作。我很坦誠地告訴她,自己準備多 年,何況青春不再,時間對我而言,已非金錢所能衡量,我決定在四個月內完成。

論文定名為「A Multimedia-based Bilingual Instructional System Using An Expert System Shell (以專家系統發展工具建構電腦多媒体雙語教學系統。)」我用麥金塔的 WORD 做文書處理,整 本論文包括圖表,照片只有一個檔案。指導教授認為必須修改或加強之處,隔天馬上改好, 一次列印三份,送請過目,前後總共修改七次。最後由三位指導教授合堂會審後定稿。非常 時期裡,每天只睡五個小時,有一陣子一天兩餐以速食麵裹腹。還好耶誕節過後,密蘇里氣 候反常,沒有下雪,久年胃病卻霍然而癒。論文送到 Graduate School 審查通過後,系主任 告訴我,這段時間她睡得不安穩,煙抽得很兇。我在心裡偷笑,卻由衷地感激他們對我的支 持與幫助。

學位拿到手,我把論文交給 University Microfilms International 出版並製作微縮膠片,也向 國會圖書館辦妥著作權登記,接著和 Texas Instruments 洽商 PC Plus Runtime 版本再授權 的可行性。誰知 TI 軟体部門告訴我,公司決定中止發行 (Discontinued) PC Plus。這個意外, 粉碎了我將 TITES 多媒体教學專家系統商品化的構想,也讓我深切地体認,程式設計師選 擇發展工具所冒的風險和面對不可預知的未來,必須突破困境的勇氣。

事已至此,我開始盤算如何改寫「TITES 多媒体教學專家系統。」這個念頭我在撰寫論文 以前就曾想過,只是考慮到各種因素,便擱了下來,如今沒有選擇餘地,只好另起爐灶,直 接用程式語言撰寫,以求一勞永逸。安慰自己幾天以後,我開始採買所需的工具軟体。在台 灣,除了倚天中文系統是自己買的以外,其餘設備都是向學校和教授商借使用,家裡只有一 台宏碁710XT,還是二手貨。美國的軟体便宜,學生又有優惠折扣,我陸續添了不少工具, 其中有些 Shareware,花筆小錢註冊,和作者有了交往,直到現在仍然保持連絡,經常交換 資訊,無形中也拓展了知識領域。


過河卒但進不退

八十一年夏天,回到台灣,留美預算尚有節餘,一口氣買了三台486,又添加光碟機,音效 卡,圖形掃瞄器和雷射印表機,終於有自己的工作室。說來慚愧,離開台電以後收入並不豐 裕,勉強糊口而已,民國七十年已購小屋一幢,一家三口幸有棲身之地。妻子在家開班授課, 收入尚可,我除了兼幾堂電腦課,大部分時間得以進行程式改造計劃,免了後顧之憂。

由於軟硬体設備比較齊全,重寫系統的工作相當順利。主体架構在半年內完成。我用 QBASIC 4.5和 Microsoft BASIC PDS 7.1 充作系統外殼,再運用框架結構從 Module 呼叫組合語言 副程式,逐步建立「TITES 多媒体教學系統」和「TITES 多媒体管理系統」,不僅可以整合 文字,圖像,音效和動態影像,加上以滑鼠驅動的圖形選單介面,六種 24x24 中文字型, 1024x768x256色高解析畫面,看來比原有的系統更加生動,經過編譯,測試以後發現程式 比從前短小,執行速度加快,又不需要 Runtime 版本,完工以後,我再設計一個多媒体動 畫作為廣告,至此完全擺脫發展工具的限制,成了真正 Stand-alone 的軟体。回想這段心路 歷程,頗有「失之東隅,收之桑榆」的快感。


獻敝帚與君共勉

剛開始寫程式,很少考慮維修問題。有了構想,稍微思考一下結構,便開始動手。寫碼時猶 如天馬行空,一瀉千里,等到捉襟見肘時再回頭挖東牆補西壁。寫完後備份存檔,頂多注意 不讓磁片發霉便萬事OK。到後來,程式大而複雜,想要修改時連自己都要反覆看上幾遍才 能下手。經過數次教訓以後,終於了解事前規劃工作的重要性。後來又把核電廠記載施工日 誌那一套如法泡製;只要有進度,就寫施工日誌。詳細記錄工作內容,原始構想,寫碼時遭 遇的困難,變數如何定義?執行結果是否有錯誤,怎樣解決問題等。程式內容有重大變動, 就更新版次,將舊版存檔。每隔一段時候列印一次,局部更改則直接在程式加上說明及修改 日期,方便和工作日誌的記錄比對。如此一來雖然費時,卻使維護工作有條不紊,查考相當 容易,工作效率提高不少。

比較重要的參考資料,先用卷宗分類歸檔,滿載以後再用牛皮紙袋寫上編號,日期和目錄收 存,同時把目錄放進資料庫內存檔以便日後查考。閱讀雜誌和電腦資訊時,我一向有摘記重 點的習慣,內容包括瀏覽日期,期刊名稱,期別,頁次,標題和摘要,廣告上的資訊也不例 外,全用 A4 紙張加以記錄,依序歸檔。

軟体管理方面,從前把常用軟体做適當分類,再用筆記記錄諸如軟体功能,版權類別,操作 方法,應用範圍,功能限制及操作注意事項等。後來將這個構想設計成外部程式資料庫,放 在「TITES 多媒体管理系統」內,只要將每個軟体或程式,依照分類建立資料錄,需要執 行這些軟体時,便可很快瀏覽相關資料錄內容,按 ENTER 鍵執行。不論 DOS 或 WINDOWS 程式都可應用外部程式加以整合,不但擴充程式功能,也延伸應用領域,更是 管理軟体的好幫手。

某些工作如影像或音效處理,可能要用兩種以上工具才能完成,對於這些特殊的應用實例, 我也用筆記來記錄操作程序。例如「製作動畫的方法」,「製作立体聲 MIDI 音效」,「如何 調整 Monitor 掃瞄頻率與V8 攝影機同步」,「如何將256 色圖像設定特別的調色盤」等, 日子久了便累積成一本實用的電腦教材。


雪夜林邊暫駐馬

有幾個朋友問我,你程式寫這麼久,到底賣幾套,賺多少錢?我都說「賣一點點,賺一點點。」 發財是商人才有的本事。我想寫程式,只因有源源不絕的構想,又不自量力地想把它實現。 電腦世界,對我而言就像「雪夜林邊駐馬」裡的森林;幽暗、深邃,卻令人著迷。創意的實 現,所獲致的成就和滿足,絕非金錢能夠比擬。最近將一批年代久遠,略嫌殘破的寫真,利 用影像處理技術修復,再以 78 轉古董唱片配音,附上文字說明存入多媒体資料庫。六十多 歲的母親從電腦裡,看著自己年輕時代的倩影,熟悉的音樂從喇叭輕瀉而出,時光彷彿回到 從前。剎那間,我明白這幾年的努力並沒有白費。

有時候會問自己,下一步做什麼?移植到 WINDOWS 95?也許吧!從前選修莎士比亞,我 就知道「威尼斯商人」可以永垂不朽。米開蘭基羅的大衛雕像比他活得還要長久,然而程式 軟体日新月異,很難不被淘汰。只有把科技,文化和藝術相結合才能傳諸後世。我目前想做 的是利用「TITES 多媒体管理系統」,把 1895-1995 這一百年間,台灣的人事地物記錄下來, 為歷史做個見證。這個工程確實浩大,不過我和兒子都有愚公移山的精神。從資料蒐集,考 證,文字編輯,圖像輸入,音效製作和影音攝錄等工作,逐步進行。目前已建立一百三十個 資料錄。


少運崎嶇老景宜

走筆至此,當近尾聲。秋色宜人,突然想起年幼時祖父央人替我排的命書,上頭批有一首七 言:「元神乙木大雪期,幸喜頤氣來相依,傷官逢財衣祿富,少運崎嶇老景宜。」回想我的 電腦學習過程,還真是蜿蜒曲折,但願從此順風揚帆,漸入佳境。「少運崎嶇老景宜」,還不 錯,就以此為題。