|
import tkinter as tk |
|
|
|
def detect_music_style(): |
|
import librosa |
|
import numpy as np |
|
|
|
|
|
audio_file = "путь_к_вашему_аудиофайлу.mp3" |
|
y, sr = librosa.load(audio_file) |
|
|
|
|
|
tempo, beat_frames = librosa.beat.beat_track(y=y, sr=sr) |
|
chromagram = librosa.feature.chroma_stft(y=y, sr=sr) |
|
|
|
|
|
|
|
|
|
|
|
most_common_chord = np.argmax(np.mean(chromagram, axis=1)) |
|
music_styles = { |
|
0: "Классическая", |
|
1: "Рок", |
|
2: "Поп", |
|
# Добавьте другие стили |
|
} |
|
|
|
style = music_styles[most_common_chord] |
|
|
|
print(f"Стиль музыки: {style}") |
|
|
|
# Это место нужно заполнить вашими алгоритмами и методами |
|
|
|
# Вместо этого выведите результат анализа на метку |
|
result_label.config(text="Стиль музыки: Джаз") |
|
|
|
|
|
window = tk.Tk() |
|
window.title("Определение стиля музыки") |
|
|
|
|
|
result_label = tk.Label(window, text="", font=("Helvetica", 16)) |
|
result_label.pack(pady=20) |
|
|
|
|
|
analyze_button = tk.Button(window, text="Анализировать", command=detect_music_style) |
|
analyze_button.pack() |
|
|
|
|
|
window.mainloop() |
|
|