以下是使用Tkinter实现WAV音频可视化的一个简单示例代码:

import tkinter as tk
from tkinter import filedialog
import wave
import numpy as np
import matplotlib.pyplot as plt

def open_file():
    file_path = filedialog.askopenfilename(filetypes=[("WAV Files", "*.wav")])
    if file_path:
        visualize_wav(file_path)

def visualize_wav(file_path):
    # 打开WAV文件
    with wave.open(file_path, 'rb') as wav_file:
        # 读取音频数据
        num_frames = wav_file.getnframes()
        sample_width = wav_file.getsampwidth()
        sample_rate = wav_file.getframerate()
        audio_data = wav_file.readframes(num_frames)

    # 将音频数据转换成numpy数组
    audio_array = np.frombuffer(audio_data, dtype=np.int16)

    # 创建绘图窗口
    plt.figure(figsize=(10, 4))
    plt.title('WAV Audio Visualization')
    plt.xlabel('Time (s)')
    plt.ylabel('Amplitude')

    # 计算时间轴
    time = np.arange(0, num_frames) / sample_rate

    # 绘制音频波形图
    plt.plot(time, audio_array, color='b')

    # 显示图形
    plt.show()

# 创建主窗口
root = tk.Tk()
root.title("WAV Audio Visualizer")

# 创建打开按钮
open_button = tk.Button(root, text="Open WAV File", command=open_file)
open_button.pack()

# 运行主窗口
root.mainloop()

这个程序使用Tkinter创建了一个简单的窗口,其中包含一个“打开”按钮。当用户点击按钮时,会弹出文件选择对话框,用户可以选择一个WAV文件。然后,程序将读取WAV文件的音频数据,并使用Matplotlib绘制音频波形图。最后,程序将显示绘图结果。

请注意,你需要安装Matplotlib库才能运行这个程序。可以使用pip install matplotlib命令来安装它

用tkinter实现wav音频可视化

原文地址: http://www.cveoy.top/t/topic/hYk5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录