用Beep()函数来实现c语言编写歌曲Beep()函数是一个可以控制扬声器发出提示音的函数,包含在windows.h内.实际上,所有用到Sleep()函数的地方,都可以用这个,待后面细细说来。
要准备什么?一首歌的所有音符所对应的音高,音值。
将这些信息转换为音符频率,持续时间
怎样做?首先,让我们知道,什么是音音是由于物体的震动而产生的.在自然界中能为我们人的听觉所感受的音是非常多的,但并不是所有的音都可以作为音乐的材料.在音乐中所使用的音,是人们在长期的生产斗争和阶级斗争中为了表现自己的生活和思想感情而特意挑选出来的.这些音被组成为一个固定的体系,用来表现音乐思想和塑造音乐形象.
音有高低,强弱,长短,音色等四种性质.
音的高低是由于物体在一定时间内振动次数(频率)而决定的.振动的次数多,音则高;振动次数少,音则低.
音的长短是由于音的延续时间的不同而决定的.音的延续时间长,音则长;音的延续时间短,音则短.
音的强弱是由于振幅(音的振动范围的幅度)的大小而决定的.振幅大,音则强;振幅小,音则弱.
音色则由于发音体的性质,形状及其泛音的多少等而不同.
音的以上四种性质,在音乐表现中都是非常重要的,但音的高低和长短则具有更为重大的意义.试以《社会主义好》这首歌为例,不管你用人声来演唱或用乐器来演奏,用小声唱或是大声唱,虽然音的强弱以音色都有了变化,仍然很容易辨认出这支旋律.但是,假如将这首歌的音高或音值加以改变的话,则音乐形象就会立即受到严重的破坏.因此,不管创作也好,演奏演唱也好,对音高和音值应加以特别的注意.
-->>引用自《音乐理论基础》李重光编,第1页在上面提到的四种性质中,无可置疑,最重要的是音高和音值,这正是Beep函数的两个参数.
准备曲谱,这里我不会做赘述,这个是与编程本身相差甚远的知识面,需要扒谱的基础.扒谱可以获取音高,bpm,演奏节拍的学习的信息,学起来也不难,这里推荐,b站善哉君的金坷垃制作技术的P2,P3的一些内容.转为机器可以看懂的程序.#include#incl