Spaces:
Sleeping
Sleeping
Upload app.py with huggingface_hub
Browse files
app.py
CHANGED
|
@@ -95,6 +95,7 @@ async def set_collider(request: Request):
|
|
| 95 |
"reset": int(body.get("reset", 0)),
|
| 96 |
"seed": int(body.get("seed", 0)),
|
| 97 |
"bank_op": body.get("bank_op", prev.get("bank_op")),
|
|
|
|
| 98 |
})
|
| 99 |
return {"ok": True}
|
| 100 |
|
|
@@ -197,6 +198,7 @@ def stream(session_id: str) -> str:
|
|
| 197 |
prev_active = set(active)
|
| 198 |
cur_sig, last_enc = sig, time.time()
|
| 199 |
force_reenc = onsetmode and bool(onsets)
|
|
|
|
| 200 |
# ---- style tokens on GPU: embed (text+audio), weight-blend, tokenize ----
|
| 201 |
emb = torch.zeros(style_model.embedding_dim, device=dev, dtype=torch.float32)
|
| 202 |
tot = float(sum(w for w in weights if w > 0)) or 1.0
|
|
@@ -223,7 +225,8 @@ def stream(session_id: str) -> str:
|
|
| 223 |
if e is None:
|
| 224 |
e = style_model.embed(lbl).float(); txt_cache[lbl] = e
|
| 225 |
emb = emb + (w / tot) * e
|
| 226 |
-
tokens = style_model.tokenize(emb).tolist()
|
|
|
|
| 227 |
nvec = [] # per-pitch: -1 masked / 0 off / 1 cont / 2 onset / 3 on
|
| 228 |
for pitch in range(128):
|
| 229 |
if pitch in active:
|
|
@@ -239,6 +242,7 @@ def stream(session_id: str) -> str:
|
|
| 239 |
cond = model._conditioning((list(tokens) + [-1] * model.num_musiccoca)[:model.num_musiccoca],
|
| 240 |
nvec, drm, cfgs)
|
| 241 |
source = model.model.encode(cond).to(dt)
|
|
|
|
| 242 |
sampler = make_sampler(c.get("temperature", 1.1), c.get("top_k", 50), gen)
|
| 243 |
toks.append(model.model.decoder.step_f(dstate, source, sampler=sampler,
|
| 244 |
temporal_step=model._temporal_step, depth_step=model._depth_step))
|
|
|
|
| 95 |
"reset": int(body.get("reset", 0)),
|
| 96 |
"seed": int(body.get("seed", 0)),
|
| 97 |
"bank_op": body.get("bank_op", prev.get("bank_op")),
|
| 98 |
+
"ts": time.time(),
|
| 99 |
})
|
| 100 |
return {"ok": True}
|
| 101 |
|
|
|
|
| 198 |
prev_active = set(active)
|
| 199 |
cur_sig, last_enc = sig, time.time()
|
| 200 |
force_reenc = onsetmode and bool(onsets)
|
| 201 |
+
_lt0 = time.time()
|
| 202 |
# ---- style tokens on GPU: embed (text+audio), weight-blend, tokenize ----
|
| 203 |
emb = torch.zeros(style_model.embedding_dim, device=dev, dtype=torch.float32)
|
| 204 |
tot = float(sum(w for w in weights if w > 0)) or 1.0
|
|
|
|
| 225 |
if e is None:
|
| 226 |
e = style_model.embed(lbl).float(); txt_cache[lbl] = e
|
| 227 |
emb = emb + (w / tot) * e
|
| 228 |
+
tokens = style_model.tokenize(emb).tolist()
|
| 229 |
+
_lt1 = time.time()
|
| 230 |
nvec = [] # per-pitch: -1 masked / 0 off / 1 cont / 2 onset / 3 on
|
| 231 |
for pitch in range(128):
|
| 232 |
if pitch in active:
|
|
|
|
| 242 |
cond = model._conditioning((list(tokens) + [-1] * model.num_musiccoca)[:model.num_musiccoca],
|
| 243 |
nvec, drm, cfgs)
|
| 244 |
source = model.model.encode(cond).to(dt)
|
| 245 |
+
print(f"[lat] pickup={(_lt0-float(c.get('ts',_lt0)))*1000:.0f}ms style+tok={(_lt1-_lt0)*1000:.0f}ms encode={(time.time()-_lt1)*1000:.0f}ms", flush=True)
|
| 246 |
sampler = make_sampler(c.get("temperature", 1.1), c.get("top_k", 50), gen)
|
| 247 |
toks.append(model.model.decoder.step_f(dstate, source, sampler=sampler,
|
| 248 |
temporal_step=model._temporal_step, depth_step=model._depth_step))
|