我的黑客生活
我的黑客生活
我是黑客吗?没有人给我回答 我还是学生.还要完成我的学业 注意: 本人可以回答问题 第一个免费,第二个免费,第三个收费,以后可以考虑打折!
临川一中不是人待的地方!!
博客信息
博主:DataBaseOwner 
栏目分类
最新文章
最新评论
标签列表
博客搜索
日志存档
·2009-1 ( 1 )
·2008-10 ( 4 )
·2008-7 ( 4 )
·2008-6 ( 5 )
·2008-5 ( 1 )
·2008-4 ( 3 )
·2008-2 ( 10 )
·2008-1 ( 53 )
友情链接
统计信息
访问:85084 次
今日访问:3次
日志: 4篇
评论: 29 个
留言: 9 个
建站时间: 2008-1-12
博客成员
DataBaseOwner 管 理 员
数字狼 管 理 员
最近访客



从主板唱歌到新概念病毒的开发
作者:DataBaseOwner 提交日期:2008-10-11 20:22:00 正常| 访问量:692

上次 peter08发了个主板唱歌的帖子。
在网上查了下原来是个很古老的小玩意儿了.原帖是

复制内容到剪贴板 代码:Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long



Function playsnd(ByVal x As Long, y As Long)
Beep x, y * 3
DoEvents
End Function

Private Sub Command1_Click()
playsnd 587, 100: playsnd 784, 100: playsnd 880, 100: playsnd 988, 100:: playsnd 988, 200: playsnd 0, 100
playsnd 988, 100: playsnd 880, 100: playsnd 988, 100: playsnd 1047, 200: playsnd 988, 100: playsnd 988, 100
playsnd 880, 100: playsnd 100, 150: playsnd 880, 100: playsnd 784, 100:: playsnd 988, 100: playsnd 0, (5)
playsnd 988, 100: playsnd 0, (5)::: playsnd 988, 100: playsnd 0, (5):::: playsnd 988, 100: playsnd 880, 100
playsnd 784, 100: playsnd 740, 100: playsnd 784, 200: playsnd 100, 200:: playsnd 784, 100: playsnd 880, 100
playsnd 784, 100: playsnd 988, 100: playsnd 0, (5)::: playsnd 988, 100:: playsnd 0, (5)::: playsnd 988, 100
playsnd 0, (5)::: playsnd 988, 100: playsnd 100, 100: playsnd 587, 100:: playsnd 784, 100: playsnd 1175, 100
playsnd 0, (5)::: playsnd 1175, 99: playsnd 988, 100: playsnd 0, (5):::: playsnd 988, 100: playsnd 0, (5)
playsnd 987, 100: playsnd 100, 100: playsnd 784, 100: playsnd 0, (5):::: playsnd 784, 100: playsnd 880, 200
playsnd 784, 100: playsnd 0, (5)::: playsnd 784, 100: playsnd 0, (5):::: playsnd 784, 50:: playsnd 659, (50)
playsnd 784, 100: playsnd 659, 100: playsnd 784, 100: playsnd 880, 100:: playsnd 100, 100: playsnd 587, 110
playsnd 784, 120: playsnd 880, 130: playsnd 740, 140: playsnd 784, 200:: playsnd 1, 1::::: playsnd 1, 1
End Sub
有一定物理常识的人都知道,音调的高低与震动频率成正比,也就是说物体震动速度越快则音调越高
do re mi fa sol la si do 频率跟do的频率比 1:1 9:8 5:4 4:3 3:2 5:3 15:8 2:1
(以下单位均为Hz)
我们设do的频率为440(标准频率)
1 do 440
2 re 495
3 mi 550
4 fa 587
5 sol 660
6 la 733
7 si 825
提一个八度
1` 880
2` 990
3` 1100
4` 1174
5` 1320
6` 1466
7` 1650

我在编歌的时候发现VB不能写出空拍,但是发现VB的允许频率是37Hz到35000Hz左右.人耳的听力范围是20Hz到20000Hz,所以37Hz的频率空拍是不可取的.那么我们可以选择高频率来空拍,只要把频率定为20000Hz就听不到了(18000Hz的频率我就听不到了).
这样一来只要有谱而且看的懂,大多数歌都可以准确的编出其音调和速度了

送上一首歌曲,希望大家喜欢。



--------------------------------------------------------------

他给的那首歌曲是 回到过去.(附件有)

----------------------------------------------------------

于是我在想如果要做其他的歌曲 难道还要一个个音符去自己转?太累了体力活就交给电脑吧
我就用c写了个把音调自动转换成主板频率的工具

源码如下:

#include
void main()
{
char a;
while(scanf("%s",&a) && a!='0')
 switch(a)
 {
 case '1': printf("playsnd 440,100:\n"); break;
 case '2': printf("playsnd 495,100:\n"); break;
 case '3': printf("playsnd 550,100:\n"); break;
 case '4': printf("playsnd 587,100:\n"); break;
 case '5': printf("playsnd 660,100:\n"); break;
 case '6': printf("playsnd 733,100:\n"); break;
 case '7': printf("playsnd 825,100:\n"); break;
 case 'a': printf("playsnd 880,100:\n"); break;
 case 'b': printf("playsnd 990,100:\n"); break;
 case 'c': printf("p 1100,100:\n"); break;
 case 'd': printf("p 1174,100:\n"); break;
 case 'e': printf("p 1320,100:\n"); break;
 case 'f': printf("p 1466,100:\n"); break;
 case 'g': printf("p 1650,100:\n"); break;
 default : printf("error\n");
 }
}

编译后的软件在附件



写完后在网上随便找了个简单的谱子自己转换了一通,然后编译出另一个主板唱歌的。
结果乐音就没有那个回到过去的完美了。

回头看 回到过去 的源码。 原来频率数都不是整数。 所以用转换软件转换的频率发音出来后就显得比较干涩。


怎么解决这个问题呢?

1、难道还要把音符划分的更细?代码量就可想而知的大啊..


下面是重点.


2、主板的能发出的最高频率是多少?最低频率是多少?


众人皆知,高频声音和低频声音都会对人体造成负面影响。有的甚至会让人呕吐头晕。

于是我又有了新的想法.



我们在编写病毒的时候,是否可以加入以上主板发声的代码.
把频率设置特高.主板发音很高,如果长时间发音的话是否会造成主板的硬件损伤?烧坏?同时对人体造成伤害?


这样是否就算是一种新型的病毒?


-----对软件系统以外的东西造成伤害的病毒?

破坏硬件和人体的病毒?

附件地址:http://bbs.hackerxfiles.net/attachment.php?aid=23009
 http://bbs.hackerxfiles.net/attachment.php?aid=23010


#日志日期:2008-10-11 星期六(Saturday) 晴 送小红花 推荐指数:复制链接 举报


登录 | 新人注册>>
输入您的评论:(不支持HTML标签)


验证码
本文所属博客:我的黑客生活
引用地址:


copyright blog.tianya.cn

© 天涯社区