首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

用机器生成的音乐监控 Linux 计算机(1)

用机器生成的音乐监控 Linux 计算机(1)

有很多种可视化信息监控程序可用于评估计算机环境的运行状况。可以使用从简单文本显示,到实时图表和 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 输出
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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:269snd_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 —— 这个空间很大,足以减少波动。
返回列表