multimodalart HF Staff commited on
Commit
7d8b7bc
·
verified ·
1 Parent(s): be9faa9

Upload app.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. app.py +5 -1
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() # onset(2)->continuation(1) on the next frame
 
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))