用MATLAB制作音乐-小星星
文章目录
- 前言
- 摸索
- 小星星
- 整合
前言
总觉得音乐很神奇,喜欢音乐,所以看到matlab可以制作音乐顿时精神了,也算是学习的乐趣了。
matlab播放音乐是由sound(Y,fs,bits)函数完成的,该函数的3个参数代表输入信号、采样率、比特率。先说采样率fs的设置,人耳能够听到的声音范围是20~20000Hz。根据采样定理fs只需要大于40000即可。此处采样率的设置采用了MP3的标准,即fs=44.1k.再说输入信号Y,Y一般是一个正弦波,如Asin(2piwt)。其中A控制着声音的大小,w控制着声音的高低,t的范围控制着声音的长短,所以理论上利用这个公式可以发出任何声音,只是不能控制音色和音质。比特率采用默认值即可,该参数省略。
摸索
Fs=8192;
x=linspace(0,2*pi,Fs);%播放声音默认采样率8192 1000-38400
y=sin(x);
plot(x,y);
%sound(y,Fs);%识别不了 想办法增加周期
% y=sin(2*x);%1s内两次震动 音乐中标准A 440
y=sin(440*x);
plot(x,y);
sound(y,Fs);
%%
Fs1=8192;
Fs2=20000;
x1=linspace(0,2*pi,Fs1);
x2=linspace(0,2*pi,Fs2);
y1=sin(440*x1);
y2=sin(440*x2);sound(y1,Fs);%采样率影响
sound(y2,Fs);%%
Fs=8192;
x=linspace(0,2*pi,Fs);
y1=sin(440*x);
y2=sin(500*x);
y3=sin(650*x);
sound(y3,Fs);
sound(y3,Fs);%频率影响%%
%十二平均率表 主音 全音 半音 跨度8阶
%十二平均律,亦称“十二等程律”,世界上通用的一组音(八度)分成十二个半音音程的律制,各相邻两律之间的振动数之比完全相等。十二平均律在交响乐队和键盘乐器中得到广泛使用,钢琴即是根据十二平均律来定音的。-——来源百度百科
%A-F 523,587,659,698,783,880,988
freqs=[523,587,659,698,783,880,988];
y1=sin(freqs(1)*x);
y2=sin(freqs(2)*x);
y3=sin(freqs(3)*x);
y4=sin(freqs(4)*x);
y5=sin(freqs(5)*x);
y=[y1,y2,y3,y4,y5];
sound(y,Fs);
小星星
Fs=8192;
x=linspace(0,2*pi,Fs); %音与音的分隔 (声音大小一样只是频率不一样)
x2=linspace(0,2*pi*2,Fs*2);
freqs=[523,587,659,698,783,880,988];
y1=sin(freqs(1)*x).*(1-x/(2*pi));
y2=sin(freqs(1)*x).*(1-x/(2*pi));
y3=sin(freqs(5)*x).*(1-x/(2*pi));
y4=sin(freqs(5)*x).*(1-x/(2*pi));
y5=sin(freqs(6)*x).*(1-x/(2*pi));
y6=sin(freqs(6)*x).*(1-x/(2*pi));
y7=sin(freqs(5)*x2).*(1-x2/(2*pi));y=[y1,y2,y3,y4,y5,y6,y7];
plot(y);
sound(y,Fs);
整合
function y=gen_wave(tone,rythm)Fs=8192;freqs=[523,587,659,698,783,880,988];x=linspace(0,2*pi*rythm,floor(Fs*rythm));y=sin(freqs(tone)*x).*(1-x/(rythm*2*pi));
end
Fs=8192;y1=gen_wave(1,0.5);%半拍
y2=gen_wave(1,0.5);
y3=gen_wave(5,0.5);
y4=gen_wave(5,0.5);
y5=gen_wave(6,0.5);
y6=gen_wave(6,0.5);
y7=gen_wave(5,1);
y8=gen_wave(4,0.5);%半拍
y9=gen_wave(4,0.5);
y10=gen_wave(3,0.5);
y11=gen_wave(3,0.5);
y12=gen_wave(2,0.5);
y13=gen_wave(2,0.5);
y14=gen_wave(1,1);x1=gen_wave(5,0.5);%半拍
x2=gen_wave(5,0.5);
x3=gen_wave(4,0.5);
x4=gen_wave(4,0.5);
x5=gen_wave(3,0.5);
x6=gen_wave(3,0.5);
x7=gen_wave(2,1);
%
x8=gen_wave(5,0.5);%半拍
x9=gen_wave(5,0.5);
x10=gen_wave(4,0.5);
x11=gen_wave(4,0.5);
x12=gen_wave(3,0.5);
x13=gen_wave(3,0.5);
x14=gen_wave(2,1);
%
f1=gen_wave(1,0.5);%半拍
f2=gen_wave(1,0.5);
f3=gen_wave(5,0.5);
f4=gen_wave(5,0.5);
f5=gen_wave(6,0.5);
f6=gen_wave(6,0.5);
f7=gen_wave(5,1);
f8=gen_wave(4,0.5);%半拍
f9=gen_wave(4,0.5);
f10=gen_wave(3,0.5);
f11=gen_wave(3,0.5);
f12=gen_wave(2,0.5);
f13=gen_wave(2,0.5);
f14=gen_wave(1,1);y=[y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13,y14,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14];sound(y,Fs);
十二平均率表
用MATLAB制作音乐-小星星相关推荐
- 使用matlab制作音乐
一.一些音乐基础 1.认识简谱 简谱中最重要的信息就是曲调.节拍,位于简谱左上角, 如图中的1=G,是以G调为基准频率,即1对应G调,其他常见的还有1=C等, 4/4为一节4个1/4拍,一节则为一个短 ...
- 基于matlab的音乐合成论文,基于matlab软件的音乐合成毕业论文.doc
基于matlab软件的音乐合成毕业论文.doc 河北经贸大学毕业论文基于MATLAB软件的音乐合成专业名称电子信息工程班级201102学生姓名王雪指导老师章瑞平完成时间2015年5月河北经贸大学毕业论 ...
- 接着奏乐接着舞 Matlab制作圣诞树和圣诞快乐歌
0.前言 时隔一年,又是一年圣诞时.仔细想想,距离上次更新已经过去了很久很久,打工人实在时间精力有限,疏于更新了,感谢还没取关的朋友们- 去年差不多这个时候的一篇关于Matlab画圣诞树的推送最近受到 ...
- matlab自带的音乐,MATLAB乐器(如何用matlab演奏音乐)
近期在家无聊,刷B站视频的时候发现有up上传了matlab制作的音乐,效果很是有趣.顺带吐槽一下,手机端的B站总是推荐莫名其妙的内容,但是通过搜索关键词,你又总能搜到不错的视频,我试了几个教学课程,视 ...
- matlab合成和弦,基于Matlab实现音乐识别与自动配置和声的功能.pdf
基于Matlab实现音乐识别与自动配置和声的功能 杨若芳,等 基于Matlab实现音乐识别与自动配置和声的功能 1 2 杨若芳 ,项 顶 1 (甘肃兰州城市学院教育学院 甘肃兰州,730070) 2 ...
- Matlab 制作《最炫民族风》弱爆了,附代码
Matlab 制作<最炫民族风>弱爆了,附代码 分类: matlab2012-05-22 22:12 1212人阅读 评论(0) 收藏 举报 matlabreference [plain] ...
- 华为怎么删除自带的音乐_原来华为手机相册隐藏剪辑功能!按下这个开关,还能制作音乐相册...
华为手机相册你肯定在用,但除了最近删除.智能搜索之外,你还知道手机相册的其他功能吗?这里就分享一个,相册中隐藏的实用剪辑功能,按下这个开关,还能把照片制作成音乐相册. 创作开关 首先将华为手机上的相册 ...
- matlab bad apple,【bad apple】matlab制作矩阵苹果~
有屏幕的地方就有bad apple 那么作为一名工科生,熟练的操♂作马桶萝卜(matlab)是一项基本技能 下面开始讲解如何用matlab制作别具一格的"矩阵苹果"~ 实验环境 m ...
- windowbuilder怎么加图片_一键制作音乐图片,这效果太惊艳了!微信这个功能简直是“宝藏”...
试过给视频添加音乐,那你有没有试过给图片添加音乐呢?如果没有试过的话,建议你可以试试,效果绝对让你惊艳.没有加音乐的图片就只是张图片,加了音乐之后,它就有了属于自己的故事~ 一.微信自带功能 不知道大 ...
- 大白小课程-跟着官方教程学习Scratch3.0-P04制作音乐
本文是视频教程:大白小课堂:跟着官方教程学习Scratch3.0系列的讲义版本,方便大家查阅 视频地址:https://www.bilibili.com/video/av54055338/ 我们今天一 ...
最新文章
- server2012 r2搭建双DNS
- sdut 1028 Catch That Cow( BFS)
- 这几种程序员前途无量!你在其中吗?
- 【Flink】flink ClickHouseSink--数据写入ClickHouse
- (四)在MLOps管道中进行持续训练
- 吴恩达|机器学习作业7.1.主成分分析(PCA)
- 免费的中文OCR软件
- 1188 最大公约数之和 V2
- jdk Double类具体实现
- div+css中的为什么要设置浮动属性,浮动完了为什么又要清除浮动
- js读取服务器上的文件,js读取远程文件服务器
- Java Restful风格-Jersey RESTful 框架入门
- 神经网络学习小记录53——TF2搭建孪生神经网络(Siamese network)比较图片相似性
- python语言编程中的感叹号_python 感叹号
- 深入理解安卓Activity
- CCS3.3相关驱动插件安装
- Usage of Pseudocode
- 用gulp实现代码压缩、图片压缩和项目打包
- WinPcap编程常用函数和数据结构
- vue组件通讯六种方法。