sound函数

上课老师提到了sound函数,一个非常简单的函数,sound - 将信号数据矩阵转换为声音。以下为其用法:

sound(y) //以默认采样率 8192 赫兹向扬声器发送音频信号 y。
sound(y,Fs) //以采样率 Fs 向扬声器发送音频信号 y。
sound(y,Fs,nBits) //对音频信号 y 使用 nBits 的采样位数。

生成波形的函数

在这里用第一种用法即可。
首先编写一个生成波形的函数gen_wave。

// An highlighted block
function y=gen_wave(tone,rythm)
Fs=8192;
%freqs=[523,578,659,698,783,880,988,1047,1174,1318,1397,1567,1760,1976,2094,2219,2350,1];%c
%freqs=[392,440,494,523,578,659,740,783,880,988,1046,1175,1318,1480,1568,1865,1976,1];%g
%freqs=[349,392,440,466,523,578,659,698,783,880,932,1047,1174,1318,1397,1567,1750,1];%f
freqs=[440,494,554,578,659,740,831,880,988,1109,1174,1318,1480,1661,1760,1976,2218,1];%a
x=linspace(0,2*pi*rythm,floor(Fs*rythm));if tone<=17y=exp(-x/rythm/2).*(sin(freqs(tone)*x)+0.25*sin(2*freqs(tone)*x)+0.0625*...sin(4*freqs(tone)*x)+0.015625*sin(8*freqs(tone)*x));%几个乱写的谐波,听起来好听一点
elsey=0*exp(-x/rythm).*sin(freqs(tone)*x);
end
//那几个数组分别是各个调对应的频率

喀秋莎

对照简谱编写脚本并且运行

y1=gen_wave(8,0.75);
y2=gen_wave(6,0.25);
y3=gen_wave(7,0.75);
y4=gen_wave(5,0.25);
y5=gen_wave(7,0.25);
y6=gen_wave(7,0.25);
y7=gen_wave(6,0.25);
y8=gen_wave(5,0.25);
y9=gen_wave(4,0.5);
y10=gen_wave(6,0.5);
y11=gen_wave(4,0.5);
y12=gen_wave(9,0.25);
y13=gen_wave(8,0.75);
y14=gen_wave(6,0.25);
y15=gen_wave(5,0.25);
y16=gen_wave(4,0.25);
y17=gen_wave(3,0.25);
y18=gen_wave(8,0.25);
y19=gen_wave(6,1);
part0=[y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13,y14,y15,y16,y17,y18,y19];y1=gen_wave(6,0.75);
y2=gen_wave(7,0.25);
y3=gen_wave(8,0.75);
y4=gen_wave(6,0.25);
y5=gen_wave(8,0.5);
y6=gen_wave(7,0.25);
y7=gen_wave(6,0.25);
y8=gen_wave(7,0.5);
y9=gen_wave(3,0.5);
y10=gen_wave(7,0.75);
y11=gen_wave(8,0.25);
y12=gen_wave(9,0.75);
y13=gen_wave(7,0.25);
y14=gen_wave(9,0.25);
y15=gen_wave(9,0.25);
y16=gen_wave(8,0.25);
y17=gen_wave(7,0.25);
y18=gen_wave(6,1);
part1=[y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13,y14,y15,y16,y17,y18];y1=gen_wave(10,0.5);
y2=gen_wave(13,0.5);
y3=gen_wave(12,0.5);
y4=gen_wave(13,0.25);
y5=gen_wave(12,0.25);
y6=gen_wave(11,0.5);
y7=gen_wave(10,0.25);
y8=gen_wave(9,0.25);
y9=gen_wave(10,0.5);
y10=gen_wave(6,0.75);
y11=gen_wave(11,0.5);
y12=gen_wave(9,0.25);
y13=gen_wave(10,0.75);
y14=gen_wave(8,0.25);
y15=gen_wave(7,0.25);
y16=gen_wave(3,0.25);
y17=gen_wave(8,0.25);
y18=gen_wave(7,0.25);
y19=gen_wave(6,1);
part2=[y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13,y14,y15,y16,y17,y18,y19];
KQS=[part0,part1,part2,part2];
sound(KQS)
audiowrite('Катюша.wav',KQS,8192)
clear KQS

点击运行就大功告成啦(不过听不出来像什么)。

歌唱动荡的青春

最后再把歌唱动荡的青春代码分享给大家,还是用同样的函数。

%歌唱动荡的青春
%作曲:阿·巴赫慕托娃
%MATLAB程序:祖国在我心中
%% part1
y1=gen_wave(3,0.5);y2=gen_wave(6,0.5);
y3=gen_wave(6,0.25);
y4=gen_wave(7,0.25);
y5=gen_wave(8,0.5);
y6=gen_wave(6,0.5);y7=gen_wave(11,0.5);
y8=gen_wave(10,1);
y9=gen_wave(8,0.5);y10=gen_wave(9,0.5);
y11=gen_wave(9,0.5);
y12=gen_wave(10,0.5);
y13=gen_wave(9,0.25);
y14=gen_wave(8,0.25);y15=gen_wave(7,0.5);
y16=gen_wave(6,1);
part1=[y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13,y14,y15,y16];
%% part2
y1=gen_wave(3,0.5);y2=gen_wave(6,0.5);
y3=gen_wave(6,0.25);
y4=gen_wave(7,0.25);
y5=gen_wave(8,0.5);
y6=gen_wave(6,0.5);y7=gen_wave(13,0.5);
y8=gen_wave(12,1);
y9=gen_wave(10,0.5);y10=gen_wave(11,0.5);
y11=gen_wave(11,0.25);
y12=gen_wave(10,0.25);
y13=gen_wave(11,0.5);
y14=gen_wave(12,0.5);y15=gen_wave(10,1.5);part2=[y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13,y14,y15];
%% part3
y16=gen_wave(10,0.5);y17=gen_wave(13,1);
y18=gen_wave(15,1);y19=gen_wave(14,0.5);
y20=gen_wave(13,1);
y21=gen_wave(12,0.25);
y22=gen_wave(13,0.25);y23=gen_wave(14,0.75);
y24=gen_wave(13,0.25);
y25=gen_wave(12,0.5);
y26=gen_wave(13,0.5);y27=gen_wave(10,1.5);
y28=gen_wave(8,0.5);y29=gen_wave(13,1);
y30=gen_wave(12,0.75);
y31=gen_wave(11,0.25);y32=gen_wave(10,0.5);
y33=gen_wave(9,1);
y34=gen_wave(11,0.5);y35=gen_wave(10,0.5);
y36=gen_wave(9,0.25);
y37=gen_wave(10,0.25);
y38=gen_wave(11,0.5);
y39=gen_wave(10,0.5);y40=gen_wave(13,2);part3=[y16,y17,y18,y19,y20,y21,y22,y23,y24,y25,y26,y27,y28,y29,y30,...y31,y32,y33,y34,y35,y36,y37,y38,y39,y40];
%% part4
SOTY=[part1,part2,part3];
sound(SOTY)
audiowrite('歌唱动荡的青春.wav',SOTY,8192)
clear SOTY

数字语音处理——用sound函数播放喀秋莎(附赠歌唱动荡的青春)相关推荐

  1. Matlab sound函数播放与停止播放音频

    sound函数用法 1.sound(y) 2.sound(y, Fs) 3.sound(y, Fs, nBits) y为音频信号矩阵, Fs为采样率,即单位时间的样本个数(Hz), nBits表示每个 ...

  2. lf模型下声门脉冲matlab程序,数字语音处理及MATLAB仿真.rar第二章

    <数字语音处理及MATLAB仿真.rar第二章>由会员分享,可在线阅读,更多相关<数字语音处理及MATLAB仿真.rar第二章(60页珍藏版)>请在人人文库网上搜索. 1.第二 ...

  3. ip地址转换数字函数 iton_数字转IP地址函数

    -- 数字转 IP 地址函数: IF OBJECT_ID ( 'dbo.fn_IP2Str' )> 0 DROP FUNCTION dbo . fn_IP2Str GO CREATE FUNCT ...

  4. c语言英文字符转数字,C语言常用数字和字符串转换函数(国外英文资料).doc

    C语言常用数字和字符串转换函数(国外英文资料) C语言常用数字和字符串转换函数(国外英文资料) C language commonly used Numbers and string conversi ...

  5. TF之LSTM:利用LSTM算法对mnist手写数字图片数据集(TF函数自带)训练、评估(偶尔100%准确度,交叉熵验证)

    TF之LSTM:利用LSTM算法对mnist手写数字图片数据集(TF函数自带)训练.评估(偶尔100%准确度,交叉熵验证) 目录 输出结果 设计思路 代码设计 输出结果 第 0 accuracy 0. ...

  6. oracle sql 调用自定义函数_PSCAD入门教程(第7节):怎样调用fortran编写的自定义函数?(附模型)...

    PSCAD入门教程(第7节):怎样调用fortran编写的自定义函数?(附模型)​mp.weixin.qq.com https://www.zhihu.com/video/12422083467175 ...

  7. JavaScript实现判断32位的数字是否为正数isPositive算法(附完整源码)

    JavaScript实现判断32位的数字是否为正数isPositive算法(附完整源码) isPositive.js完整源代码 isPositive.js完整源代码 export default fu ...

  8. 有一个小白程序员,写了一个只能对5个数字进行排序的函数,现在有25个不重复的数字,

    题目:有一个小白程序员,写了一个只能对5个数字进行排序的函数,现在有25个不重复的数字,请问小白同学最少调用几次该函数,可以找出其中最大的三个数? A.5 B.6 C.7 D.8 答案:C 解析:第一 ...

  9. 语音信号调制matlab,第二章 语音信号的数字模型 数字语音处理及MATLAB仿真 教学课件.ppt...

    第二章 语音信号的数字模型 数字语音处理及MATLAB仿真 教学课件 第二章 语音信号的数字模型 2.1 概述 本章重点介绍语音信号产生的数字模型,对语音信号的特性和听觉特性做一般介绍. 2.2 语音 ...

最新文章

  1. php用户类,php用户登陆类
  2. TestNG测试框架之失败测试重跑
  3. SSH基本原理和免密码登录
  4. php打印出函数的内容吗,PHP打印函数集合详解以及PHP打印函数对比详解(精)
  5. LeetCode 1366. 通过投票对团队排名(自定义排序)
  6. Internet Explorer 9 新功能:固定并快速打开常用网站
  7. 约瑟夫环(简单版)c语言解决
  8. 软件公司产品营销大数据分析(下)
  9. stm8s103k3 周期 捕获_基于stm8s103k3单片机串口UART的正确使用分享
  10. 接口测试一般怎么测?接口测试的流程和步骤~
  11. python窗口找图_python查找图片在原始图片上的坐标点
  12. 示波器的实时采样和等效采样
  13. javascript 表单提交和验证的方法
  14. 输入1-365 的一个数字判断它是几月几日
  15. (六)我的JavaScript系列:更好的JavaScript之CoffeeScript
  16. python按字母顺序排列_在python中检查字符串是否按字母顺序排列
  17. android 苹果开发进度,IOS 锁屏音乐信息显示(进度条,歌名等信息。)
  18. 地图数据的类型及编码方法
  19. Windows Office 2019 很抱歉,此功能看似已中断,并需要修复
  20. 遥感干货一览D——文献、文集、论坛、会议整理

热门文章

  1. 企业信息化发展下,适合中小企业的容灾备份解决方案
  2. 拆图神器 :shoebox
  3. 选对社群引流方式,业绩翻倍
  4. 建模师是如何用maya软件把美女制作的这么真实的
  5. 【算法】简单题_球弹跳高度的计算
  6. 阿里云 P10 研究员吴翰清(道哥)离职,投身 AI 短视频创业
  7. AI“淘金”大时代:从移动开发模式看百度DuerOS商业化为什么会成功?
  8. c语言系统关键字6,C语言语法之关键字
  9. SEU-系统安全-期末复习
  10. wordpress 古腾堡_如何使用古腾堡块编辑器更新旧的WordPress帖子