Strudel (live coding de música) — fork del hacklab: interfaz multiidioma, pestaña de proyectos, transporte con seek, guía de sonidos y lanzador de escritorio. Upstream: codeberg.org/uzu/strudel
El README que renderiza Gitea es ahora el del hacklab (que anade el fork, instalacion, samples, algorave y demas enlaces). El original de Strudel queda intacto en README-upstream.md. |
||
|---|---|---|
| .astro | ||
| .forgejo | ||
| .vscode | ||
| bench | ||
| docs | ||
| examples | ||
| jsdoc | ||
| my-patterns | ||
| packages | ||
| samples | ||
| src-tauri | ||
| test | ||
| tools/dbpatch | ||
| website | ||
| .dockerignore | ||
| .eslintrc.json | ||
| .gitignore | ||
| .nvmrc | ||
| .prettierignore | ||
| .prettierrc | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| index.mjs | ||
| lerna-debug.log | ||
| lerna.json | ||
| LICENSE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README-HACKLAB.md | ||
| README-upstream.md | ||
| README.md | ||
| strudel-launcher.sh | ||
| undocumented.json | ||
| vitest.config.mjs | ||
| vitest.setup.mjs | ||
| warm.js | ||
Strudel · fork del hacklab
Fork de Strudel (live coding de música en
el navegador, port de TidalCycles a JavaScript) con mejoras de usabilidad para
pinchar en directo. Misma licencia que upstream: AGPL-3.0 (ver LICENSE).
Qué añade
- Interfaz multiidioma (castellano, inglés, francés, alemán, italiano, portugués y más). Selector en el header.
- Pestaña Projects: proyectos locales con carpetas, buscador y una librería de tracks de fábrica para empezar a pinchar.
- Barra de transporte bajo el editor: anterior / play-pausa / siguiente, tiempo y barra de progreso arrastrable (seek real sobre el reloj del 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.
- 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).
git clone https://gitea.laenre.net/hacklab/strudel.git
cd strudel
pnpm i
Desarrollo (recarga en vivo):
pnpm dev # http://localhost:4321
Uso diario (build estática + lanzador):
pnpm build
./strudel-launcher.sh # sirve http://127.0.0.1:3009 y abre el navegador
Icono de escritorio: ~/.local/share/applications/strudel.desktop
[Desktop Entry]
Type=Application
Name=Strudel
Comment=Live coding de musica
Exec=/ruta/a/strudel/strudel-launcher.sh
Icon=audio-x-generic
Terminal=false
Categories=AudioVideo;Audio;
Packs de proyectos propios
La librería de fábrica está en
website/src/repl/components/panel/default-projects.mjs. Para un pack
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.
Actualizar desde upstream
git fetch upstream
git merge upstream/main
Enlaces
- Strudel (upstream): https://codeberg.org/uzu/strudel — su README original: README-upstream.md
- Documentación / tutorial: https://strudel.cc/learn
- TidalCycles, el original en Haskell: https://tidalcycles.org
- Algorave, la escena: https://algorave.com
- Samples para empezar a jugar:
- Dirt-Samples (la librería clásica de Tidal): https://github.com/tidalcycles/Dirt-Samples
- tidal-drum-machines (Roland TR-808/909 y muchas más): https://github.com/ritchse/tidal-drum-machines
- Para ver de qué va esto en directo: https://www.youtube.com/watch?v=iu5rnQkfO6M