Я хотел бы взять входные данные из pySimpleGUI, передать их в обычный Python-файл, а затем передать их в музыкальный процессор, поскольку я люблю музыку.
Я уже пытался использовать для этого wxPython, но не смог даже получить простой fileDialog без сбоев.
from pydub import AudioSegment
from os import listdir
import numpy as np
import math
import PySimpleGUI as sg
class Dankify():
song_dir = "songs"
attenuate_db = 0
accentuate_db = 2
yeet = sg.Window('Dankify ALL THE THINGS!'). Layout([[sg.Text('Filename')], [sg.Input(), sg.FileBrowse()], [sg.OK(), sg.Cancel()] ]).Read()
event, values = yeet.Read()
yeet1 = event, values
def bass_line_freq(track):
sample_track = list(track)
# c-value
est_mean = np.mean(sample_track)
# a-value
est_std = 3 * np.std(sample_track) / (math.sqrt(2))
bass_factor = int(round((est_std - est_mean) * 0.005))
return bass_factor
songfile = yeet1
for filename in listdir(songfile):
sample = AudioSegment.from_mp3(songfile)
filtered = sample.low_pass_filter(bass_line_freq(sample.get_array_of_samples()))
combined = (sample - attenuate_db).overlay(filtered + accentuate_db)
combined.export("exports/" + filename.replace(".mp3", "") + "-export.mp3", format="mp3")
Однако, он просто ничего не делает, даже не обрабатывает. Напоминание о том, что я использую некоторый код с открытым исходным кодом и что я новичок, который ничего не знает о том, как все это работает, и пытаюсь создавать реальные вещи, чтобы получить опыт. Спасибо!