30 lines
1000 B
Python
30 lines
1000 B
Python
import slider as sl
|
|
import sound_process
|
|
from tkinter import filedialog as fd
|
|
from matplotlib import pyplot as plt
|
|
|
|
def compare_plot():
|
|
filename = fd.askopenfilename()
|
|
beatmap = sl.Beatmap.from_path(filename)
|
|
timing = beatmap.timing_points[0]
|
|
bpm = timing.bpm
|
|
offset = timing.offset.total_seconds() * 1000
|
|
data = sound_process.process_song(beatmap.audio_filename, bpm, offset0=offset, n_iter_2=48, divisor=4)
|
|
|
|
timings, amplitudes, freqs = [x[0].total_seconds() for x in data], [x[1] for x in data], [x[2] for x in data]
|
|
|
|
original_times = [x.time.total_seconds() for x in beatmap.hit_objects(spinners=False) if x.time.total_seconds() <= timings[len(timings) - 1]]
|
|
|
|
#bx.scatter(original_times, ys=10, zs=0)
|
|
plt.scatter(timings, [1 if amplitudes[i] > 1000 else 0 for i in range(len(amplitudes))], marker="x", c="red")
|
|
for x in original_times:
|
|
plt.axvline(x=x)
|
|
|
|
plt.show()
|
|
|
|
def main():
|
|
compare_plot()
|
|
|
|
if __name__ == "__main__":
|
|
main()
|