基于C++实现一个简单的音乐系统

目录
  • 一、前言
  • 二、实现步骤
  • 三、代码实现
  • 四、讲解程序

一、前言

2022临近尾声,2023即将来临。

过去的一年,我们同努力,我们共欢笑.。

每一次成功都蕴藏着我们辛勤的劳动。

新的一年即将来到,我们不能停滞不前。

与时俱进

拼搏不懈

共创新的辉煌!

二、实现步骤

第一:你需要了解 Beep 函数,不了解没关系,它就是一个发出嗡鸣声的函数,参数如下:

Beep(int a,int b)表示发出a赫兹的声音b毫秒。

好了,那么我们就可以用这个东西做一个声音系统

三、代码实现

#include <bits/stdc++.h>
#include <windows.h>
using namespace std;
int s1[2][10]={{0,262,294,330,349,392,440,494},
			   {0,277,311,-99,370,415,466,-99}};

int s2[2][10]={{0,523,587,659,698,784,880,988},
			   {0,554,622,-99,740,831,932,-99}};

int s3[2][10]={{0,1046,1175,1318,1397,1568,1760,1976},
			   {0,1109,1245,-999,1480,1661,1865,-999}};

void k(int a,int b,int c,int d)
{
	if (a==1)
		Beep(s1[b][c],d);
	if (a==2)
		Beep(s2[b][c],d);
	if (a==3)
		Beep(s3[b][c],d);
}

void jingdian()
{
	Beep(s2[0][3],400);
	Beep(s2[0][3],400);
	Beep(s2[0][3],800);

	Beep(s2[0][3],400);
	Beep(s2[0][3],400);
	Beep(s2[0][3],800);

	Beep(s2[0][3],400);
	Beep(s2[0][5],400);
	Beep(s2[0][1],600);
	Beep(s2[0][2],200);
	Beep(s2[0][3],1600);

	Beep(s2[0][4],400);
	Beep(s2[0][4],400);
	Beep(s2[0][4],600);
	Beep(s2[0][4],200);
	Beep(s2[0][4],400);
	Beep(s2[0][3],400);
	Beep(s2[0][3],400);
	Beep(s2[0][3],200);
	Beep(s2[0][3],200);

	Beep(s2[0][3],400);
	Beep(s2[0][2],400);
	Beep(s2[0][2],400);
	Beep(s2[0][1],400);
	Beep(s2[0][2],800);
	Beep(s2[0][5],800);

	Beep(s2[0][3],400);
	Beep(s2[0][3],400);
	Beep(s2[0][3],800);

	Beep(s2[0][3],400);
	Beep(s2[0][3],400);
	Beep(s2[0][3],800);

	Beep(s2[0][3],400);
	Beep(s2[0][5],400);
	Beep(s2[0][1],600);
	Beep(s2[0][2],200);
	Beep(s2[0][3],1600);

	Beep(s2[0][4],400);
	Beep(s2[0][4],400);
	Beep(s2[0][4],600);
	Beep(s2[0][4],200);
	Beep(s2[0][4],400);
	Beep(s2[0][3],400);
	Beep(s2[0][3],400);
	Beep(s2[0][3],200);
	Beep(s2[0][3],200);

	Beep(s2[0][5],400);
	Beep(s2[0][5],400);
	Beep(s2[0][4],400);
	Beep(s2[0][2],400);
	Beep(s2[0][1],1200);
}

int main()
{
	jingdian();
	return 0;
}

运行程序,会发出铃儿响叮当的音乐哦

四、讲解程序

程序中

  • s1数组表示低音的音阶
  • s2数组表示中音的音阶
  • s3数组表示高音的音阶

每个数组的第二行表示升高半音

这样可以演奏出更多乐曲

到此这篇关于基于C++实现一个简单的音乐系统的文章就介绍到这了,更多相关C++音乐系统内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C++中发声函数Beep用法

    •以前,我听过一个神犇用C++函数做的音乐,当时的心里就十分激动:哇,好厉害啊,好神啊. •这次,我终于通过自己无助的盲目的摸索.研究,写出了这篇文章(此时我的内心是鸡冻的233) 下面是正文: •其实啊,Windows API 就提供了一个这样奇妙的发音函数,它就是Beep函数.Beep可以通过控制主板扬声器的发声频率和节拍来演奏美妙的旋律,本文根据音乐简谱来演奏几首优美的歌曲,用以展现Beep的疯狂魅力. 首先我们来Beep的函数原型: BOOL Beep( DWORD dwFreq; DW

  • 基于C++实现一个简单的音乐系统

    目录 一.前言 二.实现步骤 三.代码实现 四.讲解程序 一.前言 2022临近尾声,2023即将来临. 过去的一年,我们同努力,我们共欢笑.. 每一次成功都蕴藏着我们辛勤的劳动. 新的一年即将来到,我们不能停滞不前. 与时俱进 拼搏不懈 共创新的辉煌! 二.实现步骤 第一:你需要了解 Beep 函数,不了解没关系,它就是一个发出嗡鸣声的函数,参数如下: Beep(int a,int b)表示发出a赫兹的声音b毫秒. 好了,那么我们就可以用这个东西做一个声音系统 三.代码实现 #include

  • 构建一个简单的CaaS系统

    在CaaS系统出现前企业应用架构基本被IaaS/SaaS/PaaS等模式垄断,直到Docker的出现为我们打开了另一个扇大门,废话不说了,我们直奔主题. 我们先了解下一个简单的CaaS系统是如何为用户提供服务的: 企业用户上传它的应用代码或其他代码托管方式,我们生成用户应用的镜像,或者用户直接上传镜像,或者用户直接使用我们提供的基础服务镜像 用户部署他的镜像应用,启动它的镜像容器 用户访问他的应用服务 OK,需求确定了,该搬砖了. 用户镜像制作 既然是一个简单的CaaS系统,我们就不让用户上传代

  • 基于Python编写一个简单的端口扫描器

    目录 1.需要的库 2.获取一个 host 地址 3.循环所有的端口 4.完整脚本 端口扫描是非常实用的,不止用在信息安全方面,日常的运维也用得到.这方面的工具也不要太多,搞过 CTF 的朋友会告诉你有多少端口扫描工具,那为什么还要用 Python 再自己实现一遍?这个问题就像饭店里的菜已经很好吃了,为什么还要自己烧菜一样,主要还是为了适合自己的口味,添加自己需要的个性功能. 今天我们将用 20 行代码编写一个简单的端口扫描器.让我们开始吧! 1.需要的库 都是标准库,因此内网环境也不影响: i

  • 基于Matlab制作一个不良图片检测系统

    目录 不良图片检测部分 part.0 图片导入 part.1 检查是否为肤色 part.2 皮肤区域标记 part.3 通过皮肤区域特点判定是否为不良图片 完整代码 批量处理部分 不良图片检测部分 看到博主码猴小明用python PIL库制作了一个不良图片识别系统,手痒,想用MATLAB也试试,毕竟矩阵运算也算是MATLAB的强项了,使用MATLAB写可比用python写简洁太多了,总体流程如下: 检查各个像素是否为肤色 将相邻的肤色像素归为一个皮肤区域,得到若干个皮肤区域,并剔除像素数量极少的

  • 基于CakePHP实现的简单博客系统实例

    本文实例讲述了基于CakePHP实现的简单博客系统.分享给大家供大家参考.具体实现方法如下: PostsController.php文件: <?php class PostsController extends AppController { public $helpers = array('Html', 'Form', 'Session'); public $components = array('Session'); public function index() { $this->set

  • 基于Python实现一个简单的银行转账操作

    前言 在进行一个应用系统的开发过程中,从上到下一般需要四个构件:客户端-业务逻辑层-数据访问层-数据库,其中数据访问层是一个底层.核心的技术.而且在实际开发中,数据库的操作也就是说数据访问层都是嵌套在其他语言中的,其是编程的核心.本文面向的是python语言,即通过python操作数据库来实现简单的银行转账操作. 工具 python提供了python DB API用来统一操作数据库,使访问数据库的接口规范化,在没有python DB API之前,接口程序十分混乱,不同的数据库需要不同的操作接口,

  • 基于JSP实现一个简单计算器的方法

    本文实例讲述了基于JSP实现一个简单计算器的方法.分享给大家供大家参考.具体实现方法如下: index.jsp 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>  <%  String path = request.getContextPath();  String basePath = request.getSch

  • 原生js基于canvas实现一个简单的前端截图工具代码实例

    这篇文章主要介绍了原生js基于canvas实现一个简单的前端截图工具代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 先看效果 代码如下 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> *{

  • 基于JavaScript实现一个简单的Vue

    Object.defineProperty() 实现之前我们得先看一下Object.defineProperty的实现,因为vue主要是通过数据劫持来实现的,通过get.set来完成数据的读取和更新. var obj = {name:'wclimb'} var age = 24 Object.defineProperty(obj,'age',{ enumerable: true, // 可枚举 configurable: false, // 不能再define get () { return a

  • 使用JSP技术实现一个简单的在线测试系统的实例详解

    1.登陆界面 实现: 本界面由三部分构成,Footer.jsp,Index.jsp,Header.jsp Header.jsp <center> <h2>在线测试系统</h2> <p> <a href="Index.jsp" rel="external nofollow" >登录</a> | <a href="test.jsp" rel="external n

随机推荐