Commit
·
15a3b0b
1
Parent(s):
a39bbc9
basic websockets route added
Browse files- jam_worker.py +10 -3
jam_worker.py
CHANGED
|
@@ -103,7 +103,10 @@ class JamWorker(threading.Thread):
|
|
| 103 |
self._model_sr = int(self.mrt.sample_rate)
|
| 104 |
|
| 105 |
# target-SR in-RAM spool (what we cut loops from)
|
| 106 |
-
|
|
|
|
|
|
|
|
|
|
| 107 |
self._spool = np.zeros((0, 2), dtype=np.float32) # (S,2) target SR
|
| 108 |
self._spool_written = 0 # absolute frames written into spool
|
| 109 |
|
|
@@ -425,7 +428,9 @@ class JamWorker(threading.Thread):
|
|
| 425 |
new_part = s[xfade_n:] if xfade_n < s.shape[0] else s[:0]
|
| 426 |
self._model_stream = new_part.copy()
|
| 427 |
if new_part.size:
|
| 428 |
-
y =
|
|
|
|
|
|
|
| 429 |
self._spool = np.concatenate([self._spool, y], axis=0)
|
| 430 |
self._spool_written += y.shape[0]
|
| 431 |
return
|
|
@@ -444,7 +449,9 @@ class JamWorker(threading.Thread):
|
|
| 444 |
|
| 445 |
# spool only the *new* non-overlapped part
|
| 446 |
if new_part.size:
|
| 447 |
-
y =
|
|
|
|
|
|
|
| 448 |
if y.size:
|
| 449 |
self._spool = np.concatenate([self._spool, y], axis=0)
|
| 450 |
self._spool_written += y.shape[0]
|
|
|
|
| 103 |
self._model_sr = int(self.mrt.sample_rate)
|
| 104 |
|
| 105 |
# target-SR in-RAM spool (what we cut loops from)
|
| 106 |
+
if int(self.params.target_sr) != int(self._model_sr):
|
| 107 |
+
self._rs = StreamingResampler(self._model_sr, int(self.params.target_sr), channels=2)
|
| 108 |
+
else:
|
| 109 |
+
self._rs = None
|
| 110 |
self._spool = np.zeros((0, 2), dtype=np.float32) # (S,2) target SR
|
| 111 |
self._spool_written = 0 # absolute frames written into spool
|
| 112 |
|
|
|
|
| 428 |
new_part = s[xfade_n:] if xfade_n < s.shape[0] else s[:0]
|
| 429 |
self._model_stream = new_part.copy()
|
| 430 |
if new_part.size:
|
| 431 |
+
y = (new_part.astype(np.float32, copy=False)
|
| 432 |
+
if self._rs is None else
|
| 433 |
+
self._rs.process(new_part.astype(np.float32, copy=False), final=False))
|
| 434 |
self._spool = np.concatenate([self._spool, y], axis=0)
|
| 435 |
self._spool_written += y.shape[0]
|
| 436 |
return
|
|
|
|
| 449 |
|
| 450 |
# spool only the *new* non-overlapped part
|
| 451 |
if new_part.size:
|
| 452 |
+
y = (new_part.astype(np.float32, copy=False)
|
| 453 |
+
if self._rs is None else
|
| 454 |
+
self._rs.process(new_part.astype(np.float32, copy=False), final=False))
|
| 455 |
if y.size:
|
| 456 |
self._spool = np.concatenate([self._spool, y], axis=0)
|
| 457 |
self._spool_written += y.shape[0]
|