因此,我已经做了一些分析的音频信号,其中包含2260赫兹的哔声和它的4520赫兹和6780赫兹的组成部分。我找出了这些山峰,并用分贝提取了它们的强度。
frequency_db_peaks = [(2261, 29), (4522, -3.6), (6783, -2.3)]

我想用三个正弦波和适当的振幅来重现这个音调,以配合研究结果。但我不知道如何把这些分贝转换成正弦波振幅。
import numpy as np
frequency_db_peaks = [(2261, 29), (4522, -3.6), (6783, -2.3)]
sr = 22050
T = 5.0
t = np.linspace(0, T, int(T*sr), endpoint=False)
signal = 0
for frequency, db in frequency_db_peaks:
# how do I transform dB into sine-wave amplitude?
signal = signal + amplitude * np.sin(2*np.pi*frequency*t)
ipd.Audio(signal, rate=sr)如何确定dB地板的价值?
我该如何重现这三种音调?
任何帮助,包括对基本和支持主题的链接,将不胜感激。
发布于 2022-04-12 00:04:42
您可以使用dB将librosa.db_to_amplitude测量值转换为振幅。
signal = 0
for frequency, db in frequency_db_peaks:
# how do I transform dB into sine-wave amplitude?
amplitude = librosa.db_to_amplitude(db)
signal = signal + amplitude * np.sin(2*np.pi*frequency*t)https://stackoverflow.com/questions/71820751
复制相似问题