C++播放蜂鸣(二)

上一篇简单实现了自动生成声音,但是发出的声音和音乐完全不能相提并论,简直是惨不忍睹。虽然只要知道音乐的五线谱就可以实现简单音乐的制作。但是和我想要的音乐自动生成还是有很大区别的。

那么音乐和普通声音有什么区别?

我虽然是音乐盲,但是简单想想节奏和规律肯定是要有的。

那么就整个节奏吧,最简单节奏就是123123123.也就是123的循环喽,这个简单。

#include <windows.h>
#include<iostream>
#include <cstdlib>

using namespace std;


int main() {
    double start=GetTickCount();
    int i;
    int i2;
    for(i2=0;i2<5;i2++){//循环5次楼
        srand(3);        //循环数 的种子是在每次循环都是相同,也就是节奏相同

        for(i=0;i<3;i++){ //3个音符

            int a1=rand()%12+2;
            int a2=rand()%12+2;
            int a3=rand()%12+2;
            int b1=rand()%10+15;
            int b2=rand()%10+15;


            int a=a1*a2*a3;
            int b=b1*b2;
            Beep( a, b);
            cout<<a<<" "<<b<<endl;
        }
        double end=GetTickCount();
        cout<<"时间差为"<<end-start<<endl;
    }
    return 0;
}

初听了以后已经有种警报声音的感觉,挺好玩的哈。但是由于BEEP的能力所限,无法完成声音大小调节,那么简单的就这样吧。

 

 

 

posted @ 2014-06-26 08:50  史布辽  阅读(821)  评论(0编辑  收藏  举报