Spaces:
Running
Running
widmo jako <img> w gr.HTML (koniec placeholder-ikon gr.Plot); wynik audio/dl ukryte do rezultatu
Browse files
viz.py
CHANGED
|
@@ -1,5 +1,7 @@
|
|
| 1 |
"""Wykres widma (wierzchołki = góra pasma) w kolorystyce Lektor AI.
|
| 2 |
Tylko numpy/soundfile/matplotlib — bez gradio, żeby dał się testować lokalnie."""
|
|
|
|
|
|
|
| 3 |
import numpy as np
|
| 4 |
import soundfile as sf
|
| 5 |
import matplotlib
|
|
@@ -54,3 +56,14 @@ def spectrum_figure(items, title="Widmo — góra pasma (wierzchołki)", fmax=24
|
|
| 54 |
ax.legend(facecolor="#15151e", edgecolor=BORDER, fontsize=8, labelcolor=TXT, loc="upper right")
|
| 55 |
fig.tight_layout()
|
| 56 |
return fig
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
"""Wykres widma (wierzchołki = góra pasma) w kolorystyce Lektor AI.
|
| 2 |
Tylko numpy/soundfile/matplotlib — bez gradio, żeby dał się testować lokalnie."""
|
| 3 |
+
import io
|
| 4 |
+
import base64
|
| 5 |
import numpy as np
|
| 6 |
import soundfile as sf
|
| 7 |
import matplotlib
|
|
|
|
| 56 |
ax.legend(facecolor="#15151e", edgecolor=BORDER, fontsize=8, labelcolor=TXT, loc="upper right")
|
| 57 |
fig.tight_layout()
|
| 58 |
return fig
|
| 59 |
+
|
| 60 |
+
|
| 61 |
+
def spectrum_html(items, title="Widmo — góra pasma (wierzchołki)"):
|
| 62 |
+
"""Widmo jako <img> PNG (base64) do gr.HTML — pewny render, BEZ placeholdera/ikony."""
|
| 63 |
+
fig = spectrum_figure(items, title)
|
| 64 |
+
buf = io.BytesIO()
|
| 65 |
+
fig.savefig(buf, format="png", facecolor=BG, bbox_inches="tight", dpi=120)
|
| 66 |
+
plt.close(fig)
|
| 67 |
+
b64 = base64.b64encode(buf.getvalue()).decode("ascii")
|
| 68 |
+
return (f"<img alt='widmo' style='width:100%;display:block;border:1px solid {BORDER};"
|
| 69 |
+
f"border-radius:10px' src='data:image/png;base64,{b64}'>")
|