Subscribe to the Free Software Supporter — the monthly update from the Free Software Foundation
 [image of a Brave GNU World]
《勇敢 GNU 世界》 - 〈第五十期〉
Copyright © 2003 Georg C. F. Greve <>
中文翻譯:劉 昭宏 <>
許可聲明 如下

[CN | DE | EN | FR | JA | ES | KO | PT | ZH]

Welcome back to another issue of the Brave GNU World. This issue continues where the last has stopped, in the large field of audio applications.

歡迎來到又一期的《勇敢 GNU 世界》。本期將接續地上一期〔起了頭,但〕還沒結束的音效應用程式的這個大項目。

LAoE (圖形化聲音編輯器)

LAoE [5] is a graphical sound editor by Olivier Gäumann. After working on it since July 2000, he recently made it available under the GNU General Public License (GPL).

LAoE [5] 是由 Olivier Gäumann 所完成的圖形化聲音編輯器( graphical sound editor )。在二○○○年開始致力於它之後,他最近讓它可以在 GNU General Public License (GPL) 下取得。

Prior to starting this project, Olivier has been looking for an appropriate application that would fit his needs since January 2000. Unfortunately without success. So he decided to scratch his own itch and began developing. Lacking experience in professional music, development encountered some dead ends and difficulties, but these were resolved over time.

在開始這項計畫之前, Olivier 從二○○○年一月開始尋找一個符合他的需求的適當應用程式。不幸的是並沒有成功。所以他決定搔他自己的癢處,並且開始開發。由於缺乏專業音樂的經驗,開發〔過程中〕遇到了些死胡同和困難,但這些都隨著時間〔推演〕而獲得解決。

The design of LAoE has taken inspiration from the Free Software graphics application GIMP [6] from which it adopted the layer-based concept with numerous plugins and effects. Oliviers hopes to create a sound editor that is about as complete as state-of-the-art graphical programs.

LAoE 的設計從自由軟體圖形應用程式 GIMP [6] 中獲得靈感, GIMP 採用了搭配許多插接( plugins )以及效果( effects )的以層次作為基礎( layer-based )的概念。 Oliviers 希望能夠建立一個盡可能地完全的尖端聲音編輯器。

LAoE can read mp3, wav, au, aiff and gsm files and supports output in wav and aiff formats. The implementation of a native laoe-format, in which the different layers and settings will be preserved, is planned.

LAoE 可以讀取 mp3 、 wav 、 au 、 aiff 以及 gsm 檔案,並且支援 wav 和 aiff 格式的輸出。原生的( native )可以保存不同層次以及設定( settings )的「laoe-格式」的實作也在計劃中。

Although the performance of the hardware puts a practical limit to the number of channels and layers, LAoE theoretically supports an unlimited number. To ensure maximum precision, all operations are floating-point based.

雖然硬體的性能( performance )使得頻道( channels )以及層次的數目有著實用上的限制,〔不過〕 LAoE 理論上支援一個沒有上限的數目。為了保證最大的精確度( precision ),所有的操作都以浮點數( floating-point )作為基礎。

Besides standard functions like copy, paste, cut and move, LAoE also provides a rather sophisticated and unlimited undo system that allows going back to any former state. Selecting and modifying areas for editing is possible in multiple ways and with different functions.

除了像是 copy 、 paste 、 cut 以及 move 等標準的函數〔之外〕, LAoE 也提供了一個較為精巧以及沒有上限的 undo 系統,這允許了〔我們可以〕回到任何先前的狀態( state )。〔同時,〕由數種方式、以不同函數來選擇以及修改〔聲音〕區段( areas )是有可能的。

Besides analysis tools, LAoE contains waveform generators and different functions for amplitude modification. Transduction into and editing in the frequency domain by means of Fast-Fourier-Transform (FFT) is supported as well as filtering by different parameters and frequencies. Aside from that, the project offers many different effects, e.g. a delayed echo, pitch manipulation, disharmony plugin, time manipulation and so on. Also it is possible to display and edit spectrograms.

除了分析工具之外, LAoE 包括了波形產生器( waveform generators )以及作為振幅修改( amplitude modification )之用的不同函數。在頻率域( frequency domain )中的編輯,支援經由 Fast-Fourier-Transform (FFT) 轉換以及使用不同參數和頻率來過濾〔的機制〕。除此之外,這計畫提供了許多不同的效果〈舉例來說:延遲的回音、音高管理、不協調插接以及時間管理…等等〉。它也有可能顯示以及編輯音譜儀( spectrograms )。

Olivier also spent some time improving usability, so LAoE offers "mouse stroke shortcuts" that for instance allow calling the undo history plugin by drawing a simple "u" with the mouse.

Olivier 也花了一些時間來提高可用性( usability ),所以 LAoE 提供了〈舉例來說〉“滑鼠點擊捷徑”( mouse stroke shortcuts ),那允許了經由以滑鼠繪出一個簡單的 "u" 〔的方式〕來呼叫( calling ) undo 這個歷史插接。

Should that still not be enough for you, you are of course very welcome to provide your own effects and expansions in form of plugins.

還是不夠〔吸引〕你嗎?〔這樣的話,〕當然也非常歡迎你以插接的形式,提供出你自己的效果和擴充( expansions )。

With development being in a fairly advanced stage by now, Olivier was planning to focus even more on documentation — currently even a short reference/menu card already exists — in order to improve usability and win more users for the project.

現在開發是處於一個算是進階的階段,〔因此〕 Olivier 計劃著要更加集中致力於文件上 — 目前甚至已經有了一個簡短的「參考/選單」卡 — 以提高可用性,並且爭取更多這項計畫的使用者。

At the moment, the incoming stream of suggestions and wishes for improvements is pretty strong, though, so it seems possible that further documentation may be somewhat delayed.


Main problem of LAoE is that isn't usable for pieces of music longer than roughly 5 minutes, as the whole piece needs to be read into memory, which provides for strong technical limitation.

LAoE 的主要問題是:約略長於五分鐘的音樂片段( pieces of music )不具可用性。這是因為整個片段必須〔全部〕讀入記憶體,因此造成了強技術限制。

Also the programming language used was Java; with all the problems described in detail in issue #49 [7]. So LAoE is still dependant upon a proprietary platform.

另一個使用的程式語言是 Java ;〔它面臨到的〕所有問題在〈第四十九期〉“Java 相關性” [7] 中有詳細的解釋。所以 LAoE 仍然依賴著一個私權平台。

Whether the future will bring a Free Java or use of another language — possibly also to avoid technical problems — it can be said that LAoE is definitely a very interesting project that took another important step in the field of professional audio applications.

不管未來是否將會有個自由的 Java ,或是使用另一個程式語言 — 可能也是要避免技術問題 — 可以說的是 LAoE 肯定是個非常有趣,並且在專業音效應用程式的領域中,邁出另外重要一步的計畫。

Although according to his own sentiment Olivier did not receive a lot of support from others, that does not mean he wouldn't appreciate it. Quite the opposite, he explicitly is looking for volunteers to help him work on this project.

雖然根據他自己的感覺, Olivier 並沒有從其他人收到許多支援,〔但〕那不表示他並不感激它。恰好相反,他明確地尋求〔能夠〕幫助他致力於這項計畫的志願者。

More information about the project as well as contact details can be found on the LAoE home page. [5]

關於這項計畫的更多資訊,以及詳細的聯繫〔方式〕,可以在 LAoE 首頁 [5] 中找到。

Apvsys (程式的版本管理器)

Sometimes it is necessary or at least useful to have different versions of the same program installed simultaneously so they can be used alternatively or even at the same time. Possible reasons for this are different versions not being downwards compatible anymore or other programs requring different versions of the same application.

有時候同時地安裝相同程式的不同版本有其必要,或至少是有用的,因此它們就可以替代地使用,或甚至在同一時間使用。這個〔情形〕的可能原因有:不同的版本不再向下相容( downwards compatible ),或是其它程式需要相同程式的不同版本。

The different operating systems have different approaches to solve this problem. Under MS Windows this is handled by means of the centralized Registry, which only solves this problem extremely unsatisfactory.

不同的作業系統有著不同的手段來解決這個問題。在 MS Windows 下是以中央化的登錄( centralized Registry )來處理,不過〔也〕只是相當不令人滿意地解決這個問題。

The operating system Plan9 had the concept of so-called "Views" in combination with Union file systems. This allowed storing all applications in the /bin directory and by means of the view, the user can determine which version is being used. Under Unix such a choice / installation is usually done with symbolic links and the environment variables PATH and LD_LIBRARY_PATH.

Plan9 作業系統有個與 Union 檔案系統組合著的所謂 "Views" 的概念。這允許了以 view 的方式儲存所有應用程式在 /bin 目錄下,使用者可以決定要使用哪一個版本。在 Unix 下,這樣的「選擇/安裝」通常是用符號式鏈接以及變數 PATH 和 LD_LIBRARY_PATH 來完成的。

Given the case that there is just a new version to be installed by hand outside the scope of the distribution without harming the maintainability of the system, there are tools like GNU Stow [9], which can make your life easier (see issue #36 [10]). Should several different versions be usable at the same time, this does not help you much, however.

考慮以下情形:只是要手工安裝一個在散佈件以外的新版本,而不傷害到系統的維護性( maintainability ),那麼〔我們〕有像是 GNU Stow [9] 的工具可以讓你的生活更容易(見〈第三十六期〉 [10] )。然而這對於「數個不同版本是否應該可以在同一時間內使用」〔來說〕,幫不了你什麼忙。

Sometimes, people try to solve these problems with wrappers and shell scripts, but these solutions are often fragile and require intensive care and maintenance. Apvsys [8] by Arnaud Bertrand seeks to provide a better solution.

有時候,人們試著用包裝( wrappers )以及外殼腳本〔程式〕( shell scripts )來解決這些問題,但是這些解決方案經常是脆弱並且需要密集的注意和維護的。由 Arnaud Bertrand 所完成的 Apvsys [8] 尋求著提供一個較好的解決方案。

The different versions of all applications are all installed into different sub-directories and managed by Apvsys. Users only need to add a single directory to their PATH variable, which could also happen automatically.

所有應用程式的不同版本全部都安裝到不同的次目錄,並且由 Apvsys 管理。使用者只需要增加單一個目錄到他們的 PATH 變數〈它也可以自動地發生〉。

Afterwards, the APVSYs_TOOLSPEC_FILES allow configuring different versions for specific applications and environments. Commandline tools allow checking the used versions and administrating the configuration. If no particular version is specified, the default version is used.

接下來, APVSYs_TOOLSPEC_FILES 允許配置( configuring )特定應用程式和環境的不同版本。命令列( Commandline )工具允許檢查使用的版本,並且管理配置〔設定〕。如果沒有指定特定的版本,預設的版本就會被使用。

All configuration is done by means of simple text files that are administrated through Perl applications. The Apvsys shell itself was written in C.

所有的配置都是由透過 Perl 應用程式所管理的簡單文字檔案的方式來完成。 Apvsys 外殼本身〔則〕是以 C 語言寫成。

A few words should probably be said about the background. Apvsys is the reimplementation of a program written in 2001 by Alex Farell using Perl. This could not be used anymore because Alex Farell had written it during his working time and so the rights were with the employer.

可能有一些應該要加以說明的背景: Apvsys 是 Alex Farell 於二○○一年使用 Perl 所撰寫的一支程式的重新實作。這支程式因為是 Alex Farell 在他的工作時間內寫成而使〔它的〕權利歸屬於雇主,因而再也不能使用。

Apvsys made sure to not run into the same problems and is available as Free Software under the GNU General Public License (GPL) Version 2.

Apvsys 確定了〔在重新實作時〕避免面臨到相同的問題,並且可以在 GNU General Public License (GPL) Version 2 下作為自由軟體而取得。

By switching to C Arnaud Bertrand sought to increase the speed of the application, while making sure to keep the format of the ASCII configuration database to make the shift as easy as possible. This seems to have been rather successful, as Apvsys is successfully being used in three big design centers in Belgium and France as part of their production environment since 2002.

Arnaud Bertrand 以切換到 C 〔的作法〕來尋求增加應用程式的〔執行〕速度,同時確定保持 ASCII 配置資料庫的格式,以使切換〔的過程〕盡可能地簡單。這看來似乎是更加地成功,因為 Apvsys 成功地為比利時和法國的三間設計中心所使用,並自二○○二年開始作為它們的生產環境( production environment )。

So the core of Apvsys can definitely be considered stable, which of course doesn't mean that there are no problems or possibilities for improving the program. Sometimes different tools with identical names cause problems and should be treated with care, for instance. Also there are sometimes problems when the paths are hard-coded into the applications.

所以 Apvsys 的核心( core )肯定可以視為穩定,但這當然並不表示〔已經〕沒有〔任何〕問題,或無法再改進這個程式了。舉例來說:有時候具有完全相同名稱的不同工具會造成問題,並且應該小心地處理。有時候當〔檔案〕路徑( paths )被寫死( hard-coded )在應用程式中,也會造成問題。

Future plans for Apvsys are to add a graphical user interface and a packaging system. The decision of whether the packaging system will be chosen among one of the existing or be newly implemented is still not clear, though.

Apvsys 計劃在未來增加一個圖形使用者介面以及一個封裝( packaging )系統。然而,封裝系統是否將由現有中的一個選出,或是加以全新的實作?〔決定〕仍不明朗。

In any case, volunteers are very welcome to participate in Apvsys development and possibly make suggestions about the interface or packaging system.

不管怎樣,都非常歡迎自願者可以參與 Apvsys 的開發,以及作出有關於介面或封裝系統的建議。

Another area in which volunteers can help easily is platform independence. Apvsys is known to run on GNU/Linux, Solaris, HPUX and Cygwin. It should also run on other platforms, but that needs to be tested.

另一個志願者可以簡單地〔提供〕幫忙的領域是平台獨立性( platform independence )〔的測試〕。 Apvsys 已知〔可以〕在 GNU/Linux 、 Solaris 、 HPUX 和 Cygwin 上執行。它應該也可以在其它平台上執行,不過那將需要經過測試。

The last suggestion by Xavier Duret, who filled out the Brave GNU World questions on Apvsys, refers to the GNU Hurd. [11] In case this hasn't been done already, he would like to encourage a volunteer to create a Hurd translator based upon a Union filesystem that could provide equivalent functionalities to Apvsys or Plan9.

最後一個建議是關於 GNU Hurd [11] ,由填來了 Apvsys 的《勇敢 GNU 世界》問題的 Xavier Duret 所提出。由於〔GNU Hurd 的〕情形很顯然是還沒有完成,〔因此〕他想要鼓勵一位志願者可以創造出一個基於 Union 檔案系統的 Hurd 翻譯器,使其〔能夠〕為 Apvsys 或 Plan9 提供同等的功能( functionalities )。

pyDDR (跳舞機的 Python 仿製品)

At least on the northern hemisphere, summer is approaching fast. Therefore even geeks should think about getting into shape. To make sure that they don't have to leave their beloved computer for this, there is the next project.

至少在北半球,夏天的腳步很快地就要來臨。因此即使是電腦怪胎( geeks )應該也要具體地想一下〔怎麼打發時間〕。為了確定他們不必為了這個〔原因〕而離開他們深愛的電腦,因此有了下一個計畫。

pyDDR [12] is a Python clone of the game DDR ("Dance Dance Revolution"), in which the player under full bodily engagement has to step on the right arrows of a sensor mat at the right time. Sounds simple, and it is. But only if you're watching.

pyDDR [12] 是遊戲 DDR (跳跳舞革命 ; Dance Dance Revolution)【跳舞機】的 Python 仿製品( clone ),玩家〈在與身體完全的搭配下〉必須在正確的時間踩到感應毯的正確箭頭。聽起來很簡單,確實也是如此。但只有當你在〔旁邊〕看的時候〔才成立〕。

Even though these games have not yet spread very far in Europe and the America, they have been popular for some time in Asia and in many arcades people are dancing or (for another game) beating the drums.


Thanks to the work done by Brendan Becker, who implemented pyDDR as Free Software under a license similar to the X11 license, you can now also do this at home and so during waiting time — like a long compilation — do something for the body. Libraries used were the PyGame Module [13] and the Simple DirectMedia Layer (SDL) [14].

謝謝由 Brendan Becker 〈他在一個類似 X11 許可證的許可證下將 pyDDR 實作為自由軟體〉所完成的工作,你現在可以在家裡或等待的時間中做這 — 像是等待一段長編譯時 — 來為身體做點事。使用的函數庫有 PyGame 模組 [13] 和 Simple DirectMedia Layer (簡易直接媒體層 ; SDL)[14] 。

Brendan got support for his work by several volunteers like Joe Wreschnig and John Bafford; he'd like to encourage others to also get involved. This includes financial contribution, Brendan emphasizes, as he would rather spend more time on games than doing his "normal" job.

Brendan 在他的工作上獲得 Joe Wreschnig 和 John Bafford 這幾位志願者的支援;他想鼓勵其他人也〔能夠〕涉入其中。 Brendan 強調這包括了財務貢獻,因為他想要花多一點時遊戲上,勝於做他的“正常”工作。

pyDDR was originally written for GNU/Linux, but there are reports that it has successfully being made to run on Windows NT, XP, 9X as well as BSD, MacOS X and BeOS. Even on a Playstation 2 running GNU/Linux somebody got it to run — this can only be recommended to the technically savvy, though.

pyDDR 一開始是為 GNU/Linux 所撰寫的,但有報告指出它已經成功地在 Windows NT 、 XP 、 9X 以及 BSD 、 MacOS X 和 BeOS 上執行。即使在執行 GNU/Linux 的 Playstation 2 ,也有人使它可以執行 — 然而這只能夠推薦給技術高手〔來做〕【對我們普通人則是:危險動作,請勿模仿】。

Of course the full game experience requires getting a sensor mat, if you intend to play against each other, even two. But you can also replace one sensor mat with the keyboard, so it is at least possible to get an idea of the game without having to get new hardware.


But even if you don't believe in Physical movement like dancing the game is still worth a look because it looks very professional with good graphics and sound, providing an idea of what Free Software games can look like.



With a growing amount of Free Software applications, it gets increasingly hard to keep the overview. One solution trying to address this problem are portal sites.

隨著自由軟體應用程式數量的增加,想要保持〔對它的認識的〕概觀愈來愈難。處理這個問題的一種解決方案是〔提供〕入口網站( portal sites )

Unfortunately some portals, like Freshmeat, are only of limited use, as they are not capable of ensuring the quality of their entries and also often mix proprietary and Free Software.

不幸的是有些入口〈像是 Freshmeat〉只有有限的用途,因為它們沒能確保它們〔登錄〕項目的品質,而且通常混合著私權以及自由軟體。

To solve this problem, the Free Software Foundation began working on the Free Software Directory, [15] a database for Free Software, in September 1999 and entrusted Janet Casey with maintaining it.

為了解決這個問題,自由軟體基金會在一九九九年開始致力於自由軟體目錄( Free Software Directory ) [15] ,這是一個自由軟體的資料庫,並且委託 Janet Casey 來維護它。

Every entry in the directory is checked for proper licensing by looking at the web page and into the source code to make sure that the license is what it seemed to be. Therefore users can place more trust into the information from the Free Software Directory.


In April 2003, the United Nations Education, Scientific and Cultural Organization (UNESCO) joined into this activity of the FSF and supports it officially, so now it is the "FSF/UNESCO Free Software Directory."

在二○○三年四月,聯合國教科文組織( UNESCO )加入了 FSF 的活動,並且正式地支持它,所以現在它是“FSF/UNESCO 自由軟體目錄”了。

If you are looking for solutions or would like to know whether an application exists for a certain purpose, the Free Software Directory offers a good reference point.


Authors of projects should — in case they haven't done so already — make sure that their projects are contained in the directory and of course also inform the Brave GNU World. [1]

計畫的作者應該 — 如果他們還沒有這樣做的話 — 確定他們的計畫被包括在這個目錄下,當然也〔記得〕通知《勇敢 GNU 世界》 [1] 。


That means the column has once again reaches its end for this month. If you have questions, commens, ideas or suggestions for cool projects, please don't hesitate to send me email. [1]

〔看到這段文字,〕表示本專欄再一次到了這個月的尾聲。如果你有問題、意見、想法和建議,請不要遲疑,寄封電子郵件給我 [1] 。

[1] 請將想法、意見和問題送到 《勇敢 GNU 世界》 <>
[2] GNU 計畫的首頁
[3] 喬格的《勇敢 GNU 世界》首頁
[4] 「GNU 藝廊」原創
[5] LAoE 首頁
[6] GIMP 首頁
[7] 《勇敢 GNU 世界》 - 〈第四十九期〉
[8] Application Version System (Apvsys) 首頁
[9] GNU Stow 首頁
[10] 《勇敢 GNU 世界》 - 〈第三十六期〉
[11] GNU Hurd 首頁
[12] pyDDR 首頁
[13] PyGame 首頁
[14] Simple DirectMedia Layer (SDL) 首頁
[15] 自由軟體目錄
[16] 聯合國教育、科學與文化組織( United Nations Educational, Scientific and Cultural Organization ; UNESCO )

[ 上一期 | 《勇敢 GNU 世界》首頁 ]

返回 GNU 首頁

請將有關 自由軟體基金會 與 GNU 的 查詢 與 問題 送到
您也可以使用 其它方法聯繫 自由軟體基金會。

請將有關喬格的《勇敢 GNU 世界》專欄的意見(以英文或德文)送到

Copyright (C) 2003 Georg C. F. Greve
中文翻譯:劉 昭宏

Permission is granted to make and distribute verbatim copies of this transcript as long as the copyright and this permission notice appear.


Last modified: Tue Jun 3 20:05:33 CEST 2003