为解决我的main problem,我录制了一些.m4a
音频文件(sample)。我想首先得到一个像这样的频谱图:
由Audacity生成。
我可以从here导入文件:
from pydub import AudioSegment
seg = AudioSegment.from_file("voice.m4a")
print("Information:")
print("Channels:", seg.channels)
print("Bits per sample:", seg.sample_width * 8)
print("Sampling frequency:", seg.frame_rate)
print("Length:", seg.duration_seconds, "seconds")
我知道这些频谱图绘制功能:
,其中有很多示例here。但是我不知道之间的步骤。如果您能帮助我知道如何获得上述图表,我们将不胜感激。不必是PyBud。任何其他库(或什至其他语言,只要它是自由软件!)也可以。谢谢您的提前支持。
PS 。下一步将像here一样实时分析环境噪声。因此,对此方向的任何帮助也将受到高度赞赏。
答案 0 :(得分:2)
以下是documentation的示例(请参阅第10页):
# Example for plotting a spectrogram using this function
import audiosegment
import matplotlib.pyplot as plt
#...
seg = audiosegment.from_file("voice.m4a")
freqs, times, amplitudes = seg.spectrogram(window_length_s=0.03, overlap=0.5)
amplitudes = 10 * np.log10(amplitudes + 1e-9)
# Plot
plt.pcolormesh(times, freqs, amplitudes)
plt.xlabel("Time in Seconds")
plt.ylabel("Frequency in Hz")
plt.show()
pip install AudioSegment
)choco install ffmpeg