infinity-player

infinite jukebox clone using librosa
git clone https://git.ce9e.org/infinity-player.git

commit
bbfd395f9d1ca3ee0d58a1eb1c3d877c7239cda3
parent
e6ccffa152ccb565022f03b1df6b187d3a0de026
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2021-07-04 09:38
change timbre calculate

I cannot remember why I did this, but I probably had reasons

Diffstat

M player.py 15 +++++++++++----

1 files changed, 11 insertions, 4 deletions


diff --git a/player.py b/player.py

@@ -36,10 +36,17 @@ def iter_beat_slices(y, beat_frames):
   36    36 def timbre(y):
   37    37     spectrum = numpy.abs(librosa.stft(y))
   38    38     resized = imresize(spectrum, (50, 70))
   39    -1     s = []
   40    -1     for pattern in TIMBRE_PATTERNS:
   41    -1         s.append(numpy.sum(pattern * resized))
   42    -1     return s
   -1    39 
   -1    40     k = len(TIMBRE_PATTERNS)
   -1    41     T = numpy.zeros((k, k))
   -1    42     s = numpy.zeros((k, 1))
   -1    43 
   -1    44     for i, pattern in enumerate(TIMBRE_PATTERNS):
   -1    45         s[i][0] = numpy.sum(TIMBRE_PATTERNS[i] * resized)
   -1    46         for j, pattern2 in enumerate(TIMBRE_PATTERNS):
   -1    47             T[i][j] = numpy.sum(pattern * pattern2)
   -1    48 
   -1    49     return numpy.linalg.inv(T) @ s
   43    50 
   44    51 
   45    52 def analyze(y, sample_rate, beat_frames, bins_per_octave=12, n_octaves=7):