当前位置: 首页 > article >正文

基于音频的波形图与频谱图绘制

基于python绘制Sinéad O'Connor - Nothing Compares To You音频的波形图与频谱图

import librosa
import librosa.display
import matplotlib.pyplot as plt
import numpy as np

# 文件路径
file_path = r"D:\daku\波形图频谱图\NothingComparesToYou.mp3"

# 加载音频文件
y, sr = librosa.load(file_path, sr=None)

# 创建一个新的图形窗口
plt.figure(figsize=(14, 8))

# 绘制波形图
plt.subplot(2, 1, 1)
librosa.display.waveshow(y, sr=sr)
plt.title('波形图')
plt.xlabel('时间 (秒)')
plt.ylabel('振幅')

# 计算短时傅里叶变换
D = librosa.stft(y)

# 将幅度谱转换为分贝刻度
S_db = librosa.amplitude_to_db(abs(D), ref=np.max)

# 绘制频谱图
plt.subplot(2, 1, 2)
librosa.display.specshow(S_db, sr=sr, x_axis='time', y_axis='log')
plt.colorbar(format='%+2.0f dB')
plt.title('频谱图')
plt.xlabel('时间 (秒)')
plt.ylabel('频率 (Hz)')

# 显示图形
plt.tight_layout()
plt.show()


http://www.kler.cn/a/398103.html

相关文章:

  • 【Node.js】使用 Node.js 需要了解多少 JavaScript?
  • 阮一峰科技爱好者周刊(第 325 期)推荐工具:一个基于 Next.js 的博客和 CMS 系统
  • # ubuntu 安装的pycharm不能输入中文的解决方法
  • 如何在 Ubuntu 上安装 Jellyfin 媒体服务器
  • ubuntu将firewall-config导出为.deb文件
  • AtCoder Beginner Contest 380(A-F)
  • 详细的oracle rac维护命令集合
  • xml去掉命名空间前缀n1
  • webgpu 编译并集成到Qt中
  • github算法
  • 241113.学习日志——[CSDIY] [ByteDance] 后端训练营 [02]
  • 实验06for与do~while循环---7-01 验证一个著名数学猜想
  • 循环矩阵和BCCB矩阵与向量乘积的快速计算——矩阵向量乘积与频域乘积之间的转换
  • 7、ARM_栈
  • 【日常记录-Git】git log
  • 传奇996_24——变量lua
  • Kafka常见问题及处理
  • 如何用python将pdf转换为json格式
  • 假设一棵平衡二叉树的每个结点都表明了平衡因子b,试设计一个算法,求平衡二叉树的高度。
  • ChatGPT 搜索 vs Google 搜索
  • stm32学习之路——LED闪烁实验
  • SSH隧道连接(基于linux)
  • 【366】基于springboot的高校物品捐赠管理系统
  • Python常用魔术方法 (学习笔记)
  • Prometheus面试内容整理-PromQL 查询语言
  • 【软件测试】设计测试用例的万能公式