有很多種可視化信息監控程序可用于評估計算機環境的運行狀況。可以使用從簡單文本顯示,到實時圖表和 3D 彩色圖表的一切手段來協助您診斷個人計算設備、服務器計算設備或網絡計算設備的問題。chordStats 將新的接口通道添加到系統監視設置中 —— 通過音調、音色以及和聲傳遞信息。
大約在 1998 年,這種功能破土而出!Network Auralizer 被開發用于提供一種 “環境式” 音效環境,以輔助管理員來判斷網絡的基準和紊亂狀態。使用根據特定事件回放的聲音效果,管理員可以專注于網絡的正常音效(例如,水浪聲表示一般負載,鳥叫聲表示網絡事件),并在出問題時通過環境音效的變化立即得知情況。
chordStats 用添加音調的方法生成類似的聲音環境,配備聲音特征,并且根據系統負載創建和聲。在本文中,您將創建一個簡單的 Perl 腳本將通知事件發送給 FluidSynth,強制將各種系統事件解釋為悅耳的聲音,文中還探討了增強音樂監控環境的未來選擇。
要求
硬件
本文是部分基于 Intel® Pentium® 4 及 256 MB RAM 開發的。由于 FluidSynth MIDI 軟件合成非常耗費資源,因此請不要嘗試在低于 Pentium III 及 256 MB RAM 配置的機器上執行。還需要使用聲卡。為實現本文的目的,我們假定用戶的聲卡中沒有硬件 MIDI 波表合成器,并因此而使用了軟件合成器。如果聲卡中硬件合成器或需要將 chordStats 與外部硬件結合使用,請參閱 參考資料 獲得幫助入門的鏈接。
軟件
建議使用最新版本(2.4 或更高版本)的 Linux®,以及 Perl 和 FluidSynth。有關 FluidSynth 應用程序,請參閱 參考資料。另外建議您選用 SoundFonts。下載 部分附帶了專用于打擊樂器(管鐘、鋼琴、木琴)的內置 SoundFont。Internet 上有很多免費的 SoundFonts 資源(請參閱 參考資料)。
我們使用 vmstat 程序進行簡單的系統狀態監視。vmstat 是很多 Linux 發行版的標準配置,它提供了三種形式的 CPU 負載,一般磁盤塊出入以及監視很多其他系統功能的能力。
設置和配置示例
FluidSynth 設置和檢驗
安裝 FluidSynth 并下載示例 SoundFont 后,用命令 fluidsynth Hammered_Instruments.sf2 啟動 FluidSynth 程序。您將看到類似以下內容的輸出:
清單 1. FluidSynth 輸出
lash_open_socket: could not look up host 'localhost': Servname not supported for ai_socktype lash_open_socket: could not connect to host 'localhost', service '14541' lash_comm_connect_to_server: could not create server connection lash_init: could not connect to server 'localhost' - disabling LASH lash_init: LASH_START_SERVER unset, not attempting to start server automatically fluidsynth: warning: Failed to pin the sample data to RAM; swapping is possible. ALSA lib timer_hw.c:269:(snd_timer_hw_open) extended read is not supported (SNDRV_TIMER_IOCTL_TREAD) fluidsynth: warning: Requested a period size of 64, got 940 instead fluidsynth: ALSA driver: Using format s16, rw, interleaved FluidSynth version 1.0.7 Copyright (C) 2000-2006 Peter Hanappe and others. Distributed under the LGPL license. SoundFont(R) is a registered trademark of E-mu Systems, Inc. Type 'help' for information on commands and 'help help' for help topics. > |
不必擔心這些警告消息。如果看到 > 符號,則 FluidSynth 已經準備好開始生成聲音。嘗試使用 noteon 5 77 100 在通道 5 中創建一個速率為 77、音量級別為 100 的通知。如果可以聽到電子鋼琴聲,那么您就已經準備好繼續執行下一步。鍵入 quit 或使用 Ctrl+C 組合鍵退出 FluidSynth。如果聲音不可用或者收到錯誤消息,則請確保聲音服務器已經啟動并且混音器的設置都正確。
向 FluidSynth 發送多個通知事件時,您可能會注意到一些聲音波動 —— 就像音樂 CD 跳幀一樣。采用命令 fluidsynth Hammered_Instruments.sf2 -c10000 -z10000 增加音頻緩沖區的數目和每個緩沖區的大小,以便緩解此問題。這將啟動有 10,000 個音頻緩沖區且每個緩沖區大小為 10,000 的 FluidSynth —— 這個空間很大,足以減少波動。