用机器生成的音乐来监控Linux 计算机的办法(8)

在主程序循环中,代码无需忽略标题行和输入的前两行。您可以根据需要移除这些条件。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  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzwxsy.html