Уровень голоса в Python
я хочу создать программу на Python, которая при повышения уровня голоса меняла бы картинку в Tkinter, но картинка не меняется.
Вот код:
import sounddevice as sd
import numpy as np
from tkinter import *
from PIL import Image, ImageTk
window = Tk()
speak = ImageTk.PhotoImage(Image.open("speak.png"))
normal = ImageTk.PhotoImage(Image.open("normal.png"))
speak_level = 30
def print_sound(indata, outdata, frames, time, status):
volume_norm = np.linalg.norm(indata)*10
if volume_norm >= speak_level:
main_image.configure(image=speak)
main_image.image = speak
if volume_norm < speak_level:
main_image.configure(image=normal)
main_image.image = normal
main_image = Label(window, image=normal).pack()
window.mainloop()
with sd.Stream(callback=print_sound):
sd.sleep(10000)