gpt4 book ai didi

python - 如何在 pySimpleGUI 中读取文件输入然后将其传递给数字运算处理器

转载 作者:太空宇宙 更新时间:2023-11-04 06:40:18 25 4
gpt4 key购买 nike

我想从 pySimpleGUI 获取输入,将其输入普通的 Python var,然后将其输入音乐处理器,因为我喜欢音乐。

我已经尝试为此使用 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")

然而,它什么也不做,甚至不处理它。提醒一下,我正在使用一些开源代码,而且我是一个初学者,对所有这些工作原理一无所知,并且正在尝试构建真实的东西来获得经验。谢谢!

最佳答案

我猜你错过了“事件循环”。

尝试这样的事情,希望它有帮助。

import sys  
if sys.version_info[0] >= 3:
import PySimpleGUI as sg
else:
import PySimpleGUI27 as sg

layout = [[sg.Text('Your typed chars appear here:'), sg.Text('', key='_OUTPUT_') ],
[sg.Input(do_not_clear=True, key='_IN_')],
[sg.Button('Show'), sg.Button('Exit')]]

window = sg.Window('Window Title').Layout(layout)

while True: # Event Loop
event, values = window.Read()
print(event, values)
if event is None or event == 'Exit':
break
if event == 'Show':
# change the "output" element to be the value of "input" element
window.FindElement('_OUTPUT_').Update(values['_IN_'])

window.Close()

关于python - 如何在 pySimpleGUI 中读取文件输入然后将其传递给数字运算处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55309042/

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