【各种乐器波形图】笛子、二胡、钢琴、号角等乐器波形图研究

news/2024/9/15 22:16:33/

标题:不同乐器波形图

笛子的频率取决于其音高,不同音高的笛子频率也不同。以C调笛子为例,其最基本的频率为261.63 Hz(即中央C的频率)。而其他调号的笛子的基本频率则会有所不同。

笛子的波形图:

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
plt.rc("font",family='YouYuan')
plt.rcParams['axes.unicode_minus']=False
# 采样率
fs = 8000# 表示时间的数组
t = np.arange(fs) / fs# 笛子的频率
f0 = 261.63# 笛子的波形
y = np.sin(2 * np.pi * f0 * t)# 绘制波形图
plt.figure(figsize=(10, 5))
plt.plot(t, y)
plt.xlabel('Time(时间)/ (s)')
plt.ylabel('Amplitude(振幅)')
plt.title('Flute Waveform(长笛波形)')
plt.grid()
plt.show()

二胡的波形图:

二胡的标准音高为G,频率为392 Hz。但是在演奏中,由于需要进行调弦和进行音高变化,频率会有所不同。
在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
plt.rc("font",family='YouYuan')
plt.rcParams['axes.unicode_minus']=Falseimport numpy as np
import matplotlib.pyplot as plt# 采样率
fs = 8000# 表示时间的数组
t = np.arange(fs) / fs# 二胡的频率
f0 = 196# 二胡的波形
y = np.sin(2 * np.pi * f0 * t) + np.sin(2 * np.pi * 2 * f0 * t) + \np.sin(2 * np.pi * 3 * f0 * t) + np.sin(2 * np.pi * 4 * f0 * t)# 绘制波形图
plt.figure(figsize=(10, 5))
plt.plot(t, y)
plt.xlabel('Time(时间) /(s)')
plt.ylabel('Amplitude(振幅)')
plt.title('Erhu Waveform(二胡波形图)')
plt.grid()
plt.show()

钢琴的波形图:

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
plt.rc("font",family='YouYuan')
plt.rcParams['axes.unicode_minus']=False# 采样率
fs = 44100# 触键时间和松键时间
attack_time = 0.01 # 攻击时间
release_time = 0.2 # 松键时间# 模拟钢琴音色的 ADSR 包络
adsr = np.concatenate([np.linspace(0, 1, int(fs * attack_time)),np.linspace(1, 0.8, int(fs * release_time)),np.linspace(0.8, 0, int(fs * release_time))])adsr = np.concatenate([np.linspace(0, 1, int(fs * attack_time)),np.linspace(1, 0.8, int(fs * release_time)),np.linspace(0.8, 0, int(fs * release_time))])# 钢琴的基音频率
f0 = 261.63 # C4# 生成钢琴音色
note = np.sin(2 * np.pi * f0 * np.arange(fs) / fs)# 使用 np.tile() 函数将 adsr 扩充到和 note 一样的长度
adsr = np.tile(adsr, int(np.ceil(len(note) / len(adsr))))# 将音符乘以 ADSR 包络
note *= adsr[:len(note)]# 绘制波形图
plt.figure(figsize=(10, 5))
plt.plot(note)
plt.xlabel('Time (samples) 时间采样')
plt.ylabel('Amplitude 振幅')
plt.title('Piano Waveform 钢琴波形')
plt.grid()
plt.show()

号角的波形图:

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
plt.rc("font",family='YouYuan')
plt.rcParams['axes.unicode_minus']=False# 采样率
fs = 44100# 触键时间和松键时间
attack_time = 0.01 # 攻击时间
release_time = 0.2 # 松键时间# 模拟钢琴音色的 ADSR 包络
adsr = np.concatenate([np.linspace(0, 1, int(fs * attack_time)),np.linspace(1, 0.8, int(fs * release_time)),np.linspace(0.8, 0, int(fs * release_time))])adsr = np.concatenate([np.linspace(0, 1, int(fs * attack_time)),np.linspace(1, 0.8, int(fs * release_time)),np.linspace(0.8, 0, int(fs * release_time))])# 钢琴的基音频率
f0 = 261.63 # C4# 生成钢琴音色
note = np.sin(2 * np.pi * f0 * np.arange(fs) / fs)# 使用 np.tile() 函数将 adsr 扩充到和 note 一样的长度
adsr = np.tile(adsr, int(np.ceil(len(note) / len(adsr))))# 将音符乘以 ADSR 包络
note *= adsr[:len(note)]# 绘制波形图
plt.figure(figsize=(10, 5))
plt.plot(note)
plt.xlabel('Time (samples) 时间采样')
plt.ylabel('Amplitude 振幅')
plt.title('Piano Waveform 钢琴波形')
plt.grid()
plt.show()
import numpy as np
import matplotlib.pyplot as plt
plt.rc("font",family='YouYuan')
plt.rcParams['axes.unicode_minus']=False# 采样率
fs = 44100# 数字信号维度
n = np.arange(fs)# 号角的基音频率
f0 = 220.0# ADSR 包络
attack_time = 0.01
release_time = 0.3adsr = np.concatenate([np.linspace(0, 1, int(fs * attack_time)),np.linspace(1, 0.8, int(fs * release_time)),np.linspace(0.8, 0, int(fs * release_time))])# 号角音色
note = np.sin(2 * np.pi * f0 * n / fs)# 添加上升和下降的音调特性
note *= np.cos(np.pi * np.power(n / fs, 0.5))# 使用 np.tile() 函数将 adsr 扩充到和 note 一样的长度
adsr = np.tile(adsr, int(np.ceil(len(note) / len(adsr))))# 将音符乘以 ADSR 包络
note *= adsr[:len(note)]# 绘制波形图
plt.figure(figsize=(10, 5))
plt.plot(n, note)
plt.xlabel('Time (samples)')
plt.ylabel('Amplitude')
plt.title('Horn Waveform')
plt.grid()
plt.show()

http://www.ppmy.cn/news/622339.html

相关文章

【每日新闻】苹果VS华为,人工智能手机芯片生态“封闭”与“开放”之战 | 工信部下发2018年第7批CDN与云服务牌照

每一个企业级的人 都置顶了 中国软件网 中国软件网 为你带来最新鲜的行业干货 小编点评 我们希望邀请更多的生态伙伴 共同探讨 共同行动 2018年4与人25日 北京站,不见不散! 趋势洞察 生态视角 苹果VS华为,人工智能手机芯片生态“封闭”与“…

[游戏杂谈]游戏性到底是什么?

游戏性对于游戏来说,是至关重要的一个属性。 没有游戏性,游戏就不是游戏,仅仅是一个程序。 游戏性,看不见摸不着,只可意会不可言传。 游戏性与游戏理解起来,相当于梦想、理想、想法对于人的关系一样。 对…

常用网站

it桔子-倒闭的公司 弹钢琴 各大网站热点 抠图 春梅红 摩斯密码 小鸡词典 小霸王 各种雪花 妖魔鬼怪收录 下面是白噪声网站 网址类别https://hipstersound.com人群噪声https://www.rainymood.com/雨声https://asoftmurmur.com雨声 https://tide.fm 雨声http://rainys…

放弃“一阳指”,改练“六脉神剑”的OPPO何时能“后发先至”?

文|佘凯文 来源|智能相对论(aixdlun) 段永平可能也没意料到,中国的商业环境变化在十多年间会如此之快,甚至“买卖也不是品牌自己说了算了”。 段永平是一个很有意思的人,“科技巨头”、“隐形富豪”、“闲云野鹤”都…

java坦克大战地图_『坦克大战的基本地图系统(一)』Clickteam Fusion系列教程(13)...

哟,大家好呀,不知不觉已经过(拖)去(更)了好长时间了呀~国庆之后连续七天的课程怎么样,是不是很exciting啊……所以一不小心就这么长时间啥也没写了…… -------------------------------------------------------------------------------- 首…

JAVA开源协同过滤算法_基于用户的协同过滤推荐算法

什么是推荐算法 推荐算法最早在1992年就提出来了,但是火起来实际上是最近这些年的事情,因为互联网的爆发,有了更大的数据量可以供我们使用,推荐算法才有了很大的用武之地。 最开始,所以我们在网上找资料,都是进yahoo,然后分门别类的点进去,找到你想要的东西,这是一个人…

20年前学计算机,竟然有人说20年前的大学生没电脑和手机?我94年就开始玩电脑了!...

回复某些JR的观点: 首先,前提是20年前的大学生,请先问问你自己是不是? 事实上,你们仔细看帖的话,会发现仅就在这个帖子里,也有不少赞同我的声音,也有不小比例的人,在20年…

近日,我处理了一个大文件导入 nginx HTTP/1.1“ 413 585的问题

今天,导入一个1万多条数据的excel文件,本地没有用到nginx,导入很顺畅 部署到了线上后,导入文件后后台并没有日志输出,说明没有进入后端 经过摸排,分析,最终发现,是nginx这关没过 …

游戏网站大总结

//Crazy games link.zhihu.com/?targethttps%3A//www.crazygames.com/ //鼠标互动游戏合集 link.zhihu.com/?targethttp%3A//david.li/ //Poki link.zhihu.com/?targethttps%3A//poki.cn/ //游戏大全 link.zhihu.com/ //游戏大全 www.cdgameclub.com/ …

80/20法则

80/20法则(The 80/20 Rule)又称为帕累托法则(Pareto Principle)、二八定律、帕累托定律、最省力法则、不平衡原则、犹太法则、马特莱法则等 一、什么是80/20法则 80/20法则(The 80/20 Rule),又称为帕累托法…

[推荐算法]基于用户的协同过滤算法

转自:http://blog.csdn.net/ygrx/article/details/15501679 什么是推荐算法 推荐算法最早在1992年就提出来了,但是火起来实际上是最近这些年的事情,因为互联网的爆发,有了更大的数据量可以供我们使用,推荐算法才有了很…

【毕业设计】基于单片机的太空游戏机 - 嵌入式 物联网 stm32 51

文章目录 1 简介2 主要器件2.1 硬件器件 3 实现效果4 设计原理4.1 器件连接 5 部分实现代码6 最后 1 简介 Hi,大家好,这里是丹成学长,今天向大家介绍一个学长做的单片机项目 基于单片机的太空飞机游戏机设计与实现 大家可用于 课程设计 或…

视频融合平台EasyCVR电子地图增加鼠标悬停展示经纬度

EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。平台可…

计算机网络—数据链路层

文章目录 数据链路层服务差错编码多路访问协议信道划分随机访问MAC协议 数据链路层服务 该层中的帧数据结构: 帧头部会因为不同的局域网协议而不同,因此会在另一篇博文中继续介绍不同的帧数据报,不在本博文介绍。(不过除了PPP协…

python实现图片拼接

# -*- coding:utf-8 -*- # 图片拼接 import PIL.Image as Image import os, sys mw 256 # 图片大小 toImage Image.new(RGB, (25171, 11802))#构造图片的宽和高,如果图片不能填充完全会 #出现黑色区域 for y in range(47):#0-46for x in range(99):#0-98fname &q…

C/C++ 图片拼接

注意CV::Mat dst(height,weight)顺序 // TODO 1 merge frame(background)/face(tmp_ptr->frame) into one imagecv::Mat background;cap.read(background);cv::Mat dst(720,1280,CV_8UC3,cv::Scalar(0));//黑底cv::Rect rect_face(0,0,640,720);cv::resize(tmp_ptr->fra…

numpy数组做 图片拼接(concatenate、vstack、hstack)

两种方法拼接 #img np.vstack((img, img2)) # vstack按垂直方向,hstack按水平方向 img np.concatenate((img, img2), axis0) # axis0 按垂直方向,axis1 按水平方向统一图片大小,保证数组维度一致避免拼接失败。 把图片全部调整成第一…

基于python的多张不同宽高图片拼接成大图

半年前写过一篇将多张图片拼接成大图的博客,是讲的把所有图片先转换为256256的图片后再进行拼接,今天看到一个朋友的评论说如何拼接非正方形图片,如4757,之前有个朋友也问过这个,我当时理解错了,以为是要把不同尺寸的照片如3245、5675等拼接成大图,当时还纳闷,那不是很…

OpenCV 纵向、横向拼接图片

👨‍💻个人简介: 深度学习图像领域工作者 🎉总结链接: 链接中主要是个人工作的总结,每个链接都是一些常用demo,代码直接复制运行即可。包括: &am…

Python实现将多张图片拼接为一张

文章目录 一、需求二、代码 一、需求 将多个这样的图片进行拼接为一张 拼接效果: 更多照片张数同理 二、代码 import PIL.Image as Image import osIMAGES_PATH img\\test\\ # 图片集地址IMAGES_FORMAT [.png, .jpg] # 图片格式 IMAGE_SIZE 224 # 每张小…