Lyric Sequence
시각이 붙은 가사를 읽어 들여, 지금의 행·다음 행·행 내의 진행도·전환 트리거로 펼치는 노드입니다. 렌더링은 하지 않으므로, Text Render나 Text Reveal로 흘려보내서 사용합니다.
본문은 노드의 여러 줄 입력란에 직접 적을 수 있고, 패치에 저장됩니다. Text 입력에 .lrc / .txt / .csv의 실제로 존재하는 파일 경로(줄바꿈을 포함하지 않는 한 줄)가 온 경우에는, 그 내용을 읽어 들여 본문을 교체합니다. 읽어 들일 수 없었을 때는 본문을 바꾸지 않고 경로 문자열 그대로 남습니다. 그 외의 문자열은 그대로 본문으로 취급됩니다.
받아들이는 본문의 형식
형식은 본문으로부터 자동으로 판별합니다. **시각이 붙은 행이 한 줄이라도 있으면 ‘시각 있음’**으로 취급되고, 한 줄도 없으면 시각을 갖지 않는 단순한 행 리스트가 됩니다.
시각 태그가 붙은 행(LRC)
행 앞머리의 [분:초.소수]를 시각으로 읽습니다. 분은 13자리, 초는 12자리, 소수부는 1~3자리로 생략 가능합니다(.으로도 :으로도 구분할 수 있습니다).
[00:12.00]最初の行
[00:18.50][01:24.50]サビ(同じ本文を2か所に登録)
- 시각 태그는 행 앞머리에 여러 개 나열할 수 있고, 그 개수만큼 같은 본문이 다른 시각에 등록됩니다
- 본문 안의
<00:12.00>같은 단어 단위 타임스탬프는 제거됩니다 [ar:...][ti:...]같은 메타데이터 행은 무시합니다. 단[offset:+500]은 밀리초로 읽으며, 양수 값이면 가사가 더 일찍 나옵니다(노드의 Offset s와는 별도로 가산됩니다)
시각과 본문의 2열(CSV / TSV)
시각,본문 형태입니다. 구분자는 콤마 또는 탭이고, 행 안에서 가장 먼저 나타난 하나만을 구분자로 봅니다(본문 안의 콤마는 그대로 남습니다).
12.5,秒で書いた行
1:02.5,分:秒で書いた行
0:01:30,時:分:秒でも書ける
시각은 초 그대로(12.5)도, 분:초 / 시:분:초(콜론 구분으로 최대 3개)로도 적을 수 있습니다. 본문 앞뒤의 공백은 제거되고, 양 끝을 "로 감싸고 있으면 그 인용부호도 벗겨집니다.
시각이 없는 행 리스트
시각이 붙은 행이 하나도 없는 본문은, 한 줄에 1항목인 리스트로 취급됩니다. 끝의 빈 줄만 떨어뜨리고, 중간의 빈 줄은 ‘쉼’으로 남습니다.
덧붙여 시각이 붙은 본문에 섞인 시각 없는 행은, 메타데이터로 취급되어 버려집니다. 시각이 붙은 행은 시각 순으로 정렬됩니다.
Time 구동과 트리거 구동
- Time 구동 — 본문에 시각이 있고, 또한
Time포트가 연결되어 있는 동안입니다. 매 프레임Time + Offset s + 본문의 offset을 보고, 그 시각 이하에서 마지막 행을 현재 행으로 합니다. 첫 행의 시각보다 앞에서는 행 없음 상태로,Line은 비어 있고Index는 -1입니다. 이 동안에는 Next / Back / Reset은 무시됩니다(매 프레임 시각이 이기기 때문) - 트리거 구동 — 그 외(시각이 없는 본문, 또는
Time미접속). Next로 다음 행, Back으로 이전 행, Reset으로 맨 앞으로. 맨 앞은 0번입니다 Time의 연결은 1개까지. 연결을 빼면 그 자리에서 트리거 구동으로 돌아가고, 행 없음 상태였던 경우에는 맨 앞으로 이동합니다- Offset s는 동기의 어긋남을 손으로 맞추는 보정입니다(초, 양수면 가사가 더 일찍 나옵니다). 적용되는 것은 Time 구동일 때뿐입니다
- Loop 토글(기본값 ON)은 트리거 구동의 Next / Back에만 적용됩니다. ON이면 끝에서 반대쪽 끝으로 감싸 돌고, OFF면 끝에서 멈춥니다
- 본문을 편집해도 현재 위치는 범위 내로 클램프되어 유지됩니다
노드의 작은 상태 행에는 구동 상태(Time / Trigger / 시각은 붙어 있지만 Time 미접속인 Trigger (timed))와 현재 위치·총 개수가, Time 구동일 때는 현재 행의 시각이 나옵니다. ◀ ▶ ⏮ 버튼은 Next / Back / Reset과 같은 조작입니다.
출력 보충 설명
- Line — 현재 행. 행 없음 상태에서는 빈 문자열
- NextLine — 한 칸 앞의 행(없으면 빈 문자열). 다음 가사를 흐릿하게 미리 보여 주는 표시에 사용할 수 있습니다
- Progress — 현재 행의 시작부터 다음 행의 시작까지의 0→1. Time 구동일 때만 움직이고, 마지막 행과 행 없음 상태, 트리거 구동에서는 항상 0입니다
- Changed — 행이 바뀐 순간(행 넘김, 또는 시각이 다음 행에 도달한 순간)에 발화. 본문의 교체나 파일 읽기, 구동 방식의 전환에서는 울리지 않습니다
- Index — 현재 행의 번호(0부터 시작. Time 구동에서 첫 행보다 앞은 -1)
- Total — 행 수
입력 포트
| Port ID | 타입 |
|---|---|
Text | string |
Time | float |
Next | trigger |
Back | trigger |
Reset | trigger |
출력 포트
| Port ID | 타입 |
|---|---|
Line | string |
NextLine | string |
Progress | float |
Changed | trigger |
Index | int |
Total | int |
스크립트에서 설정할 수 있는 멤버
| 경로 | 타입 |
|---|---|
textInput | string |
timeInput | float |
text | string |
currentOffset | float |
currentLoop | bool |
Synapse Apps (스크립팅)
await synapse.modules.create({ type: "LyricSequence" }) 



