c语言程序歌曲,c语言演奏音乐

本文目录一览:

如何用c语言编写歌曲

我们知道,音乐是音高和音长的有序组合,设计微机音乐最重要的就是如何定义音高和音长,以及如何让扬声器发出指定的音符。下面给出音符与频率的关系表。C语言提供的三个函数sound( )、nosound( )和clock( )可以很方便地解决上述的问题。sound( )函数可以用指定频率打开PC机扬声器直到用nosound( )函数来关闭它; clock( )函数正好用来控制发声时间,而且它不受PC机主频高低的影响。下面这段程序可使微机发出c调1的声音。

音符与频率关系表

音符 c d e f g a b

1 2 3 4 5 6 7

频率 262 294 330 349 392 440 494

音符 c d e f g a b

1 2 3 4 5 6 7

频率 523 587 659 698 784 880 988

音符 c d e f g a b

1 2 3 4 5 6 7

频率 1047 1175 1319 1397 2568 1760 1976

#includestdio.h

#includedos.h

void pause(int);

void sound1(int,int);

void main(void)

{

int i,freq,speed=5;

int time=4*speed;

char *qm=”iddgwwwQQgfff dddfghhhggg ddgwwwqqgfff\

ddffhjqqqqq wpggjhgddgqq hhqwwqjjjggg\

ddgwwwqqqgfff ddffhjqqqqqq”;/*定义歌曲*/

while (*qm++ !=’\0′){

i=1;

switch(*qm){

case ‘k’:

time=1*speed; i=0;

break;

case ‘i’:

time=6*speed; i=0;

break;

case ‘o’:

time=10*speed; i=0;

break;

case ‘p’:

pause(time); i=0;

break;

case ‘a’:

freq=523;

break;

case ‘s’:

freq=587;

break;

case ‘d’:

freq=659;

break;

case ‘f’:

freq=698;

break;

case ‘g’:

freq=784;

break;

case ‘h’:

freq=880;

break;

case ‘j’:

freq=988;

break;

case ‘z’:

freq=262;

break;

case ‘X’:

freq=294;

break;

case ‘c’:

freq=330;

break;

case ‘v’:

freq=349;

break;

case ‘b’:

freq=392;

break;

case ‘n’:

freq=440;

break;

case ‘m’:

freq=494;

break;

case ‘q’:

freq=1047;

break;

case ‘w’:

freq=1175;

break;

case ‘e’:

freq=1319;

break;

case ‘r’:

freq=1397;

break;

case ‘t’:

freq=2568;

break;

case ‘y’:

freq=1760;

break;

case ‘u’:

freq=1976;

break;

default:

i=0;

break;

}

if(i)

sound1(freq,time);

}

}

void sound1(int freq,int time) /*freq为频率,time为持续时间*/

{

union{

long divisor;

unsigned char c[2];

}count;

unsigned char ch;

count.divisor=1193280/freq; /* 1193280 是系统时钟速率*/

outp(67,182);

outp(66,count.c[0]);

outp(66,count.c[1]);

ch=inp(97);

outp(97,ch|3);

pause(time);

outp(97,ch);

}

void pause(int time)

{

int t1,t2;

union REGS in,out;

in.h.ah=0X2c;

int86(0X21,in,out); /* 取当前时间*/

t1=t2=100*out.h.dh+out.h.dl; /*out.h.dh 为秒值,out.h.dl 为1/100 秒值*/

while(t2-t1time)

{

int86(0X21,in,out);

t2=100*out.h.dh+out.h.dl;

if (t2t1)t2+=6000; /* 增加一分钟*/

}

}

有什么关于C语言的歌曲呢?

1、告诉你最快的方法就是百度下个单片机音乐代码生成器,然后按照《最近好吗》《不开心与没烦恼》《我们结婚吧》的乐谱将每一个音符输入一遍,自动生成代码,下载进去就可以了。

2、另外就是手动编写了,根据对应频率每个音符每个调对应的编码,编好的码放到一个数组,然后定时器产生不同的pwm驱动蜂鸣器发声。高中低音有不同的频率1-7个音节

如何在C语言的编程中插入音乐?

一.在程序中直接播放声音文件\x0d\x0a在VC++ 中的多媒体动态连接库中提供了一组与音频设备有关的函数。利用这些函数可以方便地播放声音。最简单的播放声音方法就是直接调用VC++中提供的声音播放函数BOOL sndPlaySound ( LPCSTR lpszSound,UINT fuSound ); 或BOOL PlaySound( LPCSTR lpszSound, HMODULE hmod, DWORD fuSound );其中参数lpszSound是需要播放声音的.W***文件的路径和文件名, hmod在这里为NULL,fuSound是播放声音的标志,详细说明请参考VC++中的帮助。 例如播放C:soundmusic.wav可以用sndPlaySound (“c:\sound\music.wav”,SND_ASYNC);或PlaySound(“c:\sound\music.wav”,NULL, SND_ASYNC|SND_NODEFAULT );如果没有找到music.wav文件,第一种格式将播放系统默认的声音,第二种格式不会播放系统默认的声音。\x0d\x0a\x0d\x0a二.将声音文件加入到程序中\x0d\x0a在VC++的程序设计中,可以利用各种标准的资源,如位图,菜单,对话框等。同时VC++也允许用户自定义资源,因此我们可以将声音文件作为用户自定义资源加入程序资源文件中,经过编译连接生成EXE文件,实现无.W***文件的声音播放。要实现作为资源的声音文件的播放,首先要在资源管理器中加入待播放的声音文件。\x0d\x0a具体步骤入下:\x0d\x0a1.获得包含资源的模块句柄:\x0d\x0aHMODULE hmod=AfxGetResourceHandle();\x0d\x0a2.检索资源块信息:\x0d\x0aHRSRC hSndResource=FindResource(hmod,MAKEINTRESOURCE(IDR_W***E1),_T(“W***E”));\x0d\x0a3. 装载资源数据并加锁:\x0d\x0aHGLOBAL hGlobalMem=LoadResource(hmod,hSndResource);\x0d\x0aLPCTSTR lpMemSound=(LPCSTR)LockResource(hGlobalMem);\x0d\x0a4.播放声音文件:\x0d\x0asndPlaySound(lpMemSound,SND_MEMORY));\x0d\x0a5.释放资源句柄:\x0d\x0aFreeResource(hGlobalMem);

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/253159.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-14 02:15
下一篇 2024-12-14 02:15

相关推荐

  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • Python程序文件的拓展

    Python是一门功能丰富、易于学习、可读性高的编程语言。Python程序文件通常以.py为文件拓展名,被广泛应用于各种领域,包括Web开发、机器学习、科学计算等。为了更好地发挥P…

    编程 2025-04-29
  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python购物车程序

    Python购物车程序是一款基于Python编程语言开发的程序,可以实现购物车的相关功能,包括商品的添加、购买、删除、统计等。 一、添加商品 添加商品是购物车程序的基础功能之一,用…

    编程 2025-04-29
  • 爬虫是一种程序

    爬虫是一种程序,用于自动获取互联网上的信息。本文将从如下多个方面对爬虫的意义、运行方式、应用场景和技术要点等进行详细的阐述。 一、爬虫的意义 1、获取信息:爬虫可以自动获取互联网上…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • Vb运行程序的三种方法

    VB是一种非常实用的编程工具,它可以被用于开发各种不同的应用程序,从简单的计算器到更复杂的商业软件。在VB中,有许多不同的方法可以运行程序,包括编译器、发布程序以及命令行。在本文中…

    编程 2025-04-29
  • Python一元二次方程求解程序

    本文将详细阐述Python一元二次方程求解程序的相关知识,为读者提供全面的程序设计思路和操作方法。 一、方程求解 首先,我们需要了解一元二次方程的求解方法。一元二次方程可以写作: …

    编程 2025-04-29

发表回复

登录后才能评论