在主程序循环中,代码无需忽略标题行和输入的前两行。您可以根据需要移除这些条件。fastUpdate.pl 脚本的输出已被调整为范围在 0 到 100 之间,因此把 sendNote 事件从:
# user cpu usage
$note = $currLine[ $fields{us} ];
sendNote( $note, 14, 12, 96 );
# conglomerate disk i/o fields to one stat
$note = $currLine[ $fields{bi} ] + $currLine[ $fields{bo} ];
if( $note > 1000 ){ $note = 1000; }
$note = $note/10;
sendNote( $note, 8, 12, 96 );
# network throughput on eth0
$note = getNetworkStats();
sendNote( $note, 5, 12, 84 );
更改为:
$note = $currLine[ $fields{memFree} ];
sendNote( $note, 14, 48, 96 );
$note = $currLine[ $fields{ethInt} ];
sendNote( $note, 8, 48, 96 );
$note = $currLine[ $fields{proc} ];
sendNote( $note, 5, 48, 96 );
请注意,此修正版中将最小值增加到了 48。这是对选定的 SoundFont (Electronic_Sounds.sf2) 的特性的补偿。用命令 perl chordStats.pl |fluidsynth Electronic_Sounds.sf2 -c10000 -z10000 >/dev/null 来运行此更新版本的 chordStats,并且您将听到扬声器发射出的优美的 1960s sci-fi/B-movie 声道。
结束语
通过本示例,可以修改 chordStats 来根据所选的任何参数来播放音乐。修改 fastUpdate 以读取 strace 或 gprof 输出,比较构建过程日志文件并监视错误,或将多台计算机和网络设备的性能统计信息组合为通知流。
如果还有兴趣,请尝试根据附加数据修改音量参数。例如,如果信息包的数目保持不变,但中断次数不断增加,则需要增加网络通知的音量以强调对这方面的注意力。尝试移入三度音阶而不是整个八度音阶,或在检测到值发生较大变化时插入一个休止符以强调随后的阶段。
下载
描述
名字
大小
下载方法
源代码
os-linuxmusic_chordStats-0.1.zip
10MB
HTTP