프로젝트 소개

Strasbeat은 Strudel(JavaScript로 포팅된 TidalCycles) 위에 구축된 브라우저 기반 라이브 코딩 환경입니다. 전체 기능을 갖춘 IDE 수준의 편집기에 Strudel을 감싸서 패턴 생성, 편집, 버전 관리가 VSCode에서의 개발처럼 느껴집니다. 핵심 편집기는 소리, 화음, 음계, Strudel 함수, 미니 표기 토큰에 대한 자동 완성을 제공하는 CodeMirror 6, JSDoc에서 가져온 호버 문서, 시그니처 힌트, Strudel 트랜스파일러를 위한 따옴표 복원이 포함된 Prettier 포맷팅, 그리고 숫자 리터럴을 실시간으로 조정할 수 있는 Figma 스타일 숫자 스크러버를 포함합니다. 사용자 정의 Canvas2D 피아노 롤은 레이어별 색상, 비트/사이클 그리드 라인, 활성 행 라벨을 렌더링합니다. 하드웨어 MIDI 브리지는 프리셋 사운드를 통해 superdough로 라이브 재생을 지원하며, 재생된 구절을 실제 Strudel 패턴으로 저장하는 캡처‑투‑파일 흐름을 제공합니다. 48 kHz 16-bit 스테레오 오프라인 WAV 내보내기는 상위 오디오 그래프 문제를 우회하여 작동합니다. 패턴은 디스크에 저장된 일반 JavaScript 파일이며, 브라우저 또는 외부 IDE에서 편집 가능하고 Vite HMR을 통해 동기화됩니다. `progression()` 헬퍼(및 기타 런타임 확장)는 eval 스코프에 주입되어 보이싱 딕셔너리, 리듬 프리셋, 로마 숫자 입력, 선택적 베이스 레이어를 사용한 한 줄 코드 진행을 가능하게 합니다. UI에는 검색, 전송 컨트롤, 앱 내 모달, 지속적인 액센트 색상이 있는 설정 서랍이 포함된 패턴 라이브러리가 포함됩니다. 내장 콘솔 헬퍼는 사운드 탐색과 오프라인 렌더 probing을 돕습니다. 이 프로젝트는 Strudel과 동일한 라이선스를 상속받는 AGPL-3.0 라이선스로 배포됩니다.