`
idning
  • 浏览: 138429 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

写了一个根据cpu使用率 发声的小程序.

阅读更多

下午烦躁,躺着睡觉

想起来前天看黑客帝国,第6分50秒,neo的电脑发出一种beep,觉得很酷

想弄在一把

 

于是写了个代码:

它会 根据cpu使用率 发声

cpu usage           2秒内发声情况

10%                    . (2声)

20%                    ..(4声)

...

100%                    ....................(20声)

 

于是乎,如果cpu使用率接近100%的话,她就会不停的发声:)

 

 

 

#!/usr/bin/env python2.6
#coding=utf8
#<<neo>>  06:45-6:55 beep ...  ... .....
#if the cpu usage is full ,the beep will not stop. 
# usage:
#    sudo modprobe pcspkr
#    sudo apt-get install beep

import os
import re, time
def beep(frequency, duration=100, repeat=10, delay=10): #100 ms
    cmd = 'beep -f %s -l %s -r %s -d %s' % (frequency,duration, repeat, delay)
    print cmd
    os.system(cmd)

last_all = 0
last_used = 0

def cpu_usage():
    str = file('/proc/stat').read()
    arr = re.split(r'\s+', str)[1:5]
    print arr
    arr = [int(item) for item in arr]
    print arr
    cpu_all = sum(arr)
    cpu_used = sum(arr[0:3])
    usage = 1.0 * (cpu_used- last_used) / (cpu_all - last_all)


    global last_used, last_all
    last_all = cpu_all
    last_used = cpu_used
    print usage
    return usage

for i in range (0, 100000):
    usage = cpu_usage()
    t1 = time.time()
    beep(80, 10, int(usage * 20)+1, 100) #beep for (usage*10+10) times, will tack 1s-2s
    t2 = time.time()
    print t1, t2
    time.sleep(2-(t2-t1))  #2s sub the time used in beep

 

 

分享到:
评论
1 楼 idning 2010-05-22  
黑客帝国I背景音乐:
这是一部所有的背景音乐,在百度里搜吧
第一部:
1. Main Title
2. Trinity Infinity
3. Follow Instructions
4. The White Rabbit
5. Sneak Rue Eve
6. Unable to Speak
7. Road To Truthville
8. The Lafayette Mirror
9. The Power Plant
10. Welcome to the Real World
11. Introductions
12. The Truth
13. No Return
14. Training (Bow Whisk Orchestra)
15. Switch or Break Show
16. The Jump Program
17. I Don't Remember You Bringing me Dinner
18. The Sewers
19. Want a Drink?/The Turncoat
20. Departure & Arrival
21. Spoonboy Sermon
22. Oracle Honesty
23. The Hotel Ambush- Exit Mr. Hat
24. Cypher Punk
25. Think Tank
26. A Virus
27. Let's Go
28. Bullet-time
29. You Move Like They Do
30. Ontological Shock
31. The Subway Fight
32. Neo on the Run
33. Anything is Possible


电脑对他说“。。。跟随白兔。。”之前,他躺在床上时听的音乐。
dissolved girl

相关推荐

    ac97声卡在dos下的发声研究

    在这个场景中,"AC97.ASM"可能是一个用汇编语言编写的AC97声卡驱动程序源代码,它包含了与硬件交互的指令,用于控制声卡进行音乐播放。"AC97.EXE"可能是这个驱动程序的可执行文件,用户可以在DOS环境下运行来启用...

    C#程序开发范例宝典(第2版).part08

    实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统启动后经过的时间 351 实例257 系统已经安装的打印机信息 352 ...

    fengmingqi.rar_8051_8051 buzzer sound_buzzer_buzzer 8051_蜂鸣器单片机

    在这个“fengmingqi.rar”压缩包中,包含了一个名为“fengmingqi.c”的源代码文件,这个文件主要用于实现8051单片机控制蜂鸣器发声的功能。 蜂鸣器是一种小型电子元件,能够发出声音信号,通常分为无源和有源两种。...

    C#程序开发范例宝典(第2版).part12

    实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统启动后经过的时间 351 实例257 系统已经安装的打印机信息 352 ...

    C#程序开发范例宝典(第2版).part02

    实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统启动后经过的时间 351 实例257 系统已经安装的打印机信息 352 ...

    C#程序开发范例宝典(第2版).part13

    实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统启动后经过的时间 351 实例257 系统已经安装的打印机信息 352 ...

    单片机在智能电子设备中的应用 (2).pdf

    由于其高度集成的特性,单片机能够在一个很小的体积内实现计算机所具备的全部功能,包括数据处理和复杂的控制运算。 单片机技术自20世纪90年代发展起来,至今已趋于成熟,并广泛应用于人们的生产和生活各个领域中。...

    怎样判断声卡故障.docx

    板载声卡因其成本低廉而广泛应用于主流主板中,而独立声卡则以其卓越的音质和较低的CPU占用率受到音乐爱好者和专业人士的青睐。当声卡出现问题时,通常表现为无声音输出或噪音等问题。本文将详细介绍几种常见声卡...

    让单片机发出你自己的声音_单片机_PWM语音_蜂鸣器pwm_源码

    综上所述,通过学习和掌握这些知识点,开发者可以利用单片机和PWM技术,实现用自己录制的声音驱动蜂鸣器发声,从而打开一个有趣且实用的电子制作领域。在实践中,不断探索和优化,可以创建出更多有趣的音频应用。

    51单片机实现蜂鸣器的简易歌曲播放器

    本文将深入探讨如何使用51单片机实现一个简单的蜂鸣器歌曲播放器,播放曲目为“千年之恋”。该播放器能够识别并播放不同音符的长短,使得音乐表达更加丰富。 首先,我们需要了解51单片机的基本结构和工作原理。51...

    《手机检测与维修》试题库和参考题答案.docx

    - **核心知识点**: 对于双频网络,每个频段无需单独分配网络号码,它们共享同一个号码。 - **解释**: 这种设置简化了网络管理和用户的使用体验。 **20. 偏置电流与偏置电压** - **核心知识点**: 偏置电流是通过...

Global site tag (gtag.js) - Google Analytics