繁体   English   中英

我如何知道哪些频谱图帧属于哪些音频样本?

[英]How do I know which spectrogram frames belong to which audio samples?

我一直在使用这个脚本:

spgram = torchaudio.transforms.Spectrogram(512, hop_length=32)
audio = spgram(audio)

获取一些立体声音乐音频的频谱图。 我预计生成的频谱图的形状为 [2, 257, audio.shape[1]/32] 然而,事实并非如此。 例如,大小为 [2, 199488] 的音频剪辑(sr=24576)会产生大小为 [2, 257, 6241] 的频谱图(请注意 199488/32=6234)。 这是为什么? 以及如何从帧位置转换为样本位置?

center参数。

是否在两侧填充waveform ,以便第t帧以时间 tx hop_length 为中心。 (默认值: True

因此,默认情况下,信号用零填充。 填充长度可能是 ( win_length - hop_length )。 这最终会使结果更长(win_length - hop_length) / hop_length ,在您的情况下为 7 。

感谢您的回答。 如果我有一个大小为 [1,128000] 的信号 x,它是 800 帧。 torch.stft(x).size() = [1,201,801,2]。 我想将 torch.stft(x) 的帧对齐到 800 帧。 我可以丢掉最后一帧,只保留前 800 帧吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM