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的能力所限,无法完成声音大小调节,那么简单的就这样吧。