From e83140556f26969a615460f36a9b0fc0bffb9f95 Mon Sep 17 00:00:00 2001 From: will Date: Tue, 10 Sep 2024 17:27:32 +0100 Subject: [PATCH] Changed loop.py to chache spectrograms --- fft.py | 0 loop.py | 13 ++++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) mode change 100644 => 100755 fft.py diff --git a/fft.py b/fft.py old mode 100644 new mode 100755 diff --git a/loop.py b/loop.py index e0c534a..3665bc8 100755 --- a/loop.py +++ b/loop.py @@ -90,6 +90,8 @@ def process_loop( print("caching data...") caching = True + all_spectrums = np.zeros((segment_count, window_height, window_size, 3), dtype=np.uint8) + for segment_index in tqdm(range(segment_count)): # get the specturm of the current sample segment_start = segment_index * segment_samples @@ -108,7 +110,8 @@ def process_loop( if segment_index == 10: cv.imwrite("spectrum_sample.jpg", spectrum) - np.save(f"cache/frame{segment_index}.npy", spectrum) + all_spectrums[segment_index] = spectrum + #np.save(f"cache/frame{segment_index}.npy", spectrum) segment_index = 0 print("cached!") @@ -116,7 +119,7 @@ def process_loop( while segment_index < segment_count: - spectrum = np.load(f"cache/frame{segment_index}.npy") + spectrum = all_spectrums[segment_index]#np.load(f"cache/frame{segment_index}.npy") # display and capture camera.display(spectrum) @@ -164,6 +167,8 @@ notes: bigger windows are exponentially better so you should prefer this if possible obviously the biggest you can use is the size of your display unless you have some way of arranging the pixles independant of the orrigional spectrogram. + This should ideally be one of n^2 (possibly n^2 * m^3????). + e.g.: 64 81 100 121 144 169 192 225 - Window height This is the height of the image, or, the number of ffts performed in one "batch". This batching is multithreaded and therefore has some effect on process speed. @@ -171,9 +176,11 @@ notes: # define parameters sample_rate = 22_050 -window_size = 150 +window_size = 144 window_height = 80 +hop_size = window_size // 2 + caching = False if __name__ == "__main__": -- 2.39.2