프로젝트 소개
rtrack는 Rust로 작성된 음악 트래커로, 동일한 헤드리스 코어 라이브러리를 공유하는 터미널 UI(ratatui)와 네이티브 데스크톱 GUI(egui)를 모두 제공합니다. 외부 신스, DAW, 또는 SoundFont 없이도 바로 소리를 낼 수 있습니다.
주요 기능은 다음과 같습니다:
- 내장 신시사이저: 30가지 패치(saw, square, FM bell, acid, chiptune 등)를 갖추고 있으며 ADSR 엔벨로프, SVF 필터, 서브 오실레이터, FM 합성, 채널별 이펙트(디스토션, 필터, 코러스, 딜레이, 리버브)를 제공합니다.
- 샘플 엔진: WAV/AIFF 로드, 피치 시프트 재생, 루프 포인트, 트랜지언트 기반 슬라이싱, 그리고 디클릭된 보이스 스틸링을 적용한 최대 32개의 동시 보이스를 지원합니다.
- MIDI 입출력: 가상 포트, 하드웨어 라우팅, 스텝 및 펀치-인 레코딩, 애프터터치-필터 매핑, CC 매핑을 위한 MIDI 학습, 클럭 출력/입력을 제공합니다.
- Ableton Link: 양방향 템포 및 트랜스포트 동기화.
- 클래식 트래커 스타일 패턴 편집: 모달 입력, 피아노 키보드 레이아웃, 블록 선택, 인터폴레이션, 트랜스포스, undo/redo, 그리고 12가지 이펙트 명령을 지원합니다.
- 곡 구조: 여러 패턴, 패턴별 행 수, 반복이 포함된 오더 리스트, 위치 점프, 패턴 브레이크 이펙트를 제공합니다.
- 오디오 장치 없이 WAV/FLAC으로 오프라인 렌더링 가능하며, 표준 MIDI 파일 가져오기/내보내기도 지원합니다.
- 옵션: General MIDI 지원을 위한 SoundFont(.sf2) 재생 지원.
이 프로젝트는 세 개의 크레이트로 구성된 Cargo 워크스페이스로 구조화되어 있습니다: rtrack-core(헤드리스 엔진, 오디오, MIDI, 데이터 모델), rtrack-tui(터미널 프론트엔드), rtrack-gui(데스크톱 프론트엔드). 곡은 JSON(.rtrk) 파일로 저장됩니다. Rust 1.89+ 및 CMake 3.14+가 필요합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.