gpt4 book ai didi

python - 在 x 轴上绘制音频时间而不是 matplotlib 图形的 tkinter GUI 显示中的音频采样率

转载 作者:太空宇宙 更新时间:2023-11-03 19:55:18 24 4
gpt4 key购买 nike

enter image description here我是 Tkinter GUI 的初学者,我正在学习波形音频显示以及相应的音频时间。我想在 matplotlib 图的 x 轴上显示音频时间。我尝试了 axis.set_xticks() 和函数,但在我的情况下不起作用。如果有人能解决这个问题,那将会很有帮助。谢谢。

最佳答案

我无法运行您的 MCVE,但请查看 matplotlib.ticker class 。一旦你计算出时间向量

times = numpy.linspace(0, (self.audio.signal.shape[0]) / fs, num=(self.audio.fs))    

(据我所知,您做得正确),您可以例如使用 MultipleLocator() 设置刻度。请注意,time 必须以秒为单位。

import time
# Set major ticks every 60 seconds
self.ax1.xaxis.set_major_locator(matplotlib.ticker.MultipleLocator(60))
# Set minor ticks every 10 seconds
self.ax1.xaxis.set_minor_locator(matplotlib.ticker.MultipleLocator(10))
# Define format of xtick labels with help of `time` module as Minutes:Seconds
formatter = matplotlib.ticker.FuncFormatter(lambda s, x: time.strftime('%M:%S', time.gmtime(s)))
self.ax1.xaxis.set_major_formatter(formatter)

这应该会导致类似这样的结果

enter image description here

关于python - 在 x 轴上绘制音频时间而不是 matplotlib 图形的 tkinter GUI 显示中的音频采样率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59576955/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com