# APS StepSeq 사용 설명서 (Live Input / MVP-2) 작성일: 2026-02-10 대상 버전: APS StepSeq (MVP-2, 실시간 입력 실험 단계) --- ## 1. 개요 APS StepSeq는 **드럼 패턴을 스텝 단위로 편집하는 APS의 핵심 도구**이다. 기본은 키보드 기반 편집이며, **외부 MIDI 패드/키보드를 이용한 실시간 입력은 보조 기능**으로 제공된다. ⚠️ 현재 StepSeq는 DAW 수준의 실시간 연주 녹음기를 목표로 하지 않는다. 연주 입력은 **패턴을 빠르게 구성하기 위한 보조 수단**이며, 정밀한 결과는 편집을 통해 완성하는 것을 전제로 한다. --- ## 2. 기본 조작 ### 2.1 커서 이동 * 방향키 ← → ↑ ↓ : 스텝 / 악기 이동 * 화면 페이지 이동은 자동 처리됨 ### 2.2 셀 편집 * **Enter** * 셀 ON / OFF 토글 * OFF → ON으로 켜질 때만 짧은 audition 소리 발생 * PLAY / REC 상태와 무관하게 항상 동작 --- ## 3. 재생 및 녹음 상태 ### 3.1 PLAY * **Space** : 재생 / 정지 * 재생 중 playhead가 자동 이동 * 기본 루프 범위는 **FULL 패턴** ### 3.2 REC (ARM) * **r** : REC ON / OFF * REC ON 상태에서 PLAY 시작 시: * 자동으로 **현재 BAR 루프**로 전환 * **1마디 카운트인(count-in)** 후 실제 녹음 시작 --- ## 4. 메트로놈 * **m** : 메트로놈 ON / OFF * 메트로놈은 MIDI OUT으로 클릭음을 출력 * 출력 포트가 없을 경우 메트로놈은 무음 --- ## 5. 실시간 MIDI 입력 개념 ### 5.1 입력 장치 감지 StepSeq 실행 시 MIDI 입력 포트를 검사하여 다음과 같이 동작한다. * MPK, Pad, Controller 등의 장치가 감지되면 → **외부 입력 장치 연결 상태(pad_present=True)** * MIDI 입력 장치가 없으면 → **키보드-only 모드** 이 판단은 MIDI 출력 포트 정책에 직접적인 영향을 준다. --- ## 6. MIDI 출력 포트 설정 (중요) ### 6.1 환경변수: APS_STEPSEQ_MIDI_OUT PowerShell 예시: ```powershell setx APS_STEPSEQ_MIDI_OUT "5- Mackie MIDI Out 2" ``` #### 의미 * StepSeq에서 **프리뷰, 재생, 메트로놈**에 사용할 MIDI 출력 포트를 명시적으로 지정 --- ### 6.2 출력 포트 동작 규칙 #### (A) 외부 패드/컨트롤러가 연결된 경우 * **Microsoft GS Wavetable Synth 자동 사용 금지** * `APS_STEPSEQ_MIDI_OUT`이 지정된 경우에만 출력 포트 사용 * 환경변수가 없으면: * 프리뷰 / 재생 / 메트로놈 모두 **무음** * 오류 없이 StepSeq는 정상 동작 > 목적: GS Wavetable의 지연 및 WinMM 오류로부터 StepSeq 보호 --- #### (B) 키보드-only 모드 (패드 없음) * `APS_STEPSEQ_MIDI_OUT`이 없으면: * **Microsoft GS Wavetable Synth 사용 허용** * 기존 키보드 기반 StepSeq 편집 경험을 유지하기 위한 설계 --- ## 7. 실시간 입력 동작 정책 (핵심) ### 7.1 PLAY 중 입력 모니터링 **중요한 설계 결정** > PLAY 중에는 입력 즉시 소리를 내지 않는다. 이유: * 입력 모니터링 소리 + 시퀀서 재생 소리가 겹치면 * **이중발음(double trigger)** 발생 * 타이밍 판단이 불가능해짐 따라서 다음과 같이 동작한다. | 상태 | 입력 즉시 소리 | | -------- | -------- | | PLAY OFF | 있음 | | PLAY ON | 없음 | 👉 PLAY 중에는 **시퀀서가 재생하는 소리만** 듣게 된다. --- ### 7.2 REC ON + PLAY 중 녹음 * 입력은 **현재 playhead 위치의 스텝**에 기록됨 * 같은 위치를 다시 타격해도: * 셀은 지워지지 않음 * velocity만 더 강해질 수 있음 (overdub) * 이는 Enter 키 토글 편집과 다른 동작이다 --- ## 8. ADT 슬롯 처리 정책 요약 * 입력된 note가 ADT 슬롯에 이미 존재하면 정상 기록 * ADT에 없는 note 입력 시: * 패턴 전체에서 **완전히 비어 있는 non-core 슬롯**이 있을 경우에만 * 해당 슬롯을 새 note로 재정의하여 기록 * 빈 슬롯이 없으면: * 기록 거부 * 상태 메시지: `NO EMPTY SLOT (NOTE xx)` * Core 슬롯(KK / SN / CH / OH)은 절대 교체되지 않음 --- ## 9. 현재 설계의 한계와 사용 의도 * 실시간 입력은 정밀한 그리드 녹음을 보장하지 않는다 * StepSeq는 다음 용도에 최적화되어 있다: * 리듬 아이디어를 빠르게 입력 * 러프한 패턴 구조 생성 * 정확한 타이밍 조정은: * 키보드 편집 * 이후 편집 단계에서 수행하는 것을 전제로 한다 --- ## 10. 요약 > StepSeq는 > **연주로 패턴을 완성하는 도구가 아니라, > 연주를 활용해 패턴을 만들기 쉽게 하는 도구이다.**