通过对音频信号提取梅尔频谱图并转换为对数梅尔频谱图得到的。它的形状主要由以下参数决定 转换成图片 64*64像素

转换成图片 64*64

在你的代码中,log_mel_spectrogram 是通过对音频信号提取梅尔频谱图并转换为对数梅尔频谱图得到的。它的形状主要由以下参数决定:

  1. n_mels:梅尔频带的数量,决定了频谱图的频率维度。
  2. hop_length:帧移,决定了时间维度的分辨率。
  3. 音频时长:音频的总时长,决定了频谱图的时间维度的长度。

1. 理论计算

假设音频时长为 ( T ) 秒,采样率为 ( sr ) Hz,帧移为 ( hop_length ) 样本。

  • 时间维度 :时间维度的长度可以通过以下公式计算:

    \\text{时间维度长度} = \\left\\lfloor \\frac{T \\times sr}{hop_length} \\right\\rfloor + 1

    其中,(\lfloor x \rfloor) 表示向下取整。

  • 频率维度 :频率维度由 n_mels 决定,即为 n_mels

因此,log_mel_spectrogram 的形状为 (n_mels, 时间维度长度)

2. 示例计算

假设音频时长为 2 秒,采样率为 16000 Hz,hop_length = int(sr * 0.025)n_mels = 64

  • 时间维度长度

    \\text{时间维度长度} = \\left\\lfloor \\frac{2 \\times 16000}{400} \\right\\rfloor + 1 = \\left\\lfloor \\frac{32000}{400} \\right\\rfloor + 1 = 80 + 1 = 81

  • 频率维度n_mels = 64

因此,log_mel_spectrogram 的形状为 (64, 81)

3. 验证代码

你可以在代码中添加以下内容来验证计算结果:

python 复制代码
import librosa
import numpy as np

# 加载音频文件
audio_path = 'K:\\download\\青衫忆笙\\data\\yasuoji\\OK\\%7C05B6SP5UX-3.18R.wav'
y, sr = librosa.load(audio_path, sr=16000)

# 提取梅尔频谱图
n_mels = 64
hop_length = int(sr * 0.025)
n_fft = 1024
mel_spectrogram = librosa.feature.melspectrogram(y=y, sr=sr, n_mels=n_mels, hop_length=hop_length, n_fft=n_fft)

# 转换为对数梅尔频谱图
log_mel_spectrogram = librosa.power_to_db(mel_spectrogram, ref=np.max)

# 打印形状
print("log_mel_spectrogram 的形状:", log_mel_spectrogram.shape)

运行这段代码后,你将看到 log_mel_spectrogram 的实际形状,与理论计算结果进行对比。

4. 注意事项

  • 如果音频时长不是精确的 2 秒,实际计算的时间维度长度可能会略有不同。
  • 如果音频文件有问题(例如文件损坏或格式不支持),可能会导致加载失败或形状异常。
相关推荐
weixin_377634843 小时前
【K-S 检验】Kolmogorov–Smirnov计算过程与示例
人工智能·深度学习·机器学习
yaoh.wang3 小时前
力扣(LeetCode) 13: 罗马数字转整数 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·跳槽
T1ssy3 小时前
布隆过滤器:用概率换空间的奇妙数据结构
算法·哈希算法
hetao17338374 小时前
2025-12-12~14 hetao1733837的刷题笔记
数据结构·c++·笔记·算法
鲨莎分不晴4 小时前
强化学习第五课 —— A2C & A3C:并行化是如何杀死经验回放
网络·算法·机器学习
搞科研的小刘选手5 小时前
【ISSN/ISBN双刊号】第三届电力电子与人工智能国际学术会议(PEAI 2026)
图像处理·人工智能·算法·电力电子·学术会议
拉姆哥的小屋5 小时前
从混沌到秩序:条件扩散模型在图像转换中的哲学与技术革命
人工智能·算法·机器学习
Sammyyyyy5 小时前
DeepSeek v3.2 正式发布,对标 GPT-5
开发语言·人工智能·gpt·算法·servbay
JoannaJuanCV6 小时前
自动驾驶—CARLA仿真(6)vehicle_gallery demo
人工智能·机器学习·自动驾驶·carla
sin_hielo6 小时前
leetcode 2110
数据结构·算法·leetcode