首页 > 其他分享 >librosa与torch/torchaudio的stft、spectrogram、mel、power-to-db的对应关系

librosa与torch/torchaudio的stft、spectrogram、mel、power-to-db的对应关系

时间:2024-03-13 17:22:31浏览次数:19  
标签:1024 power torchaudio mel torch ts length data

注意,以下代码仍受到数值精度(numerical accuracy)的影响。
import soundfile as sf
import numpy as np
import torchaudio
import torch
import librosa

if __name__ == '__main__':
np_data, sr = sf.read('./test.wav')
ts_data = torch.from_numpy(np_data).float()

# the following methods will return the same spectrogram
li_spec = librosa.stft(y=np_data, n_fft=1024, hop_length=512, center=True, pad_mode='constant')
ts_spec = torch.stft(ts_data, n_fft=1024, hop_length=512, center=True, pad_mode='constant', return_complex=True,
window=torch.hann_window(1024))
ts_spec_1 = torchaudio.transforms.Spectrogram(n_fft=1024, win_length=1024, hop_length=512, center=True,
pad_mode='constant', power=None)(ts_data)

# the following methods will return the same mel-spectrogram
li_mel = librosa.feature.melspectrogram(S=np.abs(li_spec) ** 2., sr=sr, n_fft=1024, hop_length=512, n_mels=64,
fmax=8000, center=True)
li_mel_1 = librosa.feature.melspectrogram(y=np_data, sr=sr, n_fft=1024, hop_length=512, n_mels=64, fmax=8000,
center=True, pad_mode='constant', power=2.0)
ts_mel = torchaudio.transforms.MelSpectrogram(window_fn=torch.hann_window, win_length=1024, sample_rate=sr,
n_fft=1024, hop_length=512, n_mels=64, f_max=8000,
pad_mode='constant', mel_scale='slaney', norm='slaney')(ts_data)
ts_mel_1 = torchaudio.transforms.MelScale(n_mels=64, sample_rate=sr, f_min=0.0, f_max=8000.0, n_stft=513,
norm='slaney', mel_scale='slaney')(torch.square(torch.abs(ts_spec_1)))

# the following methods will return the same log-mel-spectrogram
li_log_mel = librosa.power_to_db(li_mel)
ts_log_mel = torchaudio.transforms.AmplitudeToDB(top_db=80)(ts_mel)

标签:1024,power,torchaudio,mel,torch,ts,length,data
From: https://www.cnblogs.com/s-tyou/p/18071109

相关文章

  • PowerShell 命令来获取已启用的功能列表
     PowerShell命令来获取已启用的功能列表:powershellCopyCodeGet-WindowsOptionalFeature-Online|Where-Object{$_.State-eq"Enabled"}请在PowerShell窗口中运行该命令,它应该能够列出已启用的Windows功能 命令来获取Windows功能的详细信息,包括其状态:shel......
  • 【Azure Power BI】Power BI获取SharePoint List列表后,如何展开List/Table中的字段,以
    问题描述PowerBI获取SharePointList列表作为数据源。但是在数据源中,有Table属性值,有List属性值。如果直接展开,则会形成“笛卡尔”集的效果,变成N多行数据。效果图如下:但是,我们最终所需要的效果是:保留整体表格的行数不变,把Table中所需要的字段,List中的值使用“逗号”分隔,展示......
  • PowerShell 定时备份MySQL数据
    #========================================================#Function:备份MySQL数据库#ReleaseVersion:v0.0.3#ReleaseDate:2020年8月17日#Author:panda666#Website:www.panda666.com#=====================================......
  • PowerShell 使用指南
    PowerShell使用指南Started:2024.03.1209:00:00Update:2024-03-1209:36:270.Purpose在Win11中,默认的终端已经是PowerShell,包括VSCode里的默认终端,这一方面改进了cmd.exe表达力不足的问题,另一方面要求程序员们要学习一点PowerShell语法,之前的bat语法虽......
  • CMD和power shell命令
    CMD命令:calc寄存器devmgmt.msc设备管理器dvdplayDVD播放器explorer打开资源管理器notepad打开记事本magnify放大镜实用程序mspaint画板mstsc远程桌面连接narrator屏幕“讲述人”osk打开屏幕键盘regedit.exe注册表write写字板control控制面板desk.cpl......
  • PowerDesigner操作要点
    一、PowerDesigner解决name和code同步问题工具-常规选项-General Options-Dialog-NametoCodemirroring√去掉  二、PowerDesigner用反向工程导入sql生成新的数据模型1、文件-反向工程-Database 2、点击确定下一步 3、选择对应的SQL点击确定 4、结果如图所......
  • thymeleaf 用法
    使用注意事项 1.pom中添加依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>2.application.properties文件的配置#THYME......
  • powerpoint:缩放定位动画
    一,幻灯片缩放定位插入->缩放定位->幻灯片缩放定位:在弹出窗口中,选中目标幻灯片,然后点插入按钮:插入成功:放映时退出:按键盘上的向上箭头或点击幻灯片底部的向上箭头,即可回到原幻灯片页面,如按空格或向右键箭头,则会按目标幻灯片所在位置向后播放:说明:刘宏缔的架构森林......
  • powerpoint: 放大缩小动画
    一,设置放大动画1,选中图片->工具栏动画标签栏下,选中放大/缩小:属性值:设置为400%选中平滑开始、平滑结束触发器:设置为单击:2,使图片放大后位置在屏幕中间选择图片,选择路径动画->直线:把动画的目标位置:红色的圆点,拖动到页面的中间:选中位置动画,计时的开始:设置为:......
  • CF622F The Sum of the k-th Powers 题解
    原式为\(k+1\)次多项式,所以需要\(k+2\)个点确定。然后转化,前缀和。\[\begin{equation}n=k+2\\\end{equation}\]\[\begin{equation}f(x)=\sum\limits_{i=0}^{n}y_i\prod\limits_{j=0,j\nei}^{n}\frac{x-x_j}{x_i-x_j}\end{equation}\]\[\begin{equation}x_0=......