Integra KISUM (audio→Strudel) + pestaña Visor + accesos en la cabecera
- Pestaña KISUM: sube audio/vídeo y lo convierte en código Strudel vía un mini-servidor Python local (kisum/, puerto 3010) que arranca el lanzador. - Pestaña Visor: piano-roll (pentagrama) + osciloscopio + espectro en vivo de lo que suena, sin escribir .pianoroll()/.scope(). - Botones en la cabecera: projects, KISUM, visor, ajustes. - KISUM empaquetado en kisum/ (código, sin venv) + install.sh de un comando y lanzador portable (sin rutas absolutas). - .gitignore excluye venv/cachés/logs de KISUM. Docs en README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
970b89b08c
commit
7ace286d8a
13 changed files with 1052 additions and 13 deletions
63
README.md
63
README.md
|
|
@ -18,30 +18,41 @@ pinchar en directo. Misma licencia que upstream: AGPL-3.0 (ver `LICENSE`).
|
|||
scheduler). Al cargar un track el loop arranca desde cero; editar y
|
||||
actualizar en vivo no reinicia nada.
|
||||
- Pestaña Guía: chuleta de síntesis y sonidos.
|
||||
- Pestaña **KISUM** (*musik al revés*): sube un audio o vídeo y te lo devuelve
|
||||
como código Strudel (tempo + batería por bandas). Lo procesa un mini-servidor
|
||||
Python local (`kisum/`) que arranca solo con el lanzador. Ver más abajo.
|
||||
- Pestaña **Visor**: pentagrama (piano-roll), onda (osciloscopio) y espectro
|
||||
**en vivo** de lo que suena, sin tener que escribir `.pianoroll()` ni
|
||||
`.scope()` en el código.
|
||||
- Accesos directos en la cabecera: `projects`, `KISUM`, `visor`, `ajustes`.
|
||||
- Packs de temas del editor: neon-madrid y hacklab-pack.
|
||||
- Lanzador de escritorio: `strudel-launcher.sh`.
|
||||
|
||||
## Instalación (Linux)
|
||||
|
||||
Requisitos: `git`, `node` >= 20 y `pnpm` (`corepack enable`).
|
||||
Requisitos: `git`, `node` >= 20, `pnpm` (`corepack enable`) y, para KISUM,
|
||||
`python3` + `ffmpeg`.
|
||||
|
||||
**Fácil (un comando):**
|
||||
|
||||
```bash
|
||||
git clone https://gitea.laenre.net/hacklab/strudel.git
|
||||
cd strudel
|
||||
./install.sh # instala Node deps + build + entorno de KISUM
|
||||
./strudel-launcher.sh # http://127.0.0.1:3009 (+ KISUM en 3010) y abre el navegador
|
||||
```
|
||||
|
||||
El `install.sh` no descarga los paquetes al repo: usa `pnpm` (Node) y un
|
||||
`venv` de Python para KISUM. Todo eso queda en `.gitignore`.
|
||||
|
||||
**Manual / desarrollo:**
|
||||
|
||||
```bash
|
||||
pnpm i
|
||||
```
|
||||
|
||||
Desarrollo (recarga en vivo):
|
||||
|
||||
```bash
|
||||
pnpm dev # http://localhost:4321
|
||||
```
|
||||
|
||||
Uso diario (build estática + lanzador):
|
||||
|
||||
```bash
|
||||
pnpm dev # recarga en vivo, http://localhost:4321
|
||||
# o, para el uso diario (build estática + lanzador):
|
||||
pnpm build
|
||||
./strudel-launcher.sh # sirve http://127.0.0.1:3009 y abre el navegador
|
||||
./strudel-launcher.sh
|
||||
```
|
||||
|
||||
Icono de escritorio: `~/.local/share/applications/strudel.desktop`
|
||||
|
|
@ -65,6 +76,32 @@ personal crea un módulo con el mismo formato `{name, folder, code}` y
|
|||
concaténalo en `DEFAULT_PROJECTS` (los packs personales están en
|
||||
`.gitignore`). También se pueden crear proyectos desde la propia pestaña.
|
||||
|
||||
## KISUM (audio → código Strudel)
|
||||
|
||||
KISUM escucha una canción (audio **o vídeo**: mp3, wav, flac, m4a, mp4, mkv…),
|
||||
detecta el tempo y los golpes por bandas (bombo/caja/hats) y lo devuelve como
|
||||
código Strudel listo para pegar. Vive en la carpeta `kisum/` (Python + librosa)
|
||||
y se usa de dos formas:
|
||||
|
||||
- **Desde Strudel**: pestaña *KISUM* → arrastra el archivo → *Analizar* →
|
||||
*Cargar en editor*. El mini-servidor (`kisum/kisum_server.py`, en
|
||||
`127.0.0.1:3010`) lo arranca solo `strudel-launcher.sh`.
|
||||
- **Desde la terminal**:
|
||||
|
||||
```bash
|
||||
cd kisum
|
||||
./kisum tu_cancion.mp3 # imprime el código Strudel
|
||||
./kisum clip.mp4 --bars 8 --bass # vídeo, 8 compases, con línea de bajo
|
||||
```
|
||||
|
||||
Requiere `python3` y `ffmpeg`. Si `./install.sh` no lo dejó listo (o quieres
|
||||
reinstalarlo): `./kisum/install.sh`. Detalles y limitaciones en
|
||||
[`kisum/README.md`](./kisum/README.md).
|
||||
|
||||
> Nota: la transcripción de la v0 analiza la mezcla completa (aún no separa
|
||||
> instrumentos), así que en temas muy densos el patrón sale cargado. La
|
||||
> separación por stems (demucs) está en la hoja de ruta.
|
||||
|
||||
## Actualizar desde upstream
|
||||
|
||||
```bash
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue